All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Judith Mendez <jm@ti.com>
Cc: Chandrasekar Ramakrishnan <rcsekar@samsung.com>,
	Wolfgang Grandegger <wg@grandegger.com>,
	Marc Kleine-Budde <mkl@pengutronix.de>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	"David S . Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	linux-can@vger.kernel.org, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, Schuyler Patton <spatton@ti.com>,
	Nishanth Menon <nm@ti.com>, Vignesh Raghavendra <vigneshr@ti.com>,
	Tero Kristo <kristo@kernel.org>,
	linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
	Oliver Hartkopp <socketcan@hartkopp.net>,
	Simon Horman <simon.horman@corigine.com>
Subject: Re: [PATCH v4 1/4] dt-bindings: net: can: Add poll-interval for MCAN
Date: Fri, 5 May 2023 16:29:48 -0500	[thread overview]
Message-ID: <20230505212948.GA3590042-robh@kernel.org> (raw)
In-Reply-To: <20230501224624.13866-2-jm@ti.com>

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 <jm@ti.com>
> ---
> 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 <dt-bindings/clock/imx6sx-clock.h>
>      can@20e8000 {
>        compatible = "bosch,m_can";
> @@ -149,4 +163,22 @@ examples:
>        };
>      };
>  
> +  - |
> +    // Example with timer polling
> +    #include <dt-bindings/clock/imx6sx-clock.h>
> +    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
> 

WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Judith Mendez <jm@ti.com>
Cc: Chandrasekar Ramakrishnan <rcsekar@samsung.com>,
	Wolfgang Grandegger <wg@grandegger.com>,
	Marc Kleine-Budde <mkl@pengutronix.de>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	"David S . Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	linux-can@vger.kernel.org, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, Schuyler Patton <spatton@ti.com>,
	Nishanth Menon <nm@ti.com>, Vignesh Raghavendra <vigneshr@ti.com>,
	Tero Kristo <kristo@kernel.org>,
	linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
	Oliver Hartkopp <socketcan@hartkopp.net>,
	Simon Horman <simon.horman@corigine.com>
Subject: Re: [PATCH v4 1/4] dt-bindings: net: can: Add poll-interval for MCAN
Date: Fri, 5 May 2023 16:29:48 -0500	[thread overview]
Message-ID: <20230505212948.GA3590042-robh@kernel.org> (raw)
In-Reply-To: <20230501224624.13866-2-jm@ti.com>

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 <jm@ti.com>
> ---
> 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 <dt-bindings/clock/imx6sx-clock.h>
>      can@20e8000 {
>        compatible = "bosch,m_can";
> @@ -149,4 +163,22 @@ examples:
>        };
>      };
>  
> +  - |
> +    // Example with timer polling
> +    #include <dt-bindings/clock/imx6sx-clock.h>
> +    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
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2023-05-05 21:29 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-01 22:46 [PATCH v4 0/4] Enable multiple MCAN on AM62x Judith Mendez
2023-05-01 22:46 ` Judith Mendez
2023-05-01 22:46 ` [PATCH v4 1/4] dt-bindings: net: can: Add poll-interval for MCAN Judith Mendez
2023-05-01 22:46   ` Judith Mendez
2023-05-05 21:29   ` Rob Herring [this message]
2023-05-05 21:29     ` Rob Herring
2023-05-09 12:27     ` Marc Kleine-Budde
2023-05-09 17:02       ` Judith Mendez
2023-05-01 22:46 ` [PATCH v4 2/4] can: m_can: Add hrtimer to generate software interrupt Judith Mendez
2023-05-01 22:46   ` Judith Mendez
2023-05-02  6:37   ` Marc Kleine-Budde
2023-05-02  6:37     ` Marc Kleine-Budde
2023-05-02 18:09     ` Judith Mendez
2023-05-02 18:09       ` Judith Mendez
2023-05-09 22:18     ` Judith Mendez
2023-05-10  7:21       ` Marc Kleine-Budde
2023-05-10 14:23         ` Judith Mendez
2023-05-01 22:46 ` [PATCH v4 3/4] DO_NOT_MERGE arm64: dts: ti: Add AM62x MCAN MAIN domain transceiver overlay Judith Mendez
2023-05-01 22:46   ` Judith Mendez
2023-05-02  0:18   ` Nishanth Menon
2023-05-02  0:18     ` Nishanth Menon
2023-05-01 22:46 ` [PATCH v4 4/4] DO_NOT_MERGE arm64: dts: ti: Enable MCU MCANs for AM62x Judith Mendez
2023-05-01 22:46   ` Judith Mendez
2023-05-02  6:52 ` [PATCH v4 0/4] Enable multiple MCAN on AM62x Krzysztof Kozlowski
2023-05-02  6:52   ` Krzysztof Kozlowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230505212948.GA3590042-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=jm@ti.com \
    --cc=kristo@kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=kuba@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-can@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mkl@pengutronix.de \
    --cc=netdev@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=pabeni@redhat.com \
    --cc=rcsekar@samsung.com \
    --cc=simon.horman@corigine.com \
    --cc=socketcan@hartkopp.net \
    --cc=spatton@ti.com \
    --cc=vigneshr@ti.com \
    --cc=wg@grandegger.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.