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@xxxxxxx> > > --- > > 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