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

Wei Fang posted 13 patches 1 month, 1 week ago
There is a newer version of this series
[PATCH v3 net-next 02/13] dt-bindings: net: add i.MX95 ENETC support
Posted by Wei Fang 1 month, 1 week ago
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.
---
 .../devicetree/bindings/net/fsl,enetc.yaml    | 22 ++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/fsl,enetc.yaml b/Documentation/devicetree/bindings/net/fsl,enetc.yaml
index e152c93998fe..e418c3e6e6b1 100644
--- a/Documentation/devicetree/bindings/net/fsl,enetc.yaml
+++ b/Documentation/devicetree/bindings/net/fsl,enetc.yaml
@@ -20,10 +20,13 @@ maintainers:
 
 properties:
   compatible:
-    items:
+    oneOf:
+      - items:
+          - enum:
+              - pci1957,e100
+          - const: fsl,enetc
       - enum:
-          - pci1957,e100
-      - const: fsl,enetc
+          - pci1131,e101
 
   reg:
     maxItems: 1
@@ -40,6 +43,19 @@ 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
 
 unevaluatedProperties: false
 
-- 
2.34.1
Re: [PATCH v3 net-next 02/13] dt-bindings: net: add i.MX95 ENETC support
Posted by Frank Li 1 month, 1 week ago
On Thu, Oct 17, 2024 at 03:46:26PM +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.
> ---
>  .../devicetree/bindings/net/fsl,enetc.yaml    | 22 ++++++++++++++++---
>  1 file changed, 19 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/net/fsl,enetc.yaml b/Documentation/devicetree/bindings/net/fsl,enetc.yaml
> index e152c93998fe..e418c3e6e6b1 100644
> --- a/Documentation/devicetree/bindings/net/fsl,enetc.yaml
> +++ b/Documentation/devicetree/bindings/net/fsl,enetc.yaml
> @@ -20,10 +20,13 @@ maintainers:
>
>  properties:
>    compatible:
> -    items:
> +    oneOf:
> +      - items:
> +          - enum:
> +              - pci1957,e100
> +          - const: fsl,enetc
>        - enum:
> -          - pci1957,e100
> -      - const: fsl,enetc
> +          - pci1131,e101
>
>    reg:
>      maxItems: 1
> @@ -40,6 +43,19 @@ 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

Did you run CHECK_DTBS for your dts file? clocks\clock-names should be
under top 'properties" firstly. Then use 'if' restrict it. But I am not
sure for that. only dt_binding_check is not enough because your example
have not use clocks and clok-names.

Frank

>
>  unevaluatedProperties: false
>
> --
> 2.34.1
>
Re: [PATCH v3 net-next 02/13] dt-bindings: net: add i.MX95 ENETC support
Posted by Rob Herring 1 month, 1 week ago
On Thu, Oct 17, 2024 at 12:23:05PM -0400, Frank Li wrote:
> On Thu, Oct 17, 2024 at 03:46:26PM +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.
> > ---
> >  .../devicetree/bindings/net/fsl,enetc.yaml    | 22 ++++++++++++++++---
> >  1 file changed, 19 insertions(+), 3 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/net/fsl,enetc.yaml b/Documentation/devicetree/bindings/net/fsl,enetc.yaml
> > index e152c93998fe..e418c3e6e6b1 100644
> > --- a/Documentation/devicetree/bindings/net/fsl,enetc.yaml
> > +++ b/Documentation/devicetree/bindings/net/fsl,enetc.yaml
> > @@ -20,10 +20,13 @@ maintainers:
> >
> >  properties:
> >    compatible:
> > -    items:
> > +    oneOf:
> > +      - items:
> > +          - enum:
> > +              - pci1957,e100
> > +          - const: fsl,enetc
> >        - enum:
> > -          - pci1957,e100
> > -      - const: fsl,enetc
> > +          - pci1131,e101
> >
> >    reg:
> >      maxItems: 1
> > @@ -40,6 +43,19 @@ 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
> 
> Did you run CHECK_DTBS for your dts file? clocks\clock-names should be
> under top 'properties" firstly. Then use 'if' restrict it. But I am not
> sure for that. only dt_binding_check is not enough because your example
> have not use clocks and clok-names.

That's a manual check, but yes. Define all properties at top level.

Rob