Re: [PATCH net-next v6 10/12] dt-bindings: net: dsa: lantiq,gswip: add support for MaxLinear GSW1xx switches

From: Krzysztof Kozlowski
Date: Mon Nov 03 2025 - 03:28:35 EST


On Fri, Oct 31, 2025 at 07:22:39PM +0000, Daniel Golle wrote:
> Extend the Lantiq GSWIP device tree binding to also cover MaxLinear
> GSW1xx switches which are based on the same hardware IP but connected
> via MDIO instead of being memory-mapped.
>
> Add compatible strings for MaxLinear GSW120, GSW125, GSW140, GSW141,
> and GSW145 switches and adjust the schema to handle the different
> connection methods with conditional properties.
>
> Add MaxLinear GSW125 example showing MDIO-connected configuration.
>
> Signed-off-by: Daniel Golle <daniel@xxxxxxxxxxxxxx>
> ---
> v6:
> * keep properties on top level and use allOf for conditional constraints
>
> v5:
> * drop maxlinear,rx-inverted from example
>
> v4:
> * drop maxlinear,rx-inverted and maxlinear,tx-inverted properties for
> now in favor of upcoming generic properties
>
> v3:
> * add maxlinear,rx-inverted and maxlinear,tx-inverted properties
>
> v2:
> * remove git conflict left-overs which somehow creeped in
> * indent example with 4 spaces instead of tabs
>
> .../bindings/net/dsa/lantiq,gswip.yaml | 131 +++++++++++++++++-
> 1 file changed, 126 insertions(+), 5 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/net/dsa/lantiq,gswip.yaml b/Documentation/devicetree/bindings/net/dsa/lantiq,gswip.yaml
> index cf01b07f7f44..8904d0b6cec5 100644
> --- a/Documentation/devicetree/bindings/net/dsa/lantiq,gswip.yaml
> +++ b/Documentation/devicetree/bindings/net/dsa/lantiq,gswip.yaml
> @@ -4,7 +4,12 @@
> $id: http://devicetree.org/schemas/net/dsa/lantiq,gswip.yaml#
> $schema: http://devicetree.org/meta-schemas/core.yaml#
>
> -title: Lantiq GSWIP Ethernet switches
> +title: Lantiq GSWIP and MaxLinear GSW1xx Ethernet switches
> +
> +description:
> + Lantiq GSWIP and MaxLinear GSW1xx switches share the same hardware IP.
> + Lantiq switches are embedded in SoCs and accessed via memory-mapped I/O,
> + while MaxLinear switches are standalone ICs connected via MDIO.
>
> $ref: dsa.yaml#
>
> @@ -46,9 +51,14 @@ properties:
> - lantiq,xrx200-gswip
> - lantiq,xrx300-gswip
> - lantiq,xrx330-gswip
> + - maxlinear,gsw120
> + - maxlinear,gsw125
> + - maxlinear,gsw140
> + - maxlinear,gsw141
> + - maxlinear,gsw145
>
> reg:
> - minItems: 3
> + minItems: 1
> maxItems: 3
>
> reg-names:
> @@ -65,9 +75,6 @@ properties:
> compatible:
> const: lantiq,xrx200-mdio
>
> - required:
> - - compatible
> -
> gphy-fw:
> type: object
> properties:
> @@ -123,6 +130,32 @@ required:
> - compatible
> - reg
>
> +allOf:
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - lantiq,xrx200-gswip
> + - lantiq,xrx300-gswip
> + - lantiq,xrx330-gswip
> + then:
> + properties:
> + reg:
> + minItems: 3
> + maxItems: 3
> + mdio:
> + required:
> + - compatible
> + required:
> + - reg-names

This wasn't before and is a change in existing binding. You need a
separate patch with its own explanation.

> + else:
> + properties:
> + reg:
> + maxItems: 1
> + reg-names: false
> + gphy-fw: false
> +
> unevaluatedProperties: false

Best regards,
Krzysztof