On Friday, 19 December 2025 12:42:16 CET Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
>
> Describe the firmware-managed variant of the QCom DesignWare MAC. As the
> properties here differ a lot from the HLOS-managed variant, lets put it
> in a separate file. Since we need to update the maximum number of power
> domains, let's update existing bindings referencing the top-level
> snps,dwmac.yaml and limit their maxItems for power-domains to 1.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxxxxxxxx>
> ---
> .../bindings/net/allwinner,sun7i-a20-gmac.yaml | 3 +
> .../bindings/net/altr,socfpga-stmmac.yaml | 3 +
> .../bindings/net/amlogic,meson-dwmac.yaml | 3 +
> .../devicetree/bindings/net/eswin,eic7700-eth.yaml | 3 +
> .../devicetree/bindings/net/intel,dwmac-plat.yaml | 3 +
> .../bindings/net/loongson,ls1b-gmac.yaml | 3 +
> .../bindings/net/loongson,ls1c-emac.yaml | 3 +
> .../devicetree/bindings/net/nxp,dwmac-imx.yaml | 3 +
> .../devicetree/bindings/net/nxp,lpc1850-dwmac.yaml | 3 +
> .../devicetree/bindings/net/nxp,s32-dwmac.yaml | 3 +
> .../devicetree/bindings/net/qcom,ethqos.yaml | 3 +
> .../bindings/net/qcom,sa8255p-ethqos.yaml | 98
> ++++++++++++++++++++++ .../devicetree/bindings/net/renesas,rzn1-gmac.yaml |
> 3 +
> .../bindings/net/renesas,rzv2h-gbeth.yaml | 3 +
> .../devicetree/bindings/net/rockchip-dwmac.yaml | 3 +
> .../devicetree/bindings/net/snps,dwmac.yaml | 5 +-
> .../bindings/net/sophgo,cv1800b-dwmac.yaml | 3 +
> .../bindings/net/sophgo,sg2044-dwmac.yaml | 3 +
> .../bindings/net/starfive,jh7110-dwmac.yaml | 3 +
> .../devicetree/bindings/net/stm32-dwmac.yaml | 3 +
> .../devicetree/bindings/net/tesla,fsd-ethqos.yaml | 3 +
> .../devicetree/bindings/net/thead,th1520-gmac.yaml | 3 +
> .../bindings/net/toshiba,visconti-dwmac.yaml | 3 +
> MAINTAINERS | 1 +
> 24 files changed, 166 insertions(+), 1 deletion(-)
>
> diff --git
> a/Documentation/devicetree/bindings/net/allwinner,sun7i-a20-gmac.yaml
> b/Documentation/devicetree/bindings/net/allwinner,sun7i-a20-gmac.yaml index
> 23e92be33ac8..b12632545673 100644
> --- a/Documentation/devicetree/bindings/net/allwinner,sun7i-a20-gmac.yaml
> +++ b/Documentation/devicetree/bindings/net/allwinner,sun7i-a20-gmac.yaml
> @@ -40,6 +40,9 @@ properties:
> description:
> PHY regulator
>
> + power-domains:
> + maxItems: 1
> +
> required:
> - compatible
> - reg
> diff --git a/Documentation/devicetree/bindings/net/altr,socfpga-stmmac.yaml
> b/Documentation/devicetree/bindings/net/altr,socfpga-stmmac.yaml index
> fc445ad5a1f1..448e617cddc4 100644
> --- a/Documentation/devicetree/bindings/net/altr,socfpga-stmmac.yaml
> +++ b/Documentation/devicetree/bindings/net/altr,socfpga-stmmac.yaml
> @@ -140,6 +140,9 @@ properties:
> - description: offset of the control register
> - description: shift within the control register
>
> + power-domains:
> + maxItems: 1
> +
> patternProperties:
> "^mdio[0-9]$":
> type: object
> diff --git a/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml
> b/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml index
> 5c91716d1f21..9c9cc3ef384d 100644
> --- a/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml
> +++ b/Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml
> @@ -158,6 +158,9 @@ properties:
> interrupt-names:
> const: macirq
>
> + power-domains:
> + maxItems: 1
> +
> required:
> - compatible
> - reg
> diff --git a/Documentation/devicetree/bindings/net/eswin,eic7700-eth.yaml
> b/Documentation/devicetree/bindings/net/eswin,eic7700-eth.yaml index
> 91e8cd1db67b..c1b67cfa76d0 100644
> --- a/Documentation/devicetree/bindings/net/eswin,eic7700-eth.yaml
> +++ b/Documentation/devicetree/bindings/net/eswin,eic7700-eth.yaml
> @@ -83,6 +83,9 @@ properties:
> register
> - description: Offset of register controlling TX/RX clock delay
>
> + power-domains:
> + maxItems: 1
> +
> required:
> - compatible
> - reg
> diff --git a/Documentation/devicetree/bindings/net/intel,dwmac-plat.yaml
> b/Documentation/devicetree/bindings/net/intel,dwmac-plat.yaml index
> 62c1da36a2b5..e41851931b94 100644
> --- a/Documentation/devicetree/bindings/net/intel,dwmac-plat.yaml
> +++ b/Documentation/devicetree/bindings/net/intel,dwmac-plat.yaml
> @@ -47,6 +47,9 @@ properties:
> interrupt-names:
> const: macirq
>
> + power-domains:
> + maxItems: 1
> +
> required:
> - compatible
> - clocks
> diff --git a/Documentation/devicetree/bindings/net/loongson,ls1b-gmac.yaml
> b/Documentation/devicetree/bindings/net/loongson,ls1b-gmac.yaml index
> c4f3224bad38..c9a131b8d830 100644
> --- a/Documentation/devicetree/bindings/net/loongson,ls1b-gmac.yaml
> +++ b/Documentation/devicetree/bindings/net/loongson,ls1b-gmac.yaml
> @@ -66,6 +66,9 @@ properties:
> - mii
> - rgmii-id
>
> + power-domains:
> + maxItems: 1
> +
> required:
> - compatible
> - reg
> diff --git a/Documentation/devicetree/bindings/net/loongson,ls1c-emac.yaml
> b/Documentation/devicetree/bindings/net/loongson,ls1c-emac.yaml index
> 99001b940b83..49db18423dd8 100644
> --- a/Documentation/devicetree/bindings/net/loongson,ls1c-emac.yaml
> +++ b/Documentation/devicetree/bindings/net/loongson,ls1c-emac.yaml
> @@ -65,6 +65,9 @@ properties:
> - mii
> - rmii
>
> + power-domains:
> + maxItems: 1
> +
> required:
> - compatible
> - reg
> diff --git a/Documentation/devicetree/bindings/net/nxp,dwmac-imx.yaml
> b/Documentation/devicetree/bindings/net/nxp,dwmac-imx.yaml index
> e5db346beca9..b240c76e7dd5 100644
> --- a/Documentation/devicetree/bindings/net/nxp,dwmac-imx.yaml
> +++ b/Documentation/devicetree/bindings/net/nxp,dwmac-imx.yaml
> @@ -83,6 +83,9 @@ properties:
> description:
> To select RMII reference clock from external.
>
> + power-domains:
> + maxItems: 1
> +
> required:
> - compatible
> - clocks
> diff --git a/Documentation/devicetree/bindings/net/nxp,lpc1850-dwmac.yaml
> b/Documentation/devicetree/bindings/net/nxp,lpc1850-dwmac.yaml index
> 05acd9bc7616..f61188ab0dbe 100644
> --- a/Documentation/devicetree/bindings/net/nxp,lpc1850-dwmac.yaml
> +++ b/Documentation/devicetree/bindings/net/nxp,lpc1850-dwmac.yaml
> @@ -51,6 +51,9 @@ properties:
> items:
> - const: stmmaceth
>
> + power-domains:
> + maxItems: 1
> +
> required:
> - compatible
> - reg
> diff --git a/Documentation/devicetree/bindings/net/nxp,s32-dwmac.yaml
> b/Documentation/devicetree/bindings/net/nxp,s32-dwmac.yaml index
> 2b8b74c5feec..716407a75079 100644
> --- a/Documentation/devicetree/bindings/net/nxp,s32-dwmac.yaml
> +++ b/Documentation/devicetree/bindings/net/nxp,s32-dwmac.yaml
> @@ -52,6 +52,9 @@ properties:
> - const: rx
> - const: ptp_ref
>
> + power-domains:
> + maxItems: 1
> +
> required:
> - clocks
> - clock-names
> diff --git a/Documentation/devicetree/bindings/net/qcom,ethqos.yaml
> b/Documentation/devicetree/bindings/net/qcom,ethqos.yaml index
> 423959cb928d..ef520f810577 100644
> --- a/Documentation/devicetree/bindings/net/qcom,ethqos.yaml
> +++ b/Documentation/devicetree/bindings/net/qcom,ethqos.yaml
> @@ -86,6 +86,9 @@ properties:
> phy-names:
> const: serdes
>
> + power-domains:
> + maxItems: 1
> +
> required:
> - compatible
> - clocks
> diff --git a/Documentation/devicetree/bindings/net/qcom,sa8255p-ethqos.yaml
> b/Documentation/devicetree/bindings/net/qcom,sa8255p-ethqos.yaml new file
> mode 100644
> index 000000000000..72bb764c0ca0
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/qcom,sa8255p-ethqos.yaml
> @@ -0,0 +1,98 @@
> +# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/qcom,sa8255p-ethqos.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm Ethernet ETHQOS device (firmware managed)
> +
> +maintainers:
> + - Bjorn Andersson <andersson@xxxxxxxxxx>
> + - Konrad Dybcio <konradybcio@xxxxxxxxxx>
> + - Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
> +
> +description:
> + dwmmac based Qualcomm ethernet devices which support Gigabit
> + ethernet (version v2.3.0 and onwards) with clocks, interconnects, etc.
> + managed by firmware
> +
> +allOf:
> + - $ref: snps,dwmac.yaml#
> +
> +properties:
> + compatible:
> + const: qcom,sa8255p-ethqos
> +
> + reg:
> + maxItems: 2
> +
> + reg-names:
> + items:
> + - const: stmmaceth
> + - const: rgmii
> +
> + interrupts:
> + items:
> + - description: Combined signal for various interrupt events
> + - description: The interrupt that occurs when HW safety error
> triggered +
> + interrupt-names:
> + items:
> + - const: macirq
> + - const: sfty
> +
> + power-domains:
> + minItems: 3
> + maxItems: 3
> +
> + power-domain-names:
> + items:
> + - const: core
> + - const: mdio
> + - const: serdes
> +
> + iommus:
> + maxItems: 1
> +
> + dma-coherent: true
> +
> +required:
> + - compatible
> + - reg-names
> + - power-domains
> + - power-domain-names
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> + ethernet: ethernet@7a80000 {
> + compatible = "qcom,sa8255p-ethqos";
> + reg = <0x23040000 0x10000>,
> + <0x23056000 0x100>;
> + reg-names = "stmmaceth", "rgmii";
> +
> + iommus = <&apps_smmu 0x120 0x7>;
> +
> + interrupts = <GIC_SPI 946 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 782 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "macirq", "sfty";
> +
> + dma-coherent;
> +
> + snps,tso;
> + snps,pbl = <32>;
> + rx-fifo-depth = <16384>;
> + tx-fifo-depth = <16384>;
> +
> + phy-handle = <ðernet_phy>;
> + phy-mode = "2500base-x";
> +
> + snps,mtl-rx-config = <&mtl_rx_setup1>;
> + snps,mtl-tx-config = <&mtl_tx_setup1>;
> +
> + power-domains = <&scmi8_pd 0>, <&scmi8_pd 1>, <&scmi8_dvfs 0>;
> + power-domain-names = "core", "mdio", "serdes";
> + };
> diff --git a/Documentation/devicetree/bindings/net/renesas,rzn1-gmac.yaml
> b/Documentation/devicetree/bindings/net/renesas,rzn1-gmac.yaml index
> 16dd7a2631ab..ed0d10a19ca4 100644
> --- a/Documentation/devicetree/bindings/net/renesas,rzn1-gmac.yaml
> +++ b/Documentation/devicetree/bindings/net/renesas,rzn1-gmac.yaml
> @@ -44,6 +44,9 @@ properties:
> phandle pointing to a PCS sub-node compatible with
> renesas,rzn1-miic.yaml#
>
> + power-domains:
> + maxItems: 1
> +
> required:
> - compatible
>
> diff --git a/Documentation/devicetree/bindings/net/renesas,rzv2h-gbeth.yaml
> b/Documentation/devicetree/bindings/net/renesas,rzv2h-gbeth.yaml index
> bd53ab300f50..bc5054b05f6d 100644
> --- a/Documentation/devicetree/bindings/net/renesas,rzv2h-gbeth.yaml
> +++ b/Documentation/devicetree/bindings/net/renesas,rzv2h-gbeth.yaml
> @@ -123,6 +123,9 @@ properties:
> Documentation/devicetree/bindings/net/pcs/renesas,rzn1-miic.yaml#
> (Refer RZ/T2H portion in the DT-binding file)
>
> + power-domains:
> + maxItems: 1
> +
> required:
> - compatible
> - reg
> diff --git a/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml
> b/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml index
> d17112527dab..ef82ff2a2884 100644
> --- a/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml
> +++ b/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml
> @@ -121,6 +121,9 @@ properties:
> phy-supply:
> description: PHY regulator
>
> + power-domains:
> + maxItems: 1
> +
> required:
> - compatible
> - clocks
> diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> b/Documentation/devicetree/bindings/net/snps,dwmac.yaml index
> dd3c72e8363e..312d1bbc2ad1 100644
> --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> @@ -71,6 +71,7 @@ properties:
> - loongson,ls7a-dwmac
> - nxp,s32g2-dwmac
> - qcom,qcs404-ethqos
> + - qcom,sa8255p-ethqos
> - qcom,sa8775p-ethqos
> - qcom,sc8280xp-ethqos
> - qcom,sm8150-ethqos
> @@ -180,7 +181,8 @@ properties:
> - const: ahb
>
> power-domains:
> - maxItems: 1
> + minItems: 1
> + maxItems: 3
>
> mac-mode:
> $ref: ethernet-controller.yaml#/properties/phy-connection-type
> @@ -643,6 +645,7 @@ allOf:
> - ingenic,x1830-mac
> - ingenic,x2000-mac
> - qcom,qcs404-ethqos
> + - qcom,sa8255p-ethqos
> - qcom,sa8775p-ethqos
> - qcom,sc8280xp-ethqos
> - qcom,sm8150-ethqos
> diff --git a/Documentation/devicetree/bindings/net/sophgo,cv1800b-dwmac.yaml
> b/Documentation/devicetree/bindings/net/sophgo,cv1800b-dwmac.yaml index
> b89456f0ef83..e78cbf594c69 100644
> --- a/Documentation/devicetree/bindings/net/sophgo,cv1800b-dwmac.yaml
> +++ b/Documentation/devicetree/bindings/net/sophgo,cv1800b-dwmac.yaml
> @@ -49,6 +49,9 @@ properties:
> reset-names:
> const: stmmaceth
>
> + power-domains:
> + maxItems: 1
> +
> required:
> - compatible
> - reg
> diff --git a/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml
> b/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml index
> e8d3814db0e9..845e2c67d200 100644
> --- a/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml
> +++ b/Documentation/devicetree/bindings/net/sophgo,sg2044-dwmac.yaml
> @@ -52,6 +52,9 @@ properties:
> interrupt-names:
> maxItems: 1
>
> + power-domains:
> + maxItems: 1
> +
> resets:
> maxItems: 1
>
> diff --git
> a/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml
> b/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml index
> 313a15331661..8a68c6d7b5c6 100644
> --- a/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml
> +++ b/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml
> @@ -71,6 +71,9 @@ properties:
> The argument one is the offset of phy mode selection, the
> argument two is the shift of phy mode selection.
>
> + power-domains:
> + maxItems: 1
> +
> required:
> - compatible
> - reg
> diff --git a/Documentation/devicetree/bindings/net/stm32-dwmac.yaml
> b/Documentation/devicetree/bindings/net/stm32-dwmac.yaml index
> 987254900d0d..29b878079ff0 100644
> --- a/Documentation/devicetree/bindings/net/stm32-dwmac.yaml
> +++ b/Documentation/devicetree/bindings/net/stm32-dwmac.yaml
> @@ -121,6 +121,9 @@ properties:
> minItems: 1
> maxItems: 2
>
> + power-domains:
> + maxItems: 1
> +
> required:
> - compatible
> - clocks
> diff --git a/Documentation/devicetree/bindings/net/tesla,fsd-ethqos.yaml
> b/Documentation/devicetree/bindings/net/tesla,fsd-ethqos.yaml index
> dd7481bb16e5..ad635529d676 100644
> --- a/Documentation/devicetree/bindings/net/tesla,fsd-ethqos.yaml
> +++ b/Documentation/devicetree/bindings/net/tesla,fsd-ethqos.yaml
> @@ -67,6 +67,9 @@ properties:
> - rgmii-rxid
> - rgmii-txid
>
> + power-domains:
> + maxItems: 1
> +
> required:
> - compatible
> - reg
> diff --git a/Documentation/devicetree/bindings/net/thead,th1520-gmac.yaml
> b/Documentation/devicetree/bindings/net/thead,th1520-gmac.yaml index
> b3492a9aa4ef..c859f8bb5d58 100644
> --- a/Documentation/devicetree/bindings/net/thead,th1520-gmac.yaml
> +++ b/Documentation/devicetree/bindings/net/thead,th1520-gmac.yaml
> @@ -78,6 +78,9 @@ properties:
> items:
> - const: macirq
>
> + power-domains:
> + maxItems: 1
> +
> required:
> - clocks
> - clock-names
> diff --git
> a/Documentation/devicetree/bindings/net/toshiba,visconti-dwmac.yaml
> b/Documentation/devicetree/bindings/net/toshiba,visconti-dwmac.yaml index
> f0f32e18fc85..efa39eab0256 100644
> --- a/Documentation/devicetree/bindings/net/toshiba,visconti-dwmac.yaml
> +++ b/Documentation/devicetree/bindings/net/toshiba,visconti-dwmac.yaml
> @@ -48,6 +48,9 @@ properties:
> interrupt-names:
> const: macirq
>
> + power-domains:
> + maxItems: 1
> +
> required:
> - compatible
> - reg
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 5b11839cba9d..fc8a25414417 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -21429,6 +21429,7 @@ L: netdev@xxxxxxxxxxxxxxx
> L: linux-arm-msm@xxxxxxxxxxxxxxx
> S: Maintained
> F: Documentation/devicetree/bindings/net/qcom,ethqos.yaml
> +F: Documentation/devicetree/bindings/net/qcom,sa8255p-ethqos.yaml
> F: drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
>
> QUALCOMM FASTRPC DRIVER
Haven't found any mentions of multiple power domains for RZ/N1, so LGTM.
Reviewed-by: Romain Gantois <romain.gantois@xxxxxxxxxxx> # For RZ/N1
Attachment:
signature.asc
Description: This is a digitally signed message part.