On Mon, Sep 28, 2026 at 12:13:28PM +0200, Vincent Jardin wrote:
> Enrich README.fsl-hwconfig with this sd1 reconfiguration scenarios.
> Add a reference to the Layerscape README.soc.
> 
> Signed-off-by: Vincent Jardin <[email protected]>
> 
> ---
> 
> Changes in v4:
> - was v3 5/5, rewritten using a table
> 
>  .../cpu/armv8/fsl-layerscape/doc/README.soc   |  7 +++
>  doc/README.fsl-hwconfig                       | 60 +++++++++++++++++++
>  2 files changed, 67 insertions(+)
> 
> diff --git a/arch/arm/cpu/armv8/fsl-layerscape/doc/README.soc 
> b/arch/arm/cpu/armv8/fsl-layerscape/doc/README.soc
> index f2efd4cc1d7..a641e4978aa 100644
> --- a/arch/arm/cpu/armv8/fsl-layerscape/doc/README.soc
> +++ b/arch/arm/cpu/armv8/fsl-layerscape/doc/README.soc
> @@ -331,6 +331,13 @@ LX2160A SoC has 2 more similar SoC personalities
>  2)LX2080A, few difference w.r.t. LX2160A:
>         a) Eight 64-bit ARM v8 Cortex-A72 CPUs
>  
> +SerDes 1 lane grouping
> +  SRDS_PRTCL_S1 is latched at reset. U-Boot can still configure SD1 before
> +  the MC starts:
> +  1x100GE + 4x25G, 2x40GE, 1x40GE + 4x10G or 1x100GE + 4x10G.
> +  See 'serdes1' in doc/README.fsl-hwconfig, and the 'lx2160_serdes status'
> +  command.
> +
>  
>  LS1028A
>  --------
> diff --git a/doc/README.fsl-hwconfig b/doc/README.fsl-hwconfig
> index e752505da49..3f9d2ddad75 100644
> --- a/doc/README.fsl-hwconfig
> +++ b/doc/README.fsl-hwconfig
> @@ -44,3 +44,63 @@ usb
>               usb1:dr_mode=host;usb2:dr_mode=peripheral'
>  
>               usb1:dr_mode=host,phy_type=utmi;usb2:dr_mode=host'
> +
> +serdes1
> +     Specific to the LX2160A boards whose reset_phy() calls
> +     lx2160a_serdes_apply_hwconfig() before mc_env_boot(): lx2160aqds.
> +
> +     SRDS_PRTCL_S1 is latched at reset, but the eight SD1 (SerDes) lanes
> +     can still be configured before the DPAA2 management complex (MC) starts.
> +     This option picks the grouping. The RCW, and RCWSR29, keep the
> +     protocol number.

I feel the last 2 sentences do not have a sharply defined meaning. Maybe
say "This option alters the Ethernet MAC-to-lane grouping after the fact
(RCWSR29 will continue reporting the initial protocol)"?

> +
> +     'serdes1:2x100g'
> +             2x 100GE (CAUI-4), what protocol 13 builds: nothing to do
> +
> +     'serdes1:100g4x25g'
> +             1x 100GE + 4x 25G
> +
> +     'serdes1:2x40g'
> +             2x 40GE (XLAUI-4)
> +
> +     'serdes1:40g4x10g'
> +             1x 40GE + 4x 10G (XFI)
> +
> +     'serdes1:100g4x10g'
> +             1x 100GE + 4x 10G (XFI)
> +
> +     Each mode starts from the one in the 'from' column, which is
> +     entered first when SD1 is not in it yet, and so on down to what
> +     SRDS_PRTCL_S1 built:
> +
> +             mode        from      SRDS_PRTCL_S1   lanes run on
> +             2x100g      -         13              PLLF
> +             100g4x25g   2x100g    13              PLLF
> +             2x40g       2x100g    13              PLLS
> +             40g4x10g    2x40g     13 or 20        PLLS
> +             100g4x10g   2x100g    13              PLLF and PLLS
> +
> +     What each mode makes of the two four-lane ports of protocol 13:
> +
> +             mode        dpmac.2 port   dpmac.1 port
> +             2x100g      100GE          100GE
> +             100g4x25g   100GE          4x 25G: dpmac.3 to dpmac.6
> +             2x40g       40GE           40GE
> +             40g4x10g    40GE           4x XFI: dpmac.3 to dpmac.6
> +             100g4x10g   100GE          4x XFI: dpmac.3 to dpmac.6
> +
> +     Initial conditions:
> +
> +     - The MC must not be running yet. Otherwise the mode is refused and
> +       SD1 is left as it is.

What is actionable for the reader with this information? Assuming the
reader is a board user, and not a developer.

BTW, the first paragraph already says "Specific to the LX2160A boards
whose reset_phy() calls lx2160a_serdes_apply_hwconfig() before mc_env_boot()".

> +     - The MC DPC must set follow_hw_pssr in board_info/serdes, for the
> +       MC to read the lanes rather than look at protocol, and the DPL
> +       must use the dpmacs of the new grouping.

- PLLS must be provisioned with a refclk frequency from which the 10.3125 GHz
  clock net can be derived. This is kind of important, because this requirement
  does not exist on the native SRDS_PRTCL_S1=13 boot, because there, PLLS is
  simply powered down. You just _assume_ you can power it up and it will lock
  at the frequency you want.

> +
> +     'lx2160_serdes status 1' shows the resulting lane grouping and
> +     protocol converters.
> +
> +     Example:
> +             setenv hwconfig serdes1:100g4x25g
> +             saveenv
> +             reset
> -- 
> 2.43.0
>

Reply via email to