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