Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp1459119rwr; Fri, 5 May 2023 14:40:34 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ53dFRu2NQvIcvbFlltXxarFj4sNaZ0kKIXmLsN55ChBQefJXNxX/9q9pTxHZzDk8uqJWmW X-Received: by 2002:a17:90a:ff09:b0:247:c85:21f5 with SMTP id ce9-20020a17090aff0900b002470c8521f5mr8400765pjb.19.1683322834168; Fri, 05 May 2023 14:40:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683322834; cv=none; d=google.com; s=arc-20160816; b=juq7z4lq5kTjkYEA8PP3nmiWVAAsPhAh3fUeCElJKEEY+U153Ti1XCGqkD4k6eSItH 9dDNac9In0s1Nxc11nvrqIOPHJPtAIGFEyrAWq/3lW4Q8UtFRsKwvKO2i/9rD2AKJyj4 1kTayCEeDYiJb3IiMy/Yd1/BWm94StijPVNEuKkK2uAL+o3lShRivX8SpeRCrAYcXjbE kXEzYmEIkqPZXi2Rur3d5cJ2PrOQW0ytFfWnJqqEW2aOto+bIJYPeRkmf4hLKI7NPY4z S2MgYAo96nIZkR1oPDUfJ3mIOlmjli/JEt+R3NwbIJPue6S057fA0B2nAA5mUC/f5NY6 p5Xg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=HFeDUyo6AKuXS79TAn9Cc44Tads4aooewVV9T4r6M0g=; b=YWoXCuPLD8eowD6FEOotdJ4BfjJT0t8xcuCQV7GAkc3BgAugeWo4opsucFEYcbR23B qhee9zf4KU6PqZz9nv+IJC84tiXBzIWsj8+TqThmeKTxvRpLeqNg4dH6gQn8vjQOg+k3 UUjSGKlj5yzos8XEpD+OCrxHz4ALL5aWJDh1LU3q6FvUujAEHqIbfoX2RxilVzSxmqcI 3cLB0NBwPvBxCogUKIpDbYWhuaCTeLYFY2/pFMtsWoY8v4epClLsK+wM3tsJREVO+1Kk v8gGB7mR2s5tABtCW2dDL35kMaY7HVNWPkgtE//xp3VEHWPzyxoXM+xT6ti5njL7V98F Cmeg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id n7-20020a6543c7000000b004fbd7827010si2856760pgp.263.2023.05.05.14.40.19; Fri, 05 May 2023 14:40:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233487AbjEEV37 (ORCPT + 99 others); Fri, 5 May 2023 17:29:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33912 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233557AbjEEV3w (ORCPT ); Fri, 5 May 2023 17:29:52 -0400 Received: from mail-oa1-f49.google.com (mail-oa1-f49.google.com [209.85.160.49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8E7A5DF; Fri, 5 May 2023 14:29:51 -0700 (PDT) Received: by mail-oa1-f49.google.com with SMTP id 586e51a60fabf-18f4a6d2822so20160837fac.1; Fri, 05 May 2023 14:29:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683322191; x=1685914191; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=HFeDUyo6AKuXS79TAn9Cc44Tads4aooewVV9T4r6M0g=; b=dZyPWFywv32sonGj/fAdNDXMxS3ceDkBqPG/W0Pn1QkowDFTfjqIAYxwrdT7qTCnPr Qakn+Ecegs2igeWnW+cDw79ATc4oE8y0X7hu7yHsC61qY/rKvZ+wV2KYlxZyQX5+HBbn TcmVG++8ZNJpWc7ax5uuhImvQBsnF1cLlakouWT3cYvivMqCBI3ygl7yH2iZhPsDRlLd 0kHm3BA6Xe7eLXdx8mMAe5B0SvVA4h9VwvxF3vrVXpsoTBpN9MGXlNYZJyHj8V3HKd7t sxhvE3FIc8odS8kaM2dJ7HJbk2fc0DxvHlBOdhry/MouBaQk76v4F3v12ACsjLAVE9fQ W6Ng== X-Gm-Message-State: AC+VfDyoYDaG+6BRq28RdVCtJVEDwVeSWfJSgxReBnkioPTldAhajKJC vFXxveDooSB+tGPGhfW9zw== X-Received: by 2002:a05:6871:7a4:b0:192:6fdd:6e36 with SMTP id o36-20020a05687107a400b001926fdd6e36mr3229320oap.17.1683322190696; Fri, 05 May 2023 14:29:50 -0700 (PDT) Received: from robh_at_kernel.org (66-90-144-107.dyn.grandenetworks.net. [66.90.144.107]) by smtp.gmail.com with ESMTPSA id t1-20020a9d7f81000000b006a62aac5736sm1369180otp.28.2023.05.05.14.29.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 May 2023 14:29:49 -0700 (PDT) Received: (nullmailer pid 3595549 invoked by uid 1000); Fri, 05 May 2023 21:29:48 -0000 Date: Fri, 5 May 2023 16:29:48 -0500 From: Rob Herring To: Judith Mendez Cc: Chandrasekar Ramakrishnan , Wolfgang Grandegger , Marc Kleine-Budde , Krzysztof Kozlowski , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-can@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Schuyler Patton , Nishanth Menon , Vignesh Raghavendra , Tero Kristo , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, Oliver Hartkopp , Simon Horman Subject: Re: [PATCH v4 1/4] dt-bindings: net: can: Add poll-interval for MCAN Message-ID: <20230505212948.GA3590042-robh@kernel.org> References: <20230501224624.13866-1-jm@ti.com> <20230501224624.13866-2-jm@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230501224624.13866-2-jm@ti.com> X-Spam-Status: No, score=-1.2 required=5.0 tests=BAYES_00, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, May 01, 2023 at 05:46:21PM -0500, Judith Mendez wrote: > On AM62x SoC, MCANs on MCU domain do not have hardware interrupt > routed to A53 Linux, instead they will use software interrupt by > hrtimer. To enable timer method, interrupts should be optional so > remove interrupts property from required section and introduce > poll-interval property. > > Signed-off-by: Judith Mendez > --- > Changelog: > v3: > 1. Move binding patch to first in series > 2. Update description for poll-interval > 3. Add oneOf to specify using interrupts/interrupt-names or poll-interval > 4. Fix example property: add comment below 'example' > > v2: > 1. Add poll-interval property to enable timer polling method > 2. Add example using poll-interval property > > .../bindings/net/can/bosch,m_can.yaml | 36 +++++++++++++++++-- > 1 file changed, 34 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml b/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml > index 67879aab623b..c024ee49962c 100644 > --- a/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml > +++ b/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml > @@ -14,6 +14,13 @@ maintainers: > allOf: > - $ref: can-controller.yaml# > > +oneOf: > + - required: > + - interrupts > + - interrupt-names > + - required: > + - poll-interval Move this next to 'required'. > + > properties: > compatible: > const: bosch,m_can > @@ -40,6 +47,14 @@ properties: > - const: int1 > minItems: 1 > > + poll-interval: > + $ref: /schemas/types.yaml#/definitions/flag This is a common property already defined as a uint32. You shouldn't define a new type. A flag doesn't even make sense. If that's all you need, then just enable polling if no interrupt is present. > + description: Enable hrtimer polling method for an M_CAN device. > + If this property is defined in MCAN node, it tells the driver to > + enable polling method for an MCAN device. If for an MCAN device, > + hardware interrupt is found and hrtimer polling method is enabled, What's hrtimer? (Don't put Linuxisms in bindings) > + the driver will use hardware interrupt method. > + > clocks: > items: > - description: peripheral clock > @@ -122,8 +137,6 @@ required: > - compatible > - reg > - reg-names > - - interrupts > - - interrupt-names > - clocks > - clock-names > - bosch,mram-cfg > @@ -132,6 +145,7 @@ additionalProperties: false > > examples: > - | > + // Example with interrupts > #include > can@20e8000 { > compatible = "bosch,m_can"; > @@ -149,4 +163,22 @@ examples: > }; > }; > > + - | > + // Example with timer polling > + #include > + can@20e8000 { > + compatible = "bosch,m_can"; > + reg = <0x020e8000 0x4000>, <0x02298000 0x4000>; > + reg-names = "m_can", "message_ram"; > + poll-interval; > + clocks = <&clks IMX6SX_CLK_CANFD>, > + <&clks IMX6SX_CLK_CANFD>; > + clock-names = "hclk", "cclk"; > + bosch,mram-cfg = <0x0 0 0 32 0 0 0 1>; > + > + can-transceiver { > + max-bitrate = <5000000>; > + }; > + }; > + > ... > -- > 2.17.1 >