All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: Christophe ROULLIER <christophe.roullier@foss.st.com>,
	"David S . Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Maxime Coquelin <mcoquelin.stm32@gmail.com>,
	Alexandre Torgue <alexandre.torgue@foss.st.com>,
	Richard Cochran <richardcochran@gmail.com>,
	Jose Abreu <joabreu@synopsys.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>, Marek Vasut <marex@denx.de>,
	netdev@vger.kernel.org, devicetree@vger.kernel.org,
	linux-stm32@st-md-mailman.stormreply.com,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 01/11] dt-bindings: net: add STM32MP13 compatible in documentation for stm32
Date: Wed, 5 Jun 2024 18:21:26 -0600	[thread overview]
Message-ID: <20240606002126.GA3496044-robh@kernel.org> (raw)
In-Reply-To: <c6ff5778-f928-4a65-8a32-a3582d9d8f94@linaro.org>

On Wed, Jun 05, 2024 at 01:46:33PM +0200, Krzysztof Kozlowski wrote:
> On 05/06/2024 11:55, Christophe ROULLIER wrote:
> > 
> > On 6/5/24 10:14, Krzysztof Kozlowski wrote:
> >> On 04/06/2024 16:34, Christophe Roullier wrote:
> >>> New STM32 SOC have 2 GMACs instances.
> >>> GMAC IP version is SNPS 4.20.
> >>>
> >>> Signed-off-by: Christophe Roullier <christophe.roullier@foss.st.com>
> >>> ---
> >>>   .../devicetree/bindings/net/stm32-dwmac.yaml  | 41 +++++++++++++++----
> >>>   1 file changed, 34 insertions(+), 7 deletions(-)
> >>>
> >>> diff --git a/Documentation/devicetree/bindings/net/stm32-dwmac.yaml b/Documentation/devicetree/bindings/net/stm32-dwmac.yaml
> >>> index 7ccf75676b6d5..ecbed9a7aaf6d 100644
> >>> --- a/Documentation/devicetree/bindings/net/stm32-dwmac.yaml
> >>> +++ b/Documentation/devicetree/bindings/net/stm32-dwmac.yaml
> >>> @@ -22,18 +22,17 @@ select:
> >>>           enum:
> >>>             - st,stm32-dwmac
> >>>             - st,stm32mp1-dwmac
> >>> +          - st,stm32mp13-dwmac
> >>>     required:
> >>>       - compatible
> >>>   
> >>> -allOf:
> >>> -  - $ref: snps,dwmac.yaml#
> >>> -
> >>>   properties:
> >>>     compatible:
> >>>       oneOf:
> >>>         - items:
> >>>             - enum:
> >>>                 - st,stm32mp1-dwmac
> >>> +              - st,stm32mp13-dwmac
> >>>             - const: snps,dwmac-4.20a
> >>>         - items:
> >>>             - enum:
> >>> @@ -75,12 +74,15 @@ properties:
> >>>     st,syscon:
> >>>       $ref: /schemas/types.yaml#/definitions/phandle-array
> >>>       items:
> >>> -      - items:
> >>> +      - minItems: 2
> >>> +        items:
> >>>             - description: phandle to the syscon node which encompases the glue register
> >>>             - description: offset of the control register
> >>> +          - description: field to set mask in register
> >>>       description:
> >>>         Should be phandle/offset pair. The phandle to the syscon node which
> >>> -      encompases the glue register, and the offset of the control register
> >>> +      encompases the glue register, the offset of the control register and
> >>> +      the mask to set bitfield in control register
> >>>   
> >>>     st,ext-phyclk:
> >>>       description:
> >>> @@ -112,12 +114,37 @@ required:
> >>>   
> >>>   unevaluatedProperties: false
> >>>   
> >>> +allOf:
> >>> +  - $ref: snps,dwmac.yaml#
> >>> +  - if:
> >>> +      properties:
> >>> +        compatible:
> >>> +          contains:
> >>> +            enum:
> >>> +              - st,stm32mp1-dwmac
> >>> +              - st,stm32-dwmac
> >>> +    then:
> >>> +      properties:
> >>> +        st,syscon:
> >>> +          items:
> >>> +            maxItems: 2
> >>> +
> >>> +  - if:
> >>> +      properties:
> >>> +        compatible:
> >>> +          contains:
> >>> +            enum:
> >>> +              - st,stm32mp13-dwmac
> >>> +    then:
> >>> +      properties:
> >>> +        st,syscon:
> >>> +          items:
> >>> +            minItems: 3
> >> I don't think this works. You now constrain the first dimension which
> >> had only one item before.
> >>
> >> Make your example complete and test it.
> >>
> >> Best regards,
> >> Krzysztof
> > 
> > Hi Krzysztof,
> > 
> > "Official" bindings for MP15: st,syscon = <&syscfg 0x4>;
> > "Official" bindings for MP13: st,syscon = <&syscfg 0x4 0xff0000>; or 
> > st,syscon = <&syscfg 0x4 0xff000000>;
> > 
> > If I execute make dt_binding_check 
> > DT_SCHEMA_FILES=Documentation/devicetree/bindings/net/stm32-dwmac.yaml with:
> > 
> >     For MP15: st,syscon = <&syscfg>; 
> > =>bindings/net/stm32-dwmac.example.dtb: ethernet@40027000: st,syscon:0: 
> > [4294967295] is too short
> > 
> >     For MP15: st,syscon = <&syscfg 0x4 0xff0000>; 
> > =>devicetree/bindings/net/stm32-dwmac.example.dtb: ethernet@40027000: 
> > st,syscon:0: [4294967295, 4, 16711680] is too long
> > 
> >     For MP13: st,syscon = <&syscfg 0x4>; => 
> > devicetree/bindings/net/stm32-dwmac.example.dtb: ethernet@5800a000: 
> > st,syscon:0: [4294967295, 4] is too short
> > 
> >     For MP13: st,syscon = <&syscfg 0x4 0xff0000 0xff>; => 
> > devicetree/bindings/net/stm32-dwmac.example.dtb: ethernet@5800a000: 
> > st,syscon:0: [4294967295, 4, 16711680, 255] is too long
> > 
> > So it is seems good :-)
> 
> Code is still incorrect, although will work because of how schema parses
> matrix. But even by looking it is not symmetrical between allOf:if:then
> and properties:. Make it symmetric - apply the number of items on the
> second dimension.

It looks correct to me. But it could also be like this:

st,syscon:
  items:
    - minItems: 3

Either way works. Is that what you are asking for? I'm just happy when 
folks can write a working schema.

Rob

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

WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: Christophe ROULLIER <christophe.roullier@foss.st.com>,
	"David S . Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Maxime Coquelin <mcoquelin.stm32@gmail.com>,
	Alexandre Torgue <alexandre.torgue@foss.st.com>,
	Richard Cochran <richardcochran@gmail.com>,
	Jose Abreu <joabreu@synopsys.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>, Marek Vasut <marex@denx.de>,
	netdev@vger.kernel.org, devicetree@vger.kernel.org,
	linux-stm32@st-md-mailman.stormreply.com,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 01/11] dt-bindings: net: add STM32MP13 compatible in documentation for stm32
Date: Wed, 5 Jun 2024 18:21:26 -0600	[thread overview]
Message-ID: <20240606002126.GA3496044-robh@kernel.org> (raw)
In-Reply-To: <c6ff5778-f928-4a65-8a32-a3582d9d8f94@linaro.org>

On Wed, Jun 05, 2024 at 01:46:33PM +0200, Krzysztof Kozlowski wrote:
> On 05/06/2024 11:55, Christophe ROULLIER wrote:
> > 
> > On 6/5/24 10:14, Krzysztof Kozlowski wrote:
> >> On 04/06/2024 16:34, Christophe Roullier wrote:
> >>> New STM32 SOC have 2 GMACs instances.
> >>> GMAC IP version is SNPS 4.20.
> >>>
> >>> Signed-off-by: Christophe Roullier <christophe.roullier@foss.st.com>
> >>> ---
> >>>   .../devicetree/bindings/net/stm32-dwmac.yaml  | 41 +++++++++++++++----
> >>>   1 file changed, 34 insertions(+), 7 deletions(-)
> >>>
> >>> diff --git a/Documentation/devicetree/bindings/net/stm32-dwmac.yaml b/Documentation/devicetree/bindings/net/stm32-dwmac.yaml
> >>> index 7ccf75676b6d5..ecbed9a7aaf6d 100644
> >>> --- a/Documentation/devicetree/bindings/net/stm32-dwmac.yaml
> >>> +++ b/Documentation/devicetree/bindings/net/stm32-dwmac.yaml
> >>> @@ -22,18 +22,17 @@ select:
> >>>           enum:
> >>>             - st,stm32-dwmac
> >>>             - st,stm32mp1-dwmac
> >>> +          - st,stm32mp13-dwmac
> >>>     required:
> >>>       - compatible
> >>>   
> >>> -allOf:
> >>> -  - $ref: snps,dwmac.yaml#
> >>> -
> >>>   properties:
> >>>     compatible:
> >>>       oneOf:
> >>>         - items:
> >>>             - enum:
> >>>                 - st,stm32mp1-dwmac
> >>> +              - st,stm32mp13-dwmac
> >>>             - const: snps,dwmac-4.20a
> >>>         - items:
> >>>             - enum:
> >>> @@ -75,12 +74,15 @@ properties:
> >>>     st,syscon:
> >>>       $ref: /schemas/types.yaml#/definitions/phandle-array
> >>>       items:
> >>> -      - items:
> >>> +      - minItems: 2
> >>> +        items:
> >>>             - description: phandle to the syscon node which encompases the glue register
> >>>             - description: offset of the control register
> >>> +          - description: field to set mask in register
> >>>       description:
> >>>         Should be phandle/offset pair. The phandle to the syscon node which
> >>> -      encompases the glue register, and the offset of the control register
> >>> +      encompases the glue register, the offset of the control register and
> >>> +      the mask to set bitfield in control register
> >>>   
> >>>     st,ext-phyclk:
> >>>       description:
> >>> @@ -112,12 +114,37 @@ required:
> >>>   
> >>>   unevaluatedProperties: false
> >>>   
> >>> +allOf:
> >>> +  - $ref: snps,dwmac.yaml#
> >>> +  - if:
> >>> +      properties:
> >>> +        compatible:
> >>> +          contains:
> >>> +            enum:
> >>> +              - st,stm32mp1-dwmac
> >>> +              - st,stm32-dwmac
> >>> +    then:
> >>> +      properties:
> >>> +        st,syscon:
> >>> +          items:
> >>> +            maxItems: 2
> >>> +
> >>> +  - if:
> >>> +      properties:
> >>> +        compatible:
> >>> +          contains:
> >>> +            enum:
> >>> +              - st,stm32mp13-dwmac
> >>> +    then:
> >>> +      properties:
> >>> +        st,syscon:
> >>> +          items:
> >>> +            minItems: 3
> >> I don't think this works. You now constrain the first dimension which
> >> had only one item before.
> >>
> >> Make your example complete and test it.
> >>
> >> Best regards,
> >> Krzysztof
> > 
> > Hi Krzysztof,
> > 
> > "Official" bindings for MP15: st,syscon = <&syscfg 0x4>;
> > "Official" bindings for MP13: st,syscon = <&syscfg 0x4 0xff0000>; or 
> > st,syscon = <&syscfg 0x4 0xff000000>;
> > 
> > If I execute make dt_binding_check 
> > DT_SCHEMA_FILES=Documentation/devicetree/bindings/net/stm32-dwmac.yaml with:
> > 
> >     For MP15: st,syscon = <&syscfg>; 
> > =>bindings/net/stm32-dwmac.example.dtb: ethernet@40027000: st,syscon:0: 
> > [4294967295] is too short
> > 
> >     For MP15: st,syscon = <&syscfg 0x4 0xff0000>; 
> > =>devicetree/bindings/net/stm32-dwmac.example.dtb: ethernet@40027000: 
> > st,syscon:0: [4294967295, 4, 16711680] is too long
> > 
> >     For MP13: st,syscon = <&syscfg 0x4>; => 
> > devicetree/bindings/net/stm32-dwmac.example.dtb: ethernet@5800a000: 
> > st,syscon:0: [4294967295, 4] is too short
> > 
> >     For MP13: st,syscon = <&syscfg 0x4 0xff0000 0xff>; => 
> > devicetree/bindings/net/stm32-dwmac.example.dtb: ethernet@5800a000: 
> > st,syscon:0: [4294967295, 4, 16711680, 255] is too long
> > 
> > So it is seems good :-)
> 
> Code is still incorrect, although will work because of how schema parses
> matrix. But even by looking it is not symmetrical between allOf:if:then
> and properties:. Make it symmetric - apply the number of items on the
> second dimension.

It looks correct to me. But it could also be like this:

st,syscon:
  items:
    - minItems: 3

Either way works. Is that what you are asking for? I'm just happy when 
folks can write a working schema.

Rob

  reply	other threads:[~2024-06-06  0:21 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-04 14:34 [PATCH v4 00/11] Series to deliver Ethernet for STM32MP13 Christophe Roullier
2024-06-04 14:34 ` Christophe Roullier
2024-06-04 14:34 ` [PATCH v4 01/11] dt-bindings: net: add STM32MP13 compatible in documentation for stm32 Christophe Roullier
2024-06-04 14:34   ` Christophe Roullier
2024-06-05  8:14   ` Krzysztof Kozlowski
2024-06-05  8:14     ` Krzysztof Kozlowski
2024-06-05  9:55     ` Christophe ROULLIER
2024-06-05  9:55       ` Christophe ROULLIER
2024-06-05 11:46       ` Krzysztof Kozlowski
2024-06-05 11:46         ` Krzysztof Kozlowski
2024-06-06  0:21         ` Rob Herring [this message]
2024-06-06  0:21           ` Rob Herring
2024-06-04 14:34 ` [PATCH v4 02/11] net: stmmac: dwmac-stm32: Separate out external clock rate validation Christophe Roullier
2024-06-04 14:34   ` Christophe Roullier
2024-06-04 14:34 ` [PATCH v4 03/11] net: stmmac: dwmac-stm32: Separate out external clock selector Christophe Roullier
2024-06-04 14:34   ` Christophe Roullier
2024-06-04 14:34 ` [PATCH v4 04/11] net: stmmac: dwmac-stm32: Extract PMCR configuration Christophe Roullier
2024-06-04 14:34   ` Christophe Roullier
2024-06-04 14:34 ` [PATCH v4 05/11] net: stmmac: dwmac-stm32: Clean up the debug prints Christophe Roullier
2024-06-04 14:34   ` Christophe Roullier
2024-06-04 14:34 ` [PATCH v4 06/11] net: stmmac: dwmac-stm32: Fix Mhz to MHz Christophe Roullier
2024-06-04 14:34   ` Christophe Roullier
2024-06-04 14:34 ` [PATCH v4 07/11] net: ethernet: stmmac: add management of stm32mp13 for stm32 Christophe Roullier
2024-06-04 14:34   ` Christophe Roullier
2024-06-04 17:05   ` Marek Vasut
2024-06-04 17:05     ` Marek Vasut
2024-06-06 14:19     ` Christophe ROULLIER
2024-06-06 14:19       ` Christophe ROULLIER
2024-06-06 15:47       ` Marek Vasut
2024-06-06 15:47         ` Marek Vasut
2024-06-04 19:00   ` kernel test robot
2024-06-04 19:00     ` kernel test robot
2024-06-05 14:02   ` Amit Singh Tomar
2024-06-04 14:34 ` [PATCH v4 08/11] ARM: dts: stm32: add ethernet1 and ethernet2 support on stm32mp13 Christophe Roullier
2024-06-04 14:34   ` Christophe Roullier
2024-06-04 16:49   ` Marek Vasut
2024-06-04 16:49     ` Marek Vasut
2024-06-07  9:18     ` Christophe ROULLIER
2024-06-07  9:18       ` Christophe ROULLIER
2024-06-04 14:35 ` [PATCH v4 09/11] ARM: dts: stm32: add ethernet1/2 RMII pins for STM32MP13F-DK board Christophe Roullier
2024-06-04 14:35   ` Christophe Roullier
2024-06-04 14:35 ` [PATCH v4 10/11] ARM: dts: stm32: add ethernet1 for STM32MP135F-DK board Christophe Roullier
2024-06-04 14:35   ` Christophe Roullier
2024-06-04 16:52   ` Marek Vasut
2024-06-04 16:52     ` Marek Vasut
2024-06-05  6:00     ` Christophe ROULLIER
2024-06-05  6:00       ` Christophe ROULLIER
2024-06-05 10:57       ` Marek Vasut
2024-06-05 10:57         ` Marek Vasut
2024-06-04 14:35 ` [PATCH v4 11/11] ARM: multi_v7_defconfig: Add MCP23S08 pinctrl support Christophe Roullier
2024-06-04 14:35   ` Christophe Roullier
2024-06-04 16:55   ` Marek Vasut
2024-06-04 16:55     ` Marek Vasut
2024-06-04 15:29 ` [PATCH v4 00/11] Series to deliver Ethernet for STM32MP13 Rob Herring (Arm)
2024-06-04 15:29   ` Rob Herring (Arm)
2024-06-04 16:24   ` Christophe ROULLIER
2024-06-04 16:24     ` Christophe ROULLIER

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=20240606002126.GA3496044-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=alexandre.torgue@foss.st.com \
    --cc=broonie@kernel.org \
    --cc=christophe.roullier@foss.st.com \
    --cc=conor+dt@kernel.org \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=joabreu@synopsys.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=kuba@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=marex@denx.de \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=richardcochran@gmail.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.