mbox series

[net-next,00/16] dt-bindings: net: dwmac: Extend clocks, props desc and constraints

Message ID 20230313225103.30512-1-Sergey.Semin@baikalelectronics.ru
Headers show
Series dt-bindings: net: dwmac: Extend clocks, props desc and constraints | expand

Message

Serge Semin March 13, 2023, 10:50 p.m. UTC
This patchset is the fourth one in the series of updates implemented in
the framework of activity to simplify the DW MAC/STMMAC driver code and
provide Baikal GMAC/X-GMAC support after all:

[1: In-review v1]: net: stmmac: Fixes bundle #1
Link: https://lore.kernel.org/netdev/20230313224237.28757-1-Sergey.Semin@baikalelectronics.ru/
[2: Stalled   v1]: net: stmmac: Fixes bundle #2
Link: ---not submitted yet---
[3: Stalled   v1]: net: stmmac: Fixes bundle #3
Link: ---not submitted yet---
+> [4: In-review v1]: dt-bindings: net: dwmac: Extend clocks, props desc and constraints
+> Link: ---you are looking at it---
[5: Stalled   v1]: dt-bindings: net: dwmac: Fix MTL queues and AXI-bus props
Link: ---not submitted yet---
[6: Stalled   v1]: net: stmmac: Generic platform res, props and DMA cleanups
Link: ---not submitted yet---
[7: Stalled   v1]: net: stmmac: Generic platform rst, phy and clk cleanups
Link: ---not submitted yet---
[8: Stalled   v1]: net: stmmac: Main driver code cleanups bundle #1
Link: ---not submitted yet---
[9: Stalled   v1]: net: stmmac: Main driver code cleanups bundle #2
Link: ---not submitted yet---
[10: Stalled  v1]: net: stmmac: DW MAC HW info init refactoring
Link: ---not submitted yet---
[11: Stalled  v1]: net: stmmac: Convert to using HW capabilities bundle #1
Link: ---not submitted yet---
[12: Stalled  v1]: net: stmmac: Convert to using HW capabilities bundle #2
Link: ---not submitted yet---
[13: Stalled  v1]: net: stmmac: Convert to using HW capabilities bundle #3
Link: ---not submitted yet---
[14: Stalled  v1]: net: stmmac: Convert to using HW capabilities bundle #4
Link: ---not submitted yet---
[15: Stalled  v1]: net: stmmac: Unify/simplify HW-interface
Link: ---not submitted yet---
[16: Stalled  v1]: net: stmmac: Norm/Enh/etc DMA descriptor init fixes
Link: ---not submitted yet---
[17: Stalled  v1]: net: stmmac: Norm/Enh/etc DMA descriptor init cleanups
Link: ---not submitted yet---
[18: Stalled  v1]: net: stmmac: Main driver code cleanups bundle #3
Link: ---not submitted yet---
[..: In-prep] to be continued (IRQ handling refactoring, SW-reset-less config,
                               generic GPIO support, ARP offload support,
                               In-band RGMII link state, etc)
[..: In-prep] to be continued (Baikal-{T,M,L,S} SoCs GMAC, X-GMAC and XPCS
                               support)

Please visit the next link for the detailed justification of the changes
series introduced in the list above:
Link: https://lore.kernel.org/netdev/20230313224237.28757-1-Sergey.Semin@baikalelectronics.ru/

Here is a short summary of what is introduced in this patchset.

The series starts with fixes of the PBL (Programmable DMA Burst length)
DT-property, which is supposed to be defined for each DW *MAC IP-core, but
not only for a Allwinner sun* and Ingenic GMAC and DW xGMAC. The number of
possible PBL values need to be also extended in accordance with the DW
*MAC manual. Then the TSO flag property should be also declared free of
the vendor-specific conditional schema, because the driver expects the
compatible string to have the IP-core version specified anyway and none of
the glue-drivers refer to the property directly. Moreover the original
Allwinner sunXi bindings file didn't have the TSO-related property
declared. So we can freely do that.

Then in order to improve the DT-bindings maintainability we suggest to
split up the generic DT-properties and generic DT-nodes schema leaving the
properties definition in the "snps,dwmac.yaml" file and moving the generic
DW *MAC DT-nodes bindings validation in the dedicated DT-schema
"snps,dwmac-generic.yaml".

We've found out that the DW MAC bindings don't provide a correct description
of the System/CSR clocks and a comprehensive enough description of the
clock-related "snps,clk-csr" property. So in order to have more
descriptive bindings we suggest to add a bit more details about the
App/CSR clocks and CSR-MDC divider property.

Then seeing the any DW MAC IP-core revision can be equipped with an
external Tx/Rx clock sources we suggest to add the "tx"/"rx" clocks
declaration into the generic DW MAC DT-schema.

Afterwards a set of the AXI-bus config property cleanups are introduced.
First we suggest to drop the "snps,axi-config" property description since
it duplicates the stmmac-axi-config sub-node DT-bindings. Second the
unevaluatedProperties property is replaced with additionalProperties as
more suitable for the "stmmac-axi-config" schema. Third the proper
constraints are added to the properties of the "stmmac-axi-config"
sub-node.

Then three patches concerning the MTL Tx/Rx queue configs go, which add
the sub-nodes properties constraints and fix the MTL Tx queue properties
description.

The next patch converts the DW MAC DT-bindings to using the "flag"
definition instead of the native boolean type for relevant properties.
It's done for the sake of the DT-schema unification.

The series is closed with the two patches concerning the MTL queue config
properties dependencies. First one provides a simpler construction for the
MTL queue properties inter-dependencies. The second one adds the
dependencies definition for the MTL Tx queue CBS-algo properties.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>
Cc: Christian Marangi <ansuelsmth@gmail.com>
Cc: Richard Cochran <richardcochran@gmail.com>
Cc: Biao Huang <biao.huang@mediatek.com>
Cc: Yang Yingliang <yangyingliang@huawei.com>
Cc: devicetree@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: linux-stm32@st-md-mailman.stormreply.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org

Serge Semin (16):
  dt-bindings: net: dwmac: Validate PBL for all IP-cores
  dt-bindings: net: dwmac: Extend number of PBL values
  dt-bindings: net: dwmac: Fix the TSO property declaration
  dt-bindings: net: dwmac: Detach Generic DW MAC bindings
  dt-bindings: net: dwmac: Elaborate snps,clk-csr description
  dt-bindings: net: dwmac: Elaborate stmmaceth/pclk clocks description
  dt-bindings: net: dwmac: Add Tx/Rx clock sources
  dt-bindings: net: dwmac: Drop prop names from snps,axi-config
    description
  dt-bindings: net: dwmac: Prohibit additional props in AXI-config
  dt-bindings: net: dwmac: Add AXI-bus properties constraints
  dt-bindings: net: dwmac: Add MTL Rx Queue properties constraints
  dt-bindings: net: dwmac: Add MTL Tx Queue properties constraints
  dt-bindings: net: dwmac: Fix MTL Tx Queue props description
  dt-bindings: net: dwmac: Use flag definition instead of booleans
  dt-bindings: net: dwmac: Simplify MTL queue props dependencies
  dt-bindings: net: dwmac: Add MTL Tx queue CBS-algo props dependencies

 .../bindings/net/snps,dwmac-generic.yaml      | 155 +++++
 .../devicetree/bindings/net/snps,dwmac.yaml   | 586 +++++++-----------
 MAINTAINERS                                   |   1 +
 3 files changed, 381 insertions(+), 361 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/snps,dwmac-generic.yaml

Comments

Rob Herring March 14, 2023, 2:10 p.m. UTC | #1
On Tue, 14 Mar 2023 01:50:48 +0300, Serge Semin wrote:
> Indeed the maximum DMA burst length can be programmed not only for DW
> xGMACs, Allwinner EMACs and Spear SoC GMAC, but in accordance with [1]
> for Generic DW *MAC IP-cores. Moreover the STMMAC set of drivers parse
> the property and then apply the configuration for all supported DW MAC
> devices. All of that makes the property being available for all IP-cores
> the bindings supports. Let's make sure the PBL-related properties are
> validated for all of them by the common DW MAC DT schema.
> 
> [1] DesignWare Cores Ethernet MAC Universal Databook, Revision 3.73a,
>     October 2013, p. 380.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> Reviewed-by: Rob Herring <robh@kernel.org>
> 
> ---
> 
> Changelog v1:
> - Use correct syntax of the JSON pointers, so the later would begin
>   with a '/' after the '#'.
> ---
>  .../devicetree/bindings/net/snps,dwmac.yaml   | 77 +++++++------------
>  1 file changed, 26 insertions(+), 51 deletions(-)
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.example.dtb: ethernet@1101c000: snps,txpbl:0:0: 1 is not one of [2, 4, 8]
	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/snps,dwmac.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.example.dtb: ethernet@1101c000: snps,rxpbl:0:0: 1 is not one of [2, 4, 8]
	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/snps,dwmac.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.example.dtb: ethernet@1101c000: snps,txpbl:0:0: 1 is not one of [2, 4, 8]
	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.example.dtb: ethernet@1101c000: snps,rxpbl:0:0: 1 is not one of [2, 4, 8]
	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.example.dtb: ethernet@1101c000: Unevaluated properties are not allowed ('interrupt-names', 'interrupts', 'mac-address', 'phy-mode', 'reg', 'snps,reset-delays-us', 'snps,reset-gpio', 'snps,rxpbl', 'snps,txpbl' were unexpected)
	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.yaml

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230313225103.30512-2-Sergey.Semin@baikalelectronics.ru

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
Serge Semin March 14, 2023, 5:09 p.m. UTC | #2
On Tue, Mar 14, 2023 at 06:07:01PM +0300, Serge Semin wrote:
> On Tue, Mar 14, 2023 at 09:10:19AM -0500, Rob Herring wrote:
> > 
> > On Tue, 14 Mar 2023 01:50:48 +0300, Serge Semin wrote:
> > > Indeed the maximum DMA burst length can be programmed not only for DW
> > > xGMACs, Allwinner EMACs and Spear SoC GMAC, but in accordance with [1]
> > > for Generic DW *MAC IP-cores. Moreover the STMMAC set of drivers parse
> > > the property and then apply the configuration for all supported DW MAC
> > > devices. All of that makes the property being available for all IP-cores
> > > the bindings supports. Let's make sure the PBL-related properties are
> > > validated for all of them by the common DW MAC DT schema.
> > > 
> > > [1] DesignWare Cores Ethernet MAC Universal Databook, Revision 3.73a,
> > >     October 2013, p. 380.
> > > 
> > > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> > > Reviewed-by: Rob Herring <robh@kernel.org>
> > > 
> > > ---
> > > 
> > > Changelog v1:
> > > - Use correct syntax of the JSON pointers, so the later would begin
> > >   with a '/' after the '#'.
> > > ---
> > >  .../devicetree/bindings/net/snps,dwmac.yaml   | 77 +++++++------------
> > >  1 file changed, 26 insertions(+), 51 deletions(-)
> > > 
> > 
> > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> > on your patch (DT_CHECKER_FLAGS is new in v5.13):
> > 
> > yamllint warnings/errors:
> > 
> > dtschema/dtc warnings/errors:
> > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.example.dtb: ethernet@1101c000: snps,txpbl:0:0: 1 is not one of [2, 4, 8]
> > 	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.example.dtb: ethernet@1101c000: snps,rxpbl:0:0: 1 is not one of [2, 4, 8]
> > 	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.example.dtb: ethernet@1101c000: snps,txpbl:0:0: 1 is not one of [2, 4, 8]
> > 	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.yaml
> > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.example.dtb: ethernet@1101c000: snps,rxpbl:0:0: 1 is not one of [2, 4, 8]
> > 	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.yaml
> > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.example.dtb: ethernet@1101c000: Unevaluated properties are not allowed ('interrupt-names', 'interrupts', 'mac-address', 'phy-mode', 'reg', 'snps,reset-delays-us', 'snps,reset-gpio', 'snps,rxpbl', 'snps,txpbl' were unexpected)
> > 	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.yaml
> 
> Oops, on rebasing my work from older kernel I missed that the PBL
> properties constraints have already been extended. I'll drop the next
> patch in the series then and fix this one so the already defined
> constraints would be preserved.

BTW it's strange I didn't have that bug spotted during my
dt_binding_check run...

-Serge(y)

> 
> -Serge(y)
> 
> > 
> > doc reference errors (make refcheckdocs):
> > 
> > See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230313225103.30512-2-Sergey.Semin@baikalelectronics.ru
> > 
> > The base for the series is generally the latest rc1. A different dependency
> > should be noted in *this* patch.
> > 
> > If you already ran 'make dt_binding_check' and didn't see the above
> > error(s), then make sure 'yamllint' is installed and dt-schema is up to
> > date:
> > 
> > pip3 install dtschema --upgrade
> > 
> > Please check and re-submit after running the above command yourself. Note
> > that DT_SCHEMA_FILES can be set to your schema file to speed up checking
> > your schema. However, it must be unset to test all examples with your schema.
> >
Krzysztof Kozlowski March 16, 2023, 8:07 a.m. UTC | #3
On 13/03/2023 23:50, Serge Semin wrote:
> Currently none of the MTL Rx Queues QoS-related DT-properties have been
> equipped with the proper constraints. Meanwhile they can be specified at
> least based on the corresponding CSR field sizes or the DW (x|xG)MAC
> IP-core synthesize parameter constraints. Let's do that:
> + snps,rx-queues-to-use - number of Rx queues to utilise is limited w

(...)

> +
>            snps,route-avcp:
>              type: boolean
>              description: AV Untagged Control packets
> @@ -166,6 +173,9 @@ properties:
>            snps,priority:
>              $ref: /schemas/types.yaml#/definitions/uint32
>              description: Bitmask of the tagged frames priorities assigned to the queue
> +            minimum: 0
> +            maximum: 0xFF
> +

lowercase hex

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof
Krzysztof Kozlowski March 16, 2023, 8:08 a.m. UTC | #4
On 13/03/2023 23:51, Serge Semin wrote:
> Invalid MTL Tx Queues DT-properties description was added right at the
> initial DCB/AVB features patch. Most likely due to copy-paste mistake the
> text currently matches to what is specified for the AXI-bus config
> properties. Let's fix that by providing correct descriptions for MTL Tx
> Queue DT-properties utilized for the AVB feature (CBS algorithm) tuning.
> 
> Fixes: 19d918731797 ("net: stmmac: configuration of CBS in case of a TX AVB queue")

Fixes must be first in the patchset.

> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> ---


Best regards,
Krzysztof
Serge Semin March 16, 2023, 8:50 p.m. UTC | #5
On Thu, Mar 16, 2023 at 03:40:37PM -0500, Rob Herring wrote:
> On Tue, Mar 14, 2023 at 08:09:45PM +0300, Serge Semin wrote:
> > On Tue, Mar 14, 2023 at 06:07:01PM +0300, Serge Semin wrote:
> > > On Tue, Mar 14, 2023 at 09:10:19AM -0500, Rob Herring wrote:
> > > > 
> > > > On Tue, 14 Mar 2023 01:50:48 +0300, Serge Semin wrote:
> > > > > Indeed the maximum DMA burst length can be programmed not only for DW
> > > > > xGMACs, Allwinner EMACs and Spear SoC GMAC, but in accordance with [1]
> > > > > for Generic DW *MAC IP-cores. Moreover the STMMAC set of drivers parse
> > > > > the property and then apply the configuration for all supported DW MAC
> > > > > devices. All of that makes the property being available for all IP-cores
> > > > > the bindings supports. Let's make sure the PBL-related properties are
> > > > > validated for all of them by the common DW MAC DT schema.
> > > > > 
> > > > > [1] DesignWare Cores Ethernet MAC Universal Databook, Revision 3.73a,
> > > > >     October 2013, p. 380.
> > > > > 
> > > > > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> > > > > Reviewed-by: Rob Herring <robh@kernel.org>
> > > > > 
> > > > > ---
> > > > > 
> > > > > Changelog v1:
> > > > > - Use correct syntax of the JSON pointers, so the later would begin
> > > > >   with a '/' after the '#'.
> > > > > ---
> > > > >  .../devicetree/bindings/net/snps,dwmac.yaml   | 77 +++++++------------
> > > > >  1 file changed, 26 insertions(+), 51 deletions(-)
> > > > > 
> > > > 
> > > > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> > > > on your patch (DT_CHECKER_FLAGS is new in v5.13):
> > > > 
> > > > yamllint warnings/errors:
> > > > 
> > > > dtschema/dtc warnings/errors:
> > > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.example.dtb: ethernet@1101c000: snps,txpbl:0:0: 1 is not one of [2, 4, 8]
> > > > 	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> > > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.example.dtb: ethernet@1101c000: snps,rxpbl:0:0: 1 is not one of [2, 4, 8]
> > > > 	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> > > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.example.dtb: ethernet@1101c000: snps,txpbl:0:0: 1 is not one of [2, 4, 8]
> > > > 	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.yaml
> > > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.example.dtb: ethernet@1101c000: snps,rxpbl:0:0: 1 is not one of [2, 4, 8]
> > > > 	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.yaml
> > > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.example.dtb: ethernet@1101c000: Unevaluated properties are not allowed ('interrupt-names', 'interrupts', 'mac-address', 'phy-mode', 'reg', 'snps,reset-delays-us', 'snps,reset-gpio', 'snps,rxpbl', 'snps,txpbl' were unexpected)
> > > > 	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/mediatek-dwmac.yaml
> > > 
> > > Oops, on rebasing my work from older kernel I missed that the PBL
> > > properties constraints have already been extended. I'll drop the next
> > > patch in the series then and fix this one so the already defined
> > > constraints would be preserved.
> > 
> > BTW it's strange I didn't have that bug spotted during my
> > dt_binding_check run...
> 

> Perhaps because you set DT_SCHEMA_FILES?

Can't remember now. I might have missed that in the long log as well.
Anyway I'll test it out one more time before fixing.
Thanks for your response.

-Serge(y)
Rob Herring March 17, 2023, 8:57 p.m. UTC | #6
On Tue, 14 Mar 2023 01:51:03 +0300, Serge Semin wrote:
> Currently the CBS algorithm specific properties could be used
> unconditionally in the MTL Tx queue sub-nodes. It's definitely wrong from
> the correct Tx queue description point of view. Let's fix that in a way so
> the "snps,send_slope", "snps,idle_slope", "snps,high_credit" and
> "snps,low_credit" properties would be allowed only if the CBS TC algorithm
> is enabled for the MTL Tx queue.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> ---
>  Documentation/devicetree/bindings/net/snps,dwmac.yaml | 5 +++++
>  1 file changed, 5 insertions(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>
Serge Semin March 23, 2023, 3:10 p.m. UTC | #7
On Fri, Mar 17, 2023 at 03:56:04PM -0500, Rob Herring wrote:
> On Tue, Mar 14, 2023 at 01:51:02AM +0300, Serge Semin wrote:
> > Currently the Tx/Rx queues properties interdependencies are described by
> > means of the pattern: "if: required: X, then: properties: Y: false, Z:
> > false, etc". Due to very unfortunate MTL Tx/Rx queue DT-node design the
> > resultant sub-nodes schemas look very bulky and thus hard to read. The
> > situation can be improved by using the "allOf:/oneOf: required: X,
> > required: Y, etc" pattern instead thus getting shorter and a bit easier to
> > comprehend constructions.
> > 
> > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> > 
> > ---
> 
> Reviewed-by: Rob Herring <robh@kernel.org>
> 
> > 
> > Note the solution can be shortened out a bit further by replacing the
> > single-entry allOf statements with just the "not: required: etc" pattern.
> > But in order to do that the DT-schema validation tool must be fixed like
> > this:
> > 
> > --- a/meta-schemas/nodes.yaml	2021-02-08 14:20:56.732447780 +0300
> > +++ b/meta-schemas/nodes.yaml	2021-02-08 14:21:00.736492245 +0300
> > @@ -22,6 +22,7 @@
> >      - unevaluatedProperties
> >      - deprecated
> >      - required
> > +    - not
> >      - allOf
> >      - anyOf
> >      - oneOf
> 

> This should be added regardless. Can you send a patch to devicetree-spec 
> or a GH PR. But I'd skip using that here for now because then we require 
> a new version of dtschema.

Ok. I'll send the patch to the devicetree-spec mailing list.

* Note meta-schemas/base.yaml will be fixed in the similar way.

-Serge(y)

> 
> Rob