U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Vincent Jardin <vjardin@free.fr>
To: Vladimir Oltean <vladimir.oltean@nxp.com>
Cc: u-boot@lists.u-boot-project.org, Tom Rini <trini@konsulko.com>,
	Peng Fan <peng.fan@nxp.com>,
	Ioana Ciornei <ioana.ciornei@nxp.com>,
	Hemant Agrawal <hemant.agrawal@nxp.com>,
	Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>,
	Wasim Khan <wasim.khan@nxp.com>,
	Priyanka Jain <priyanka.jain@nxp.com>
Subject: Re: [PATCH v5 08/13] board: lx2160a: serdes: add serdes1:2x40g
Date: Thu, 1 Oct 2026 22:40:45 +0200	[thread overview]
Message-ID: <ar7FTdJUk30BviBl@L30177.local> (raw)
In-Reply-To: <20261001145529.k6qqeqdl7ebdwwsg@skbuf>

Hi Vladimir,

On Thu, Oct 01, 2026 at 05:55:29PM +0300, Vladimir Oltean wrote:
> So it's *not* that for 25G you need to multiply by 2 and for 10G you
> don't. It's the fact that a single PLL can produce a single clock net
> frequency, and no clock net frequency can satisfy both 10G and 25G.

Thanks for the explanation. I'll update it into the v6 comments,
something like:

 * A PLL makes one clock net, and each lane takes its rate from the
 * clock net of one PLL, through its own BY_N_RATE_SEL. 25GE and 100GE
 * lanes run at 25.78125 Gbaud, twice the 12.890625 GHz clock net of
 * PLLF. 40GE lanes run at 10.3125 Gbaud, which no ratio of 12.890625
 * GHz gives: they need the 10.3125 GHz clock net, which only PLLS
 * makes (PLLnCR1[FRATE_SEL]=00110b). So the lanes move to PLLS.

> Technically "does not power PLLS up" rather than "powers it down".

ok. I'll word it for the v6:

 * Protocol 13 does not use PLLS, and NXP's RCWs for it power it down
 * (SRDS_PLL_PD_PLL2=1), which leaves PLLSRSTCTL[DIS] set: software can
 * clear it.

> > PLLS then gets the values a board booted with
> > protocol 20 reads back.
>
> This sentence doesn't make too much grammatical sense

ok !, I'll reword it.

> So SRDS_PRTCL_S1 does not influence the refclk that the PLL expects,
> instead SRDS_PLL_REF_CLK_SEL_S1 does.

I just checked the RM:
for 40GE, the PLLS bit selects 156MHz (0) or 161MHz (1).
NXP's protocol 20 QDS RCW and ours use 1.

> Technically, the board does not *have* to feed PLLS a refclk
> frequency. We have the SRDS_INTRA_REF_CLK_S1 option

ok
So, the code only needs 161MHz at PLLS, where it comes
from does not matter.
On nbxv3 both SD1 reference clock inputs are fed 161MHz,
so I have not tested SRDS_INTRA_REF_CLK_S1.
v6 names both sources.

> Is this what you intend? It doesn't necessarily read as a conscious
> decision.

It is a conscious decision, but the comment did not say so.
Only 161MHz is supported/checked, because it is the only one I can run.
For 156MHz, PLLSCR0[REFCLK_SLE] would be 00010b, and I would also
need the CR1/CR5 values the SoC loads for it, which I cannot check.
It can be added later, by a board that handles it.

v6 will state so, and also that the PLL lock bit does not prove the
reference frequency:

 * Only a 161.1328125 MHz PLLS reference clock is supported. It comes
 * from the SD1 PLLS reference clock input, or from the PLLF one when
 * the RCW sets SRDS_INTRA_REF_CLK_S1=1, as 25GE and 100GE already need
 * 161.1328125 MHz on PLLF. 156.25 MHz, also valid for a 10.3125 GHz
 * clock net, would need PLLSCR0[REFCLK_SEL]=00010b and is not handled.
 * Nothing here can check the reference clock: PLLSRSTCTL[LOCK] does
 * not tell its frequency.

Thanks,
  Vincent

  reply	other threads:[~2026-10-01 20:41 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-29 17:59 [PATCH v5 00/13] board: lx2160a: runtime SD 1 lane configuration for LX2160A boards Vincent Jardin
2026-09-29 17:59 ` [PATCH v5 01/13] board: lx2160a: serdes: drop the split subcommand Vincent Jardin
2026-09-29 17:59 ` [PATCH v5 02/13] board: lx2160a: serdes: rename serdes1:split to serdes1:100g4x25g Vincent Jardin
2026-09-29 17:59 ` [PATCH v5 03/13] board: lx2160a: serdes: rename SPLIT_POLL_US to SRDS_POLL_US Vincent Jardin
2026-10-01 13:05   ` Vladimir Oltean
2026-09-29 17:59 ` [PATCH v5 04/13] board: lx2160a: serdes: move the SD1 halt and reset into helpers Vincent Jardin
2026-10-01 13:07   ` Vladimir Oltean
2026-09-29 17:59 ` [PATCH v5 05/13] board: lx2160a: serdes: set SD1 with a table Vincent Jardin
2026-10-01 13:10   ` Vladimir Oltean
2026-09-29 17:59 ` [PATCH v5 06/13] board: lx2160a: serdes: report unknown SD1 cases Vincent Jardin
2026-10-01 13:15   ` Vladimir Oltean
2026-09-29 17:59 ` [PATCH v5 07/13] board: lx2160a: serdes: no SD1 config once MC runs Vincent Jardin
2026-09-29 17:59 ` [PATCH v5 08/13] board: lx2160a: serdes: add serdes1:2x40g Vincent Jardin
2026-10-01 14:55   ` Vladimir Oltean
2026-10-01 20:40     ` Vincent Jardin [this message]
2026-09-29 17:59 ` [PATCH v5 09/13] board: lx2160a: serdes: enter a SD1 mode through the mode it starts from Vincent Jardin
2026-09-29 17:59 ` [PATCH v5 10/13] board: lx2160a: serdes: add serdes1:40g4x10g Vincent Jardin
2026-09-29 17:59 ` [PATCH v5 11/13] board: lx2160a: serdes: add serdes1:100g4x10g Vincent Jardin
2026-10-01 15:21   ` Vladimir Oltean
2026-09-29 17:59 ` [PATCH v5 12/13] doc: lx2160a: document the sd1 hwconfig option Vincent Jardin
2026-10-01 15:25   ` Vladimir Oltean
2026-10-01 20:41     ` Vincent Jardin
2026-09-29 17:59 ` [PATCH v5 13/13] board: nbxv3: apply sd1 hwconfig before MC starts Vincent Jardin

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=ar7FTdJUk30BviBl@L30177.local \
    --to=vjardin@free.fr \
    --cc=hemant.agrawal@nxp.com \
    --cc=ioana.ciornei@nxp.com \
    --cc=meenakshi.aggarwal@nxp.com \
    --cc=peng.fan@nxp.com \
    --cc=priyanka.jain@nxp.com \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.u-boot-project.org \
    --cc=vladimir.oltean@nxp.com \
    --cc=wasim.khan@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