Hello Krzysztof, On 21/09/22 12:09, Krzysztof Kozlowski wrote: > On 20/09/2022 06:27, Siddharth Vadapalli wrote: >> Hello Krzysztof, >> >>>> + then: >>>> + properties: >>>> + ti,qsgmii-main-ports: >>>> + minItems: 2 >>>> + maxItems: 2 >>>> + items: >>>> + minimum: 1 >>>> + maximum: 8 >>>> + >>>> - if: >>>> not: >>>> properties: >>>> @@ -94,6 +133,7 @@ allOf: >>>> contains: >>>> enum: >>>> - ti,j7200-cpsw5g-phy-gmii-sel >>>> + - ti,j721e-cpsw9g-phy-gmii-sel >>>> then: >>>> properties: >>>> ti,qsgmii-main-ports: false >>> >>> This is interesting here... Did you test the bindings with your DTS? >> >> Yes, I tried it out with different compatibles in the DTS file for the >> node, making sure that the property "ti,qsgmii-main-ports" is allowed >> only for the "ti,j7200-cpsw5g-phy-gmii-sel" and the >> "ti,j721e-cpsw9g-phy-gmii-sel" compatibles. Additionally, I also tested >> that the "minItems", "maxItems", "minimum" and "maximum" checks apply. >> All of the rules within the "allOf", are enforced one after the other in >> sequence, based on my testing. Please let me know in case of any >> suggestions to implement it in a better way. > > Great! I think I see now what I missed previously. The last hunk with > "ti,qsgmii-main-ports: false" is in a if: with negation ("not:")? Yes, the newly added compatible "ti,j721e-cpsw9g-phy-gmii-sel" is placed within an "if:" followed by a "not:", along with the already existing "ti,j7200-cpsw5g-phy-gmii-sel" compatible. With this, "ti,qsgmii-main-ports" is allowed only for the aforementioned compatibles and disallowed for the rest. Regards, Siddharth.