[PATCH v2 1/5] arm64: dts: lx2160a: transition to device-specific SerDes compatible strings

Frank Li Frank.li at oss.nxp.com
Mon Jul 6 12:23:07 PDT 2026


On Fri, Jul 03, 2026 at 02:42:39PM +0300, Ioana Ciornei wrote:
> I just realized that I somehow didn't reply-all to this message and only
> responded to Frank. My response is copied below now.
>
> > > > > +
> > > > > +#include "fsl-lx2160a-rev2.dtsi"
> > > > > +
> > > > > +&serdes_1 {
> > > > > +       compatible = "fsl,lx2162a-serdes1", "fsl,lynx-28g";
> > > > > +
> > > > > +       /delete-node/ phy at 0;
> > > > > +       /delete-node/ phy at 1;
> > > > > +       /delete-node/ phy at 2;
> > > > > +       /delete-node/ phy at 3;
> > > >
> > > > Now, do not perfer delete-node. if ver2 is not include phy at 0, ...
> > > >
> > > > create ver2 files, let ver2 include it. Now most people like A + B, not
> > > > A - B.
> > > >
> > >
> > > I am not sure I follow what you say about the ver2 files - are you
> > > referring to -rev2 or LX2162A?
> > >
> > > The LX2162A is a version of the LX2160A SoC, also known as "LX2-Lite".
> > > And the main difference is that the LX2162A does not have the 3rd SerDes
> > > block and only 4 SerDes lanes on the first block.
> >
> > If it is the same die and it is disable by fuse box. I suggest leave it here
> > now because default it is disabled and try to access-control-cell in future.
> >
> > https://lore.kernel.org/imx/20241212-imx-ocotp-v1-1-198bb0af86a0@nxp.com/
> >
> > That these nodes can be dymatically disabled it.
> >
> > If it is difference die, it should lx2160a.dtsi include lx2-lite. you
> > can rename old lx2160a.dtsi to lx2-lites.dtsi. You need adjust file name
> > and I just said overwhole method.
>
> LX2160A and LX2162A are different dies but the process is not that
> simple as just a rename of the fsl-lx2160a.dtsi. First of all, because
> the LX2162A has the same PCIe controller as LX2160A Rev2
> (fsl-lx2160a-rev2.dtsi) and not LX2160A Rev1 (fsl-lx2160a.dtsi), so if
> there would be a rename it should be fsl-lx2160a-rev2.dtsi ->
> fsl-lx2162a.dtsi.
>
> But even that rename is problematic. SerDes nodes currently live in the
> fsl-lx2160a.dtsi (common for Rev1 and Rev2) which would mean that
> fsl-lx2162a.dtsi would still inherit all the SerDes nodes, even the
> SerDes block #3 not present on LX2162A. I can combat this by keeping
> only the common SerDes nodes in fsl-lx2160a.dtsi and add the necessary
> extra SerDes nodes in fsl-lx2160a-rev2.dtsi. But this would leave the
> Rev1 dtsi without all the necessary nodes, which is not ok.
>
> In this context, I think that if there is a need to not use delete-node
> I need to come up with some kind of a scheme like below:
>
> fsl-lx216x.dtsi			---> fsl-lx2160a.dtsi (PCIe gen4, 3 SerDes blocks)
> (no PCIe, no SerDes)		---> fsl-lx2160a-rev2.dtsi (PCIe gen3, 3 SerDes blocks)
> 				---> fsl-lx2162a.dtsi (PCIe gen3, 2 SerDes blocks)

try it, let's look what finial result.

Frank
>
> For the "PCIe gen4", "PCIe gen3", "3 SerDes nodes" and "2 SerDes blocks"
> above I would add independent .dtsi files that can be included as
> needed, so that there is no dt duplication.
>
> That is why I said that there would be a lot of unnecessary churn.
>
> Ioana



More information about the linux-arm-kernel mailing list