From: Frank Li <Frank.li@oss.nxp.com>
To: Ioana Ciornei <ioana.ciornei@nxp.com>
Cc: Frank.Li@nxp.com, robh@kernel.org, krzk+dt@kernel.org,
conor+dt@kernel.org, devicetree@vger.kernel.org,
vladimir.oltean@nxp.com, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, imx@lists.linux.dev
Subject: Re: [PATCH v2 1/5] arm64: dts: lx2160a: transition to device-specific SerDes compatible strings
Date: Thu, 2 Jul 2026 07:23:44 -0500 [thread overview]
Message-ID: <akZYUNtEmdLp0Kvu@SMW015318> (raw)
In-Reply-To: <b5lpw3xu6svsq7xmmgp3jn4cg455zhp3iw4q6lcsxq4bqy7mwh@guuitghg3xal>
On Thu, Jul 02, 2026 at 10:35:00AM +0300, Ioana Ciornei wrote:
> On Wed, Jul 01, 2026 at 09:27:03AM -0500, Frank Li wrote:
> > On Wed, Jul 01, 2026 at 04:11:33PM +0300, Ioana Ciornei wrote:
> > > From: Vladimir Oltean <vladimir.oltean@nxp.com>
> > >
> > > Align to the modern fsl,lynx-28g.yaml binding, where the SoC and SerDes
> > > instance is present in the compatible string, to allow reliable per-lane
> > > capability detection and per-lane customization of electrical properties.
> > >
> > > The modern bindings are backward-incompatible with old kernels, due
> > > to the consumer phandles being either in one form or in another, as
> > > explained here:
> > > https://lore.kernel.org/lkml/20250930140735.mvo3jii7wgmzh2bs@skbuf/
> > >
> > > One of the major differences between the LX2160A and LX2162A is the
> > > SerDes. So far, LX2162A has used fsl-lx2160a-rev2.dtsi, but we need to
> > > split that up even further, and derive a fsl-lx2162a.dtsi which
> > > overrides the SerDes properties.
> > >
> > > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
> > > Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
> > > ---
> > > Changes in v2:
> > > - Enable serdes_1 on all board DTs that has consumers for it.
> > > - Use the proper name for serdes_3 in fsl-lx2162a.dtsi.
> > > - Remove paragraph from commit message which mentioned some consumer
> > > changes that are no longer needed nor part of the commit.
> > > ---
> > > .../freescale/fsl-lx2160a-clearfog-itx.dtsi | 4 +
> > > .../dts/freescale/fsl-lx2160a-half-twins.dts | 4 +
> > > .../boot/dts/freescale/fsl-lx2160a-rdb.dts | 4 +
> > > .../arm64/boot/dts/freescale/fsl-lx2160a.dtsi | 150 +++++++++++++++++-
> > > .../dts/freescale/fsl-lx2162a-clearfog.dts | 6 +-
> > > .../boot/dts/freescale/fsl-lx2162a-qds.dts | 2 +-
> > > .../arm64/boot/dts/freescale/fsl-lx2162a.dtsi | 24 +++
> > > 7 files changed, 190 insertions(+), 4 deletions(-)
> > > create mode 100644 arch/arm64/boot/dts/freescale/fsl-lx2162a.dtsi
> > >
> > ...
> > >
> > > +&serdes_1 {
> > > + status = "okay";
> > > +};
> > > +
> >
> > Can you try keep alphabet order? may old file is not ordersed, but try
> > best, at least should before &uart0
>
> Sure, will move it.
>
> >
> > > &uart1 {
> > > status = "okay";
> > > };
> > > diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
> > > index 1d73abffa6b7..a687eb3e3190 100644
> > > --- a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
> > > +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
> >
> > Please split chips dtsi and boards dts to two patch.
>
> Ok, I will split the serdes_1 explicit enable into a prep patch.
>
> >
> > > @@ -621,17 +621,163 @@ soc: soc {
> > > ranges;
> > > dma-ranges = <0x0 0x0 0x0 0x0 0x10000 0x00000000>;
> > >
> > > + /* Note on the interpretation of SerDes lane numbering from
> > > + * LX2160ARM lane mappings for RCW[SRDS_PRTCL_S1]:
> > > + * The letters (A-H) correspond to logical lane numbers in the
> > > + * SerDes register map (lane A's registers start with LNAGCR0),
> > > + * while the numbers (0-7) correspond to physical lanes as
> > > + * routed to pins. SerDes block #1 is flipped in the LX2160A
> > > + * floorplan (logical lane A goes to physical lane 7's pins),
> > > + * while SerDes blocks #2 and #3 are not. The lanes below are
> > > + * listed right to left when looking at that table.
> > > + * Both the numbers and the letters are according to the logical
> > > + * numbering scheme, and do not account for the flipping.
> > > + */
> > ...
> > > + compatible = "fsl,lx2160a-serdes3";
> > > + reg = <0x0 0x1ec0000 0x0 0x1e30>;
> > > + #address-cells = <1>;
> > > + #size-cells = <0>;
> > > + status = "disabled";
> >
> > status should be last property
>
> Ok, will move it.
>
> >
> > > + #phy-cells = <1>;
> > > +
> > > + serdes_3_lane_a: phy@0 {
> > > + reg = <0>;
> > > + #phy-cells = <0>;
> > > + };
> > > +
> > ...
> > > +
> > > +#include "fsl-lx2160a-rev2.dtsi"
> > > +
> > > +&serdes_1 {
> > > + compatible = "fsl,lx2162a-serdes1", "fsl,lynx-28g";
> > > +
> > > + /delete-node/ phy@0;
> > > + /delete-node/ phy@1;
> > > + /delete-node/ phy@2;
> > > + /delete-node/ phy@3;
> >
> > Now, do not perfer delete-node. if ver2 is not include phy@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.
Frank
>
> The delete-node is reflecting exactly how the SoCs came about, the
> LX2162A is a smaller version of the LX2160A (which came first) and not
> the other way around.
>
> I feel like it's unnecessary churn but let me know if you feel strongly
> about this.
>
> Thanks,
> Ioana
next prev parent reply other threads:[~2026-07-02 12:24 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-01 13:11 [PATCH v2 0/5] arm64: dts: describe the Lynx 10G and 28G SerDes blocks for Layerscape SoCs Ioana Ciornei
2026-07-01 13:11 ` [PATCH v2 1/5] arm64: dts: lx2160a: transition to device-specific SerDes compatible strings Ioana Ciornei
2026-07-01 14:27 ` Frank Li
2026-07-02 7:35 ` Ioana Ciornei
2026-07-02 12:23 ` Frank Li [this message]
2026-07-01 13:11 ` [PATCH v2 2/5] arm64: dts: ls1028a: describe the Lynx 10G SerDes Ioana Ciornei
2026-07-01 13:11 ` [PATCH v2 3/5] arm64: dts: ls1046a: describe the Lynx 10G SerDes blocks Ioana Ciornei
2026-07-01 13:11 ` [PATCH v2 4/5] arm64: dts: ls208xa: " Ioana Ciornei
2026-07-01 13:11 ` [PATCH v2 5/5] arm64: dts: ls1088a: " Ioana Ciornei
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=akZYUNtEmdLp0Kvu@SMW015318 \
--to=frank.li@oss.nxp.com \
--cc=Frank.Li@nxp.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=imx@lists.linux.dev \
--cc=ioana.ciornei@nxp.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh@kernel.org \
--cc=vladimir.oltean@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox