[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230425123209.g3jocqvnnpkv4jk5@stingy>
Date: Tue, 25 Apr 2023 07:32:09 -0500
From: Nishanth Menon <nm@...com>
To: Judith Mendez <jm@...com>
CC: Chandrasekar Ramakrishnan <rcsekar@...sung.com>,
Wolfgang Grandegger <wg@...ndegger.com>,
Marc Kleine-Budde <mkl@...gutronix.de>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
"David S . Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, <linux-can@...r.kernel.org>,
<netdev@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
Schuyler Patton <spatton@...com>,
Vignesh Raghavendra <vigneshr@...com>,
Tero Kristo <kristo@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<devicetree@...r.kernel.org>,
Oliver Hartkopp <socketcan@...tkopp.net>
Subject: Re: [PATCH v2 2/4] dt-bindings: net: can: Add poll-interval for MCAN
On 14:54-20230424, 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@...com>
> ---
> Changelog:
> 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 | 26 ++++++++++++++++---
> 1 file changed, 23 insertions(+), 3 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..1c64c7a0c3df 100644
> --- a/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
> +++ b/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
> @@ -40,6 +40,10 @@ properties:
> - const: int1
> minItems: 1
>
> + poll-interval:
> + $ref: /schemas/types.yaml#/definitions/flag
> + description: Poll interval time in milliseconds.
> +
> clocks:
> items:
> - description: peripheral clock
> @@ -122,15 +126,13 @@ required:
> - compatible
> - reg
> - reg-names
> - - interrupts
> - - interrupt-names
> - clocks
> - clock-names
> - bosch,mram-cfg
>
> additionalProperties: false
>
> -examples:
> +example with interrupts:
> - |
> #include <dt-bindings/clock/imx6sx-clock.h>
> can@...8000 {
> @@ -149,4 +151,22 @@ examples:
> };
> };
>
> +example with timer polling:
did you run dt_binding_check?
make -j`nproc` ARCH=arm64 LLVM=1 dt_binding_check DT_CHECKER_FLAGS=-m DT_SCHEMA_FILES=Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
tells me:
LINT Documentation/devicetree/bindings
DTEX Documentation/devicetree/bindings/net/can/bosch,m_can.example.dts
CHKDT Documentation/devicetree/bindings/processed-schema.json
/workdir/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml: 'example with interrupts' is not one of ['$id', '$schema', 'title', 'description', 'examples', 'required', 'allOf', 'anyOf', 'oneOf', 'definitions', '$defs', 'additionalProperties', 'dependencies', 'dependentRequired', 'dependentSchemas', 'patternProperties', 'properties', 'not', 'if', 'then', 'else', 'unevaluatedProperties', 'deprecated', 'maintainers', 'select', '$ref']
from schema $id: http://devicetree.org/meta-schemas/base.yaml#
/workdir/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml: 'example with timer polling' is not one of ['$id', '$schema', 'title', 'description', 'examples', 'required', 'allOf', 'anyOf', 'oneOf', 'definitions', '$defs', 'additionalProperties', 'dependencies', 'dependentRequired', 'dependentSchemas', 'patternProperties', 'properties', 'not', 'if', 'then', 'else', 'unevaluatedProperties', 'deprecated', 'maintainers', 'select', '$ref']
from schema $id: http://devicetree.org/meta-schemas/base.yaml#
> + - |
> + #include <dt-bindings/clock/imx6sx-clock.h>
> + can@...8000 {
> + 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
>
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D
Powered by blists - more mailing lists