mdio.yaml wrong parser mdio controller's address instead phy's address when mdio-mux exist. For example: mdio-mux-emi1@54 { compatible = "mdio-mux-mmioreg", "mdio-mux"; mdio@20 { reg = <0x20>; ^^^ This is mdio controller register ethernet-phy@2 { reg = <0x2>; ^^^ This phy's address }; }; }; Only phy's address is limited to 31 because MDIO bus defination. But CHECK_DTBS report below warning: arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dtb: mdio-mux-emi1@54: mdio@20:reg:0:0: 32 is greater than the maximum of 31 The reason is that "mdio@20" match "patternProperties: '@[0-9a-f]+$'" in mdio.yaml. Change to '^(?!mdio@).*@[0-9a-f]+$' to avoid match parent's mdio controller's address. Signed-off-by: Frank Li <Frank.Li@xxxxxxx> --- Documentation/devicetree/bindings/net/mdio.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/net/mdio.yaml b/Documentation/devicetree/bindings/net/mdio.yaml index a266ade918ca7..a7def3eb4674d 100644 --- a/Documentation/devicetree/bindings/net/mdio.yaml +++ b/Documentation/devicetree/bindings/net/mdio.yaml @@ -59,7 +59,7 @@ properties: type: boolean patternProperties: - '@[0-9a-f]+$': + '^(?!mdio@).*@[0-9a-f]+$': type: object properties: -- 2.34.1