diff mbox series

[v4,net-next,02/13] dt-bindings: net: add i.MX95 ENETC support

Message ID 20241022055223.382277-3-wei.fang@nxp.com (mailing list archive)
State Superseded
Headers show
Series add basic support for i.MX95 NETC | expand

Commit Message

Wei Fang Oct. 22, 2024, 5:52 a.m. UTC
The ENETC of i.MX95 has been upgraded to revision 4.1, and the vendor
ID and device ID have also changed, so add the new compatible strings
for i.MX95 ENETC. In addition, i.MX95 supports configuration of RGMII
or RMII reference clock.

Signed-off-by: Wei Fang <wei.fang@nxp.com>
---
v2: Remove "nxp,imx95-enetc" compatible string.
v3:
1. Add restriction to "clcoks" and "clock-names" properties and rename
the clock, also remove the items from these two properties.
2. Remove unnecessary items for "pci1131,e101" compatible string.
v4: Move clocks and clock-names to top level.
---
 .../devicetree/bindings/net/fsl,enetc.yaml    | 33 +++++++++++++++++--
 1 file changed, 30 insertions(+), 3 deletions(-)

Comments

Frank Li Oct. 22, 2024, 4:13 p.m. UTC | #1
On Tue, Oct 22, 2024 at 01:52:12PM +0800, Wei Fang wrote:
> The ENETC of i.MX95 has been upgraded to revision 4.1, and the vendor
> ID and device ID have also changed, so add the new compatible strings
> for i.MX95 ENETC. In addition, i.MX95 supports configuration of RGMII
> or RMII reference clock.
>
> Signed-off-by: Wei Fang <wei.fang@nxp.com>
> ---
> v2: Remove "nxp,imx95-enetc" compatible string.
> v3:
> 1. Add restriction to "clcoks" and "clock-names" properties and rename
> the clock, also remove the items from these two properties.
> 2. Remove unnecessary items for "pci1131,e101" compatible string.
> v4: Move clocks and clock-names to top level.
> ---
>  .../devicetree/bindings/net/fsl,enetc.yaml    | 33 +++++++++++++++++--
>  1 file changed, 30 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/net/fsl,enetc.yaml b/Documentation/devicetree/bindings/net/fsl,enetc.yaml
> index e152c93998fe..7a4d9c53f8aa 100644
> --- a/Documentation/devicetree/bindings/net/fsl,enetc.yaml
> +++ b/Documentation/devicetree/bindings/net/fsl,enetc.yaml
> @@ -20,14 +20,23 @@ maintainers:
>
>  properties:
>    compatible:
> -    items:
> +    oneOf:
> +      - items:
> +          - enum:
> +              - pci1957,e100
> +          - const: fsl,enetc
>        - enum:
> -          - pci1957,e100
> -      - const: fsl,enetc
> +          - pci1131,e101
>
>    reg:
>      maxItems: 1
>
> +  clocks:
> +    maxItems: 1
> +
> +  clock-names:
> +    maxItems: 1
> +
>    mdio:
>      $ref: mdio.yaml
>      unevaluatedProperties: false
> @@ -40,6 +49,24 @@ required:
>  allOf:
>    - $ref: /schemas/pci/pci-device.yaml
>    - $ref: ethernet-controller.yaml
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - pci1131,e101
> +    then:
> +      properties:
> +        clocks:
> +          maxItems: 1
> +          description: MAC transmit/receiver reference clock

items:
  - description: MAC transmit/receiver reference clock

> +
> +        clock-names:
> +          const: ref

items:
  - const: ref

Frank

> +    else:
> +      properties:
> +        clocks: false
> +        clock-names: false
>
>  unevaluatedProperties: false
>
> --
> 2.34.1
>
Wei Fang Oct. 23, 2024, 1:40 a.m. UTC | #2
> >  allOf:
> >    - $ref: /schemas/pci/pci-device.yaml
> >    - $ref: ethernet-controller.yaml
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            enum:
> > +              - pci1131,e101
> > +    then:
> > +      properties:
> > +        clocks:
> > +          maxItems: 1
> > +          description: MAC transmit/receiver reference clock
> 
> items:
>   - description: MAC transmit/receiver reference clock

I remember Rob said maxItems:1 is enough, I think items is no needed here.

> 
> > +
> > +        clock-names:
> > +          const: ref
> 
> items:
>   - const: ref

I think const: ref is enough, I referenced several other YAML files, such as
cortina,gemini-ethernet.yaml, allwinner,sun8i-a83t-emac.yaml.

> > 
> > +    else:
> > +      properties:
> > +        clocks: false
> > +        clock-names: false
> >
> >  unevaluatedProperties: false
> >
> > --
> > 2.34.1
> >
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/net/fsl,enetc.yaml b/Documentation/devicetree/bindings/net/fsl,enetc.yaml
index e152c93998fe..7a4d9c53f8aa 100644
--- a/Documentation/devicetree/bindings/net/fsl,enetc.yaml
+++ b/Documentation/devicetree/bindings/net/fsl,enetc.yaml
@@ -20,14 +20,23 @@  maintainers:
 
 properties:
   compatible:
-    items:
+    oneOf:
+      - items:
+          - enum:
+              - pci1957,e100
+          - const: fsl,enetc
       - enum:
-          - pci1957,e100
-      - const: fsl,enetc
+          - pci1131,e101
 
   reg:
     maxItems: 1
 
+  clocks:
+    maxItems: 1
+
+  clock-names:
+    maxItems: 1
+
   mdio:
     $ref: mdio.yaml
     unevaluatedProperties: false
@@ -40,6 +49,24 @@  required:
 allOf:
   - $ref: /schemas/pci/pci-device.yaml
   - $ref: ethernet-controller.yaml
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - pci1131,e101
+    then:
+      properties:
+        clocks:
+          maxItems: 1
+          description: MAC transmit/receiver reference clock
+
+        clock-names:
+          const: ref
+    else:
+      properties:
+        clocks: false
+        clock-names: false
 
 unevaluatedProperties: false