On 04/05/2022 09:44, Frank Wunderlich wrote: > m 4. Mai 2022 08:51:41 MESZ schrieb Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>: >> On 03/05/2022 17:03, Frank Wunderlich wrote: >>> >>> have not posted this version as it was failing in dtbs_check, this >> was how i tried: >>> >>> >> https://github.com/frank-w/BPI-R2-4.14/blob/8f2033eb6fcae273580263c3f0b31f0d48821740/Documentation/devicetree/bindings/net/dsa/mediatek.yaml#L177 >> >> You have mixed up indentation of the second if (and missing -). > > The "compatible if" should be a child of the "if" above,because phy-mode property only exists for cpu-port. I can try with additional "-" (but i guess this is only needed for allOf) > > Rob told me that i cannot check compatible in subnode and this check will be always true...just like my experience. > I can only make the compatible check at top-level and then need to define substructure based on this (so define structure twice). He suggested me adding this to description for now. > > Imho this can be added later if really needed...did not found any example checking for compatible in a subnode. All were in top level. Afair these properties are handled by dsa-core/phylink and driver only compares constants set there. Sure. > >> But I think your check was not correct. I looked at bpi-r2 DTS >> (mt7623n) >> and pio controller uses GPIO flags. > > I see only same as in the example > > https://elixir.bootlin.com/linux/latest/source/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts#L196 I meant other consumers of pio GPIOs: https://elixir.bootlin.com/linux/latest/source/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts#L97 https://elixir.bootlin.com/linux/latest/source/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts#L320 Best regards, Krzysztof