U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 00/13] board: lx2160a: runtime SD 1 lane configuration for LX2160A boards
@ 2026-10-01 20:47 Vincent Jardin
  2026-10-01 20:47 ` [PATCH v6 01/13] board: lx2160a: serdes: drop the split subcommand Vincent Jardin
                   ` (12 more replies)
  0 siblings, 13 replies; 21+ messages in thread
From: Vincent Jardin @ 2026-10-01 20:47 UTC (permalink / raw)
  To: u-boot
  Cc: Priyanka Jain, Wasim Khan, Tom Rini, Vladimir Oltean, Peng Fan,
	Ioana Ciornei, Hemant Agrawal, Meenakshi Aggarwal, Vincent Jardin


The 1x100GE + 4x25G split of SerDes 1 is in next since v1, commit
035d68fc36b5 ("lx2160: add lx2160_serdes split and management").

This series builds on it with incremental patches to ease reviews,
but with many reworks:

- No more command that re-groups the lanes at the prompt: the MC has
  already started. Use hwconfig
- hwconfig values are named based on needed cases:
  serdes1:split becomes serdes1:100g4x25g (patch 2)
- Use a table (patches 3 to 5), and enter a mode through the one it
  starts from (patch 9)
- One patch per new mode: 2x40GE, 1x40GE + 4x10G and 1x100GE + 4x10G
- Rewrite documentation
- Add and apply to nbxv3

It is now mainly tested on a Nodebox v3
  setenv hwconfig serdes1:<mode>
  saveenv
  reset

- print checks using lx2160_serdes status 1
- in Linux, with the matching MC DPC, DPL: each case has its netdevices

As agreed with Tom on v4, the conversion of README.soc and
README.fsl-hwconfig to rST will be a separate series, after this one.

v5: https://lore.kernel.org/u-boot/20260929175947.1379710-1-vjardin@free.fr/
v4: https://lore.kernel.org/u-boot/20260928101330.881662-1-vjardin@free.fr/
v3: https://lore.kernel.org/u-boot/20260916211549.3432913-1-vjardin@free.fr/
v2: https://lore.kernel.org/u-boot/20260914170417.3052423-1-vjardin@free.fr/

Changes in v6:
- 3/13, 4/13, 5/13, 6/13, 11/13: Reviewed-by from Vladimir
- 8/13: 40GE needs PLLS, only 161.1328125 MHz PLLS reference clock is supported (Vladimir)
- 12/13: same for the PLLS reference clock (Vladimir)

Changes in v5:
- 1/13, 2/13, 7/13, 13/13: Reviewed-by from Vladimir
- 3/13 (new): rename SPLIT_POLL_US to SRDS_POLL_US
- 4/13 (new): halt and reset of SD1 become helpers
- 5/13: the table only
- 6/13: report an unknown serdes1 value
- 9/13 (new): enter a mode through the one it starts from
- 10/13: skip logic of the reset added
- 12/13: reworded, PLLS reference clock, no list of boards

Changes in v4:
- rebased on next, incremental over v1 instead of replacing it
- 1/10 (new): drop `lx2160_serdes split`
- 2/10 (new): rename serdes1:split to serdes1:100g4x25g
- 3/10 (new): use a table to set SD1
- 4/10 (new): report invalid serdes1 names
- 5/10 (new): refuse once the MC runs
- 6/10, 7/10, 8/10: resp. v3 2/5, 3/5, 4/5: add other modes
- 9/10: v3 5/5, rewritten doc
- 10/10 (new): apply sd1 for the nbxv3

Vincent Jardin (13):
  board: lx2160a: serdes: drop the split subcommand
  board: lx2160a: serdes: rename serdes1:split to serdes1:100g4x25g
  board: lx2160a: serdes: rename SPLIT_POLL_US to SRDS_POLL_US
  board: lx2160a: serdes: move the SD1 halt and reset into helpers
  board: lx2160a: serdes: set SD1 with a table
  board: lx2160a: serdes: report unknown SD1 cases
  board: lx2160a: serdes: no SD1 config once MC runs
  board: lx2160a: serdes: add serdes1:2x40g
  board: lx2160a: serdes: enter a SD1 mode through the mode it starts
    from
  board: lx2160a: serdes: add serdes1:40g4x10g
  board: lx2160a: serdes: add serdes1:100g4x10g
  doc: lx2160a: document the sd1 hwconfig option
  board: nbxv3: apply sd1 hwconfig before MC starts

 .../cpu/armv8/fsl-layerscape/doc/README.soc   |   7 +
 board/nxp/lx2160a/eth_lx2160aqds.c            |   4 +-
 board/nxp/lx2160a/nbxv3/eth_nbxv3.c           |   3 +
 board/nxp/lx2160a/serdes_split.c              | 548 +++++++++++++++---
 board/nxp/lx2160a/serdes_split.h              |  16 +-
 doc/README.fsl-hwconfig                       |  64 ++
 6 files changed, 531 insertions(+), 111 deletions(-)

---
base-commit: 2b8902913c19eb581fb0d567201c09b8fa46ac74
branch: for-upstream/lx2160a-serdes1-v6

-- 
2.43.0


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2026-10-08 22:36 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-01 20:47 [PATCH v6 00/13] board: lx2160a: runtime SD 1 lane configuration for LX2160A boards Vincent Jardin
2026-10-01 20:47 ` [PATCH v6 01/13] board: lx2160a: serdes: drop the split subcommand Vincent Jardin
2026-10-01 20:47 ` [PATCH v6 02/13] board: lx2160a: serdes: rename serdes1:split to serdes1:100g4x25g Vincent Jardin
2026-10-01 20:47 ` [PATCH v6 03/13] board: lx2160a: serdes: rename SPLIT_POLL_US to SRDS_POLL_US Vincent Jardin
2026-10-01 20:47 ` [PATCH v6 04/13] board: lx2160a: serdes: move the SD1 halt and reset into helpers Vincent Jardin
2026-10-01 20:47 ` [PATCH v6 05/13] board: lx2160a: serdes: set SD1 with a table Vincent Jardin
2026-10-01 20:47 ` [PATCH v6 06/13] board: lx2160a: serdes: report unknown SD1 cases Vincent Jardin
2026-10-01 20:47 ` [PATCH v6 07/13] board: lx2160a: serdes: no SD1 config once MC runs Vincent Jardin
2026-10-01 20:47 ` [PATCH v6 08/13] board: lx2160a: serdes: add serdes1:2x40g Vincent Jardin
2026-10-02 14:07   ` Vladimir Oltean
2026-10-06 14:10     ` Vincent Jardin
2026-10-01 20:47 ` [PATCH v6 09/13] board: lx2160a: serdes: enter a SD1 mode through the mode it starts from Vincent Jardin
2026-10-02 14:08   ` Vladimir Oltean
2026-10-01 20:47 ` [PATCH v6 10/13] board: lx2160a: serdes: add serdes1:40g4x10g Vincent Jardin
2026-10-07 11:27   ` Vladimir Oltean
2026-10-08 22:32     ` Vincent Jardin
2026-10-01 20:47 ` [PATCH v6 11/13] board: lx2160a: serdes: add serdes1:100g4x10g Vincent Jardin
2026-10-01 20:47 ` [PATCH v6 12/13] doc: lx2160a: document the sd1 hwconfig option Vincent Jardin
2026-10-07 10:47   ` Vladimir Oltean
2026-10-08 22:36     ` Vincent Jardin
2026-10-01 20:47 ` [PATCH v6 13/13] board: nbxv3: apply sd1 hwconfig before MC starts Vincent Jardin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox