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

Ioana Ciornei ioana.ciornei at nxp.com
Tue May 6 07:21:57 PDT 2025


On Fri, May 02, 2025 at 09:04:03AM +0200, Krzysztof Kozlowski wrote:
> On Wed, Apr 30, 2025 at 06:36:33PM GMT, Ioana Ciornei wrote:
> > From: Vladimir Oltean <vladimir.oltean at nxp.com>
> > 
> > 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 at nxp.com>
> > Signed-off-by: Ioana Ciornei <ioana.ciornei at nxp.com>
> > ---
> >  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 at a {
> >  	};
> >  
> >  	fpga at 66 {
> > -		compatible = "fsl,ls1028aqds-fpga", "fsl,fpga-qixis-i2c",
> > -			     "simple-mfd";
> > +		compatible = "fsl,ls1028a-qds-qixis-i2c";
> 
> This breaks all the existing users. NAK.

Using a mainline kernel, this DT node was never used or probed by a
driver since that driver was never submitted. I am not breaking any user
of the mainline kernel.

> 
> >  		reg = <0x66>;
> > +		#address-cells = <1>;
> > +		#size-cells = <0>;
> >  
> > -		mux: mux-controller {
> > +		mux: mux-controller at 54 {
> 
> This was never tested. Your binding says something else.

Will fix the binding in v2.

Ioana



More information about the linux-arm-kernel mailing list