[PATCH net-next] dt-bindings: net: Define properties at top-level
Serge Semin
fancer.lancer at gmail.com
Wed Jun 26 08:05:45 PDT 2024
Hi Rob
On Tue, Jun 25, 2024 at 03:54:41PM -0600, Rob Herring (Arm) wrote:
> Convention is DT schemas should define all properties at the top-level
> and not inside of if/then schemas. That minimizes the if/then schemas
> and is more future proof.
>
> Signed-off-by: Rob Herring (Arm) <robh at kernel.org>
> ---
> .../devicetree/bindings/net/mediatek,net.yaml | 28 +--
> .../devicetree/bindings/net/snps,dwmac.yaml | 167 +++++++++---------
For Synopsys DW MACs you can just move the PBL-properties constraints to
the top-level schema part with no compatible-based conditional
validation left. It's because the DMA PBL settings are available on all the
DW MAC IP-cores (DW MAC, DW GMAC, DW QoS Eth, DW XGMAC, DW XLGMAC).
Moreover the STMMAC driver responsible for the DW MAC device handling
parses the pbl* properties for all IP-cores irrespective from the
device compatible string.
Alternatively you can just merge in the attached patch, which BTW you
have already reviewed sometime ago.
-Serge(y)
> 2 files changed, 105 insertions(+), 90 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/net/mediatek,net.yaml b/Documentation/devicetree/bindings/net/mediatek,net.yaml
> index 3202dc7967c5..686b5c2fae40 100644
> --- a/Documentation/devicetree/bindings/net/mediatek,net.yaml
> +++ b/Documentation/devicetree/bindings/net/mediatek,net.yaml
> @@ -68,6 +68,17 @@ properties:
> Phandle to the syscon node that handles the path from GMAC to
> PHY variants.
>
> + mediatek,pcie-mirror:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description:
> + Phandle to the mediatek pcie-mirror controller.
> +
> + mediatek,pctl:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description:
> + Phandle to the syscon node that handles the ports slew rate and
> + driver current.
> +
> mediatek,sgmiisys:
> $ref: /schemas/types.yaml#/definitions/phandle-array
> minItems: 1
> @@ -131,15 +142,12 @@ allOf:
>
> mediatek,infracfg: false
>
> - mediatek,pctl:
> - $ref: /schemas/types.yaml#/definitions/phandle
> - description:
> - Phandle to the syscon node that handles the ports slew rate and
> - driver current.
> -
> mediatek,wed: false
>
> mediatek,wed-pcie: false
> + else:
> + properties:
> + mediatek,pctl: false
>
> - if:
> properties:
> @@ -201,12 +209,10 @@ allOf:
> minItems: 1
> maxItems: 1
>
> - mediatek,pcie-mirror:
> - $ref: /schemas/types.yaml#/definitions/phandle
> - description:
> - Phandle to the mediatek pcie-mirror controller.
> -
> mediatek,wed-pcie: false
> + else:
> + properties:
> + mediatek,pcie-mirror: false
>
> - if:
> properties:
> diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> index 21cc27e75f50..023865b6f497 100644
> --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> @@ -485,6 +485,38 @@ properties:
> description:
> Frequency division factor for MDC clock.
>
> + snps,pbl:
> + description:
> + Programmable Burst Length (tx and rx)
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [1, 2, 4, 8, 16, 32]
> +
> + snps,txpbl:
> + description:
> + Tx Programmable Burst Length. If set, DMA tx will use this value rather
> + than snps,pbl.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [1, 2, 4, 8, 16, 32]
> +
> + snps,rxpbl:
> + description:
> + Rx Programmable Burst Length. If set, DMA rx will use this value rather
> + than snps,pbl.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [1, 2, 4, 8, 16, 32]
> +
> + snps,no-pbl-x8:
> + $ref: /schemas/types.yaml#/definitions/flag
> + description:
> + Don\'t multiply the pbl/txpbl/rxpbl values by 8. For core rev < 3.50,
> + don\'t multiply the values by 4.
> +
> + snps,tso:
> + $ref: /schemas/types.yaml#/definitions/flag
> + description:
> + Enables the TSO feature otherwise it will be managed by MAC HW capability
> + register.
> +
> mdio:
> $ref: mdio.yaml#
> unevaluatedProperties: false
> @@ -568,95 +600,72 @@ allOf:
> - if:
> properties:
> compatible:
> - contains:
> - enum:
> - - allwinner,sun7i-a20-gmac
> - - allwinner,sun8i-a83t-emac
> - - allwinner,sun8i-h3-emac
> - - allwinner,sun8i-r40-gmac
> - - allwinner,sun8i-v3s-emac
> - - allwinner,sun50i-a64-emac
> - - ingenic,jz4775-mac
> - - ingenic,x1000-mac
> - - ingenic,x1600-mac
> - - ingenic,x1830-mac
> - - ingenic,x2000-mac
> - - qcom,sa8775p-ethqos
> - - qcom,sc8280xp-ethqos
> - - snps,dwmac-3.50a
> - - snps,dwmac-4.10a
> - - snps,dwmac-4.20a
> - - snps,dwmac-5.20
> - - snps,dwxgmac
> - - snps,dwxgmac-2.10
> - - st,spear600-gmac
> + not:
> + contains:
> + enum:
> + - allwinner,sun7i-a20-gmac
> + - allwinner,sun8i-a83t-emac
> + - allwinner,sun8i-h3-emac
> + - allwinner,sun8i-r40-gmac
> + - allwinner,sun8i-v3s-emac
> + - allwinner,sun50i-a64-emac
> + - ingenic,jz4775-mac
> + - ingenic,x1000-mac
> + - ingenic,x1600-mac
> + - ingenic,x1830-mac
> + - ingenic,x2000-mac
> + - qcom,sa8775p-ethqos
> + - qcom,sc8280xp-ethqos
> + - snps,dwmac-3.50a
> + - snps,dwmac-4.10a
> + - snps,dwmac-4.20a
> + - snps,dwmac-5.20
> + - snps,dwxgmac
> + - snps,dwxgmac-2.10
> + - st,spear600-gmac
>
> then:
> properties:
> - snps,pbl:
> - description:
> - Programmable Burst Length (tx and rx)
> - $ref: /schemas/types.yaml#/definitions/uint32
> - enum: [1, 2, 4, 8, 16, 32]
> -
> - snps,txpbl:
> - description:
> - Tx Programmable Burst Length. If set, DMA tx will use this
> - value rather than snps,pbl.
> - $ref: /schemas/types.yaml#/definitions/uint32
> - enum: [1, 2, 4, 8, 16, 32]
> -
> - snps,rxpbl:
> - description:
> - Rx Programmable Burst Length. If set, DMA rx will use this
> - value rather than snps,pbl.
> - $ref: /schemas/types.yaml#/definitions/uint32
> - enum: [1, 2, 4, 8, 16, 32]
> -
> - snps,no-pbl-x8:
> - $ref: /schemas/types.yaml#/definitions/flag
> - description:
> - Don\'t multiply the pbl/txpbl/rxpbl values by 8. For core
> - rev < 3.50, don\'t multiply the values by 4.
> + snps,pbl: false
> + snps,txpbl: false
> + snps,rxpbl: false
> + snps,no-pbl-x8: false
>
> - if:
> properties:
> compatible:
> - contains:
> - enum:
> - - allwinner,sun7i-a20-gmac
> - - allwinner,sun8i-a83t-emac
> - - allwinner,sun8i-h3-emac
> - - allwinner,sun8i-r40-gmac
> - - allwinner,sun8i-v3s-emac
> - - allwinner,sun50i-a64-emac
> - - loongson,ls2k-dwmac
> - - loongson,ls7a-dwmac
> - - ingenic,jz4775-mac
> - - ingenic,x1000-mac
> - - ingenic,x1600-mac
> - - ingenic,x1830-mac
> - - ingenic,x2000-mac
> - - qcom,qcs404-ethqos
> - - qcom,sa8775p-ethqos
> - - qcom,sc8280xp-ethqos
> - - qcom,sm8150-ethqos
> - - snps,dwmac-4.00
> - - snps,dwmac-4.10a
> - - snps,dwmac-4.20a
> - - snps,dwmac-5.10a
> - - snps,dwmac-5.20
> - - snps,dwxgmac
> - - snps,dwxgmac-2.10
> - - st,spear600-gmac
> + not:
> + contains:
> + enum:
> + - allwinner,sun7i-a20-gmac
> + - allwinner,sun8i-a83t-emac
> + - allwinner,sun8i-h3-emac
> + - allwinner,sun8i-r40-gmac
> + - allwinner,sun8i-v3s-emac
> + - allwinner,sun50i-a64-emac
> + - loongson,ls2k-dwmac
> + - loongson,ls7a-dwmac
> + - ingenic,jz4775-mac
> + - ingenic,x1000-mac
> + - ingenic,x1600-mac
> + - ingenic,x1830-mac
> + - ingenic,x2000-mac
> + - qcom,qcs404-ethqos
> + - qcom,sa8775p-ethqos
> + - qcom,sc8280xp-ethqos
> + - qcom,sm8150-ethqos
> + - snps,dwmac-4.00
> + - snps,dwmac-4.10a
> + - snps,dwmac-4.20a
> + - snps,dwmac-5.10a
> + - snps,dwmac-5.20
> + - snps,dwxgmac
> + - snps,dwxgmac-2.10
> + - st,spear600-gmac
>
> then:
> properties:
> - snps,tso:
> - $ref: /schemas/types.yaml#/definitions/flag
> - description:
> - Enables the TSO feature otherwise it will be managed by
> - MAC HW capability register.
> + snps,tso: false
>
> additionalProperties: true
>
> --
> 2.43.0
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-dt-bindings-net-dwmac-Validate-PBL-for-all-IP-cores.patch
Type: text/x-patch
Size: 4631 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-mediatek/attachments/20240626/5d7f8048/attachment.bin>
More information about the Linux-mediatek
mailing list