Re: [PATCH 5/6] arm64: dts: ls1028a-qds: make the QIXIS CPLD use the simple-mfd-i2c.c driver

From: Krzysztof Kozlowski
Date: Fri May 02 2025 - 03:04:12 EST


On Wed, Apr 30, 2025 at 06:36:33PM GMT, Ioana Ciornei wrote:
> From: Vladimir Oltean <vladimir.oltean@xxxxxxx>
>
> 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://github.com/nxp-qoriq/linux/blob/lf-6.12.y/drivers/soc/fsl/qixis_ctrl.c
>
> 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.
>
> Adapt the compatible string and child node format of the FPGA node, so
> that the simple-mfd-i2c driver accepts it.

Why do you break the users based on some driver differences? Fix the
drivers, not the DTS.

>
> Signed-off-by: Vladimir Oltean <vladimir.oltean@xxxxxxx>
> Signed-off-by: Ioana Ciornei <ioana.ciornei@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 0bb2f28a0441..58b54d521d75 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts
> @@ -338,17 +338,18 @@ sgtl5000: audio-codec@a {
> };
>
> fpga@66 {
> - compatible = "fsl,ls1028aqds-fpga", "fsl,fpga-qixis-i2c",
> - "simple-mfd";
> + compatible = "fsl,ls1028a-qds-qixis-i2c";

This breaks all the existing users. NAK.

> reg = <0x66>;
> + #address-cells = <1>;
> + #size-cells = <0>;
>
> - mux: mux-controller {
> + mux: mux-controller@54 {

This was never tested. Your binding says something else.

> compatible = "reg-mux";
> + reg = <0x54>;
> #mux-control-cells = <1>;
> mux-reg-masks = <0x54 0xf0>; /* 0: reg 0x54, bits 7:4 */
> };
> };
> -
> };
>
> &i2c1 {
> --
> 2.25.1
>