diff mbox series

[RFC,v2,linux-next,10/14] dt-bindings: net: dsa: sja1105: add SJA1110 bindings

Message ID 20210526135535.2515123-11-vladimir.oltean@nxp.com (mailing list archive)
State Superseded
Delegated to: Netdev Maintainers
Headers show
Series Add NXP SJA1110 support to the sja1105 DSA driver | expand

Checks

Context Check Description
netdev/tree_selection success Guessing tree name failed - patch did not apply

Commit Message

Vladimir Oltean May 26, 2021, 1:55 p.m. UTC
There are 4 variations of the SJA1110 switch which have a different set
of MII protocols supported per port. Document the compatible strings.

Also, the SJA1110 optionally supports 2 internal MDIO buses for 2
different types of Ethernet PHYs. Document a container node called
"mdios" which has 2 subnodes "mdio@0" and "mdio@1", identifiable via
compatible string, under which the driver finds the internal PHYs.

Cc: Rob Herring <robh@kernel.org>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
---
Changes in v2:
Patch is new.

 .../bindings/net/dsa/nxp,sja1105.yaml         | 43 +++++++++++++++++++
 1 file changed, 43 insertions(+)

Comments

Rob Herring (Arm) May 26, 2021, 2:19 p.m. UTC | #1
On Wed, May 26, 2021 at 8:56 AM Vladimir Oltean <olteanv@gmail.com> wrote:
>
> There are 4 variations of the SJA1110 switch which have a different set
> of MII protocols supported per port. Document the compatible strings.
>
> Also, the SJA1110 optionally supports 2 internal MDIO buses for 2
> different types of Ethernet PHYs. Document a container node called
> "mdios" which has 2 subnodes "mdio@0" and "mdio@1", identifiable via
> compatible string, under which the driver finds the internal PHYs.
>
> Cc: Rob Herring <robh@kernel.org>
> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
> ---
> Changes in v2:
> Patch is new.
>
>  .../bindings/net/dsa/nxp,sja1105.yaml         | 43 +++++++++++++++++++
>  1 file changed, 43 insertions(+)

Please use get_maintainers.pl and resend to the right lists.
Specifically, the DT list in this case.

> diff --git a/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml b/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml
> index c1f18849a54a..640da65b0f59 100644
> --- a/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml
> +++ b/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml
> @@ -28,10 +28,53 @@ properties:
>            - nxp,sja1105q
>            - nxp,sja1105r
>            - nxp,sja1105s
> +          - nxp,sja1110a
> +          - nxp,sja1110b
> +          - nxp,sja1110c
> +          - nxp,sja1110d
>
>    reg:
>      maxItems: 1
>
> +  # Optional container node for the 2 internal MDIO buses of the SJA1110
> +  # (one for the internal 100base-T1 PHYs and the other for the single
> +  # 100base-TX PHY). The "reg" property does not have physical significance.
> +  # The PHY addresses to port correspondence is as follows: for 100base-T1,
> +  # port 5 has PHY 1, port 6 has PHY 2 etc, while for 100base-TX, port 1 has
> +  # PHY 1.
> +  mdios:
> +    type: object
> +
> +    properties:
> +      '#address-cells':
> +        const: 1
> +      '#size-cells':
> +        const: 0
> +
> +    patternProperties:
> +      "^mdio@[0-1]$":
> +        type: object
> +
> +        allOf:
> +          - $ref: "http://devicetree.org/schemas/net/mdio.yaml#"
> +
> +        properties:
> +          compatible:
> +            oneOf:
> +              - enum:

Don't need oneOf when there is only 1 entry.


> +                  - nxp,sja1110-base-t1-mdio
> +                  - nxp,sja1110-base-tx-mdio
> +
> +          reg:
> +            oneOf:
> +              - enum:
> +                - 0
> +                - 1
> +
> +        required:
> +          - compatible
> +          - reg
> +
>  patternProperties:
>    "^(ethernet-)?ports$":
>      type: object
> --
> 2.25.1
>
Vladimir Oltean May 26, 2021, 2:25 p.m. UTC | #2
On Wed, May 26, 2021 at 09:19:49AM -0500, Rob Herring wrote:
> On Wed, May 26, 2021 at 8:56 AM Vladimir Oltean <olteanv@gmail.com> wrote:
> >
> > There are 4 variations of the SJA1110 switch which have a different set
> > of MII protocols supported per port. Document the compatible strings.
> >
> > Also, the SJA1110 optionally supports 2 internal MDIO buses for 2
> > different types of Ethernet PHYs. Document a container node called
> > "mdios" which has 2 subnodes "mdio@0" and "mdio@1", identifiable via
> > compatible string, under which the driver finds the internal PHYs.
> >
> > Cc: Rob Herring <robh@kernel.org>
> > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
> > ---
> > Changes in v2:
> > Patch is new.
> >
> >  .../bindings/net/dsa/nxp,sja1105.yaml         | 43 +++++++++++++++++++
> >  1 file changed, 43 insertions(+)
> 
> Please use get_maintainers.pl and resend to the right lists.
> Specifically, the DT list in this case.

Thanks, I'll resend the 2 dt-bindings patches separately right away, if
getting the driver merged in a later series compared to the bindings is
acceptable.

> > diff --git a/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml b/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml
> > index c1f18849a54a..640da65b0f59 100644
> > --- a/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml
> > +++ b/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml
> > @@ -28,10 +28,53 @@ properties:
> >            - nxp,sja1105q
> >            - nxp,sja1105r
> >            - nxp,sja1105s
> > +          - nxp,sja1110a
> > +          - nxp,sja1110b
> > +          - nxp,sja1110c
> > +          - nxp,sja1110d
> >
> >    reg:
> >      maxItems: 1
> >
> > +  # Optional container node for the 2 internal MDIO buses of the SJA1110
> > +  # (one for the internal 100base-T1 PHYs and the other for the single
> > +  # 100base-TX PHY). The "reg" property does not have physical significance.
> > +  # The PHY addresses to port correspondence is as follows: for 100base-T1,
> > +  # port 5 has PHY 1, port 6 has PHY 2 etc, while for 100base-TX, port 1 has
> > +  # PHY 1.
> > +  mdios:
> > +    type: object
> > +
> > +    properties:
> > +      '#address-cells':
> > +        const: 1
> > +      '#size-cells':
> > +        const: 0
> > +
> > +    patternProperties:
> > +      "^mdio@[0-1]$":
> > +        type: object
> > +
> > +        allOf:
> > +          - $ref: "http://devicetree.org/schemas/net/mdio.yaml#"
> > +
> > +        properties:
> > +          compatible:
> > +            oneOf:
> > +              - enum:
> 
> Don't need oneOf when there is only 1 entry.

I assume this is true for the "nxp,sja1105*" compatibles for the driver
itself too.

> > +                  - nxp,sja1110-base-t1-mdio
> > +                  - nxp,sja1110-base-tx-mdio
> > +
> > +          reg:
> > +            oneOf:
> > +              - enum:
> > +                - 0
> > +                - 1
> > +
> > +        required:
> > +          - compatible
> > +          - reg
> > +
> >  patternProperties:
> >    "^(ethernet-)?ports$":
> >      type: object
> > --
> > 2.25.1
> >
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml b/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml
index c1f18849a54a..640da65b0f59 100644
--- a/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml
+++ b/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml
@@ -28,10 +28,53 @@  properties:
           - nxp,sja1105q
           - nxp,sja1105r
           - nxp,sja1105s
+          - nxp,sja1110a
+          - nxp,sja1110b
+          - nxp,sja1110c
+          - nxp,sja1110d
 
   reg:
     maxItems: 1
 
+  # Optional container node for the 2 internal MDIO buses of the SJA1110
+  # (one for the internal 100base-T1 PHYs and the other for the single
+  # 100base-TX PHY). The "reg" property does not have physical significance.
+  # The PHY addresses to port correspondence is as follows: for 100base-T1,
+  # port 5 has PHY 1, port 6 has PHY 2 etc, while for 100base-TX, port 1 has
+  # PHY 1.
+  mdios:
+    type: object
+
+    properties:
+      '#address-cells':
+        const: 1
+      '#size-cells':
+        const: 0
+
+    patternProperties:
+      "^mdio@[0-1]$":
+        type: object
+
+        allOf:
+          - $ref: "http://devicetree.org/schemas/net/mdio.yaml#"
+
+        properties:
+          compatible:
+            oneOf:
+              - enum:
+                  - nxp,sja1110-base-t1-mdio
+                  - nxp,sja1110-base-tx-mdio
+
+          reg:
+            oneOf:
+              - enum:
+                - 0
+                - 1
+
+        required:
+          - compatible
+          - reg
+
 patternProperties:
   "^(ethernet-)?ports$":
     type: object