All of 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.