The MDIO mux on the LS1028A-QDS never worked in mainline. The device tree was submitted as-is, and there is a downstream driver for the QIXIS FPGA: https://source.codeaurora.org/external/qoriq/qoriq-components/linux/tree/drivers/soc/fsl/qixis_ctrl.c?h=lf-5.10.72-2.2.0 That driver is very similar to the already existing drivers/mfd/simple-mfd-i2c.c, and the hardware works with the simple-mfd-i2c driver, so there isn't any reason to upstream the other one. This change adapts the compatible string and child node format of the FPGA node, so that the simple-mfd-i2c driver accepts it. Signed-off-by: Vladimir Oltean <vladimir.oltean@xxxxxxx> --- arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts index 177bc1405f0f..6bd58fd9c90f 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts @@ -314,17 +314,18 @@ sgtl5000: audio-codec@a { }; fpga@66 { - compatible = "fsl,ls1028aqds-fpga", "fsl,fpga-qixis-i2c", - "simple-mfd"; + compatible = "fsl,ls1028a-qds-qixis-i2c"; reg = <0x66>; + #address-cells = <1>; + #size-cells = <0>; - mux: mux-controller { + mux: mux-controller@54 { compatible = "reg-mux"; + reg = <0x54>; #mux-control-cells = <1>; mux-reg-masks = <0x54 0xf0>; /* 0: reg 0x54, bits 7:4 */ }; }; - }; &i2c1 { -- 2.25.1