From: Sean Anderson <sean.anderson@seco.com>
To: Vladimir Oltean <vladimir.oltean@nxp.com>
Cc: "Vinod Koul" <vkoul@kernel.org>,
"Kishon Vijay Abraham I" <kishon@kernel.org>,
linux-phy@lists.infradead.org,
"Madalin Bucur" <madalin.bucur@nxp.com>,
linux-arm-kernel@lists.infradead.org,
"Camelia Alexandra Groza" <camelia.groza@nxp.com>,
devicetree@vger.kernel.org, "Rob Herring" <robh+dt@kernel.org>,
linuxppc-dev@lists.ozlabs.org,
"Bagas Sanjaya" <bagasdotme@gmail.com>,
"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
"Ioana Ciornei" <ioana.ciornei@nxp.com>,
"Bartosz Golaszewski" <brgl@bgdev.pl>,
"Fernández Rojas" <noltari@gmail.com>,
"Jonas Gorski" <jonas.gorski@gmail.com>,
"Jonathan Corbet" <corbet@lwn.net>,
"Li Yang" <leoyang.li@nxp.com>,
"Linus Walleij" <linus.walleij@linaro.org>,
"Michael Turquette" <mturquette@baylibre.com>,
"Shawn Guo" <shawnguo@kernel.org>,
"Stephen Boyd" <sboyd@kernel.org>,
linux-clk@vger.kernel.org, linux-doc@vger.kernel.org,
linux-gpio@vger.kernel.org
Subject: Re: [PATCH v14 00/15] phy: Add support for Lynx 10G SerDes
Date: Mon, 22 May 2023 10:42:04 -0400 [thread overview]
Message-ID: <c2f928d2-25f6-0e31-9ab3-9d585968df1b@seco.com> (raw)
In-Reply-To: <c81d23b6-ed22-0b37-d71b-ddce9d5d58eb@seco.com>
Hi Vladmir,
On 5/1/23 11:03, Sean Anderson wrote:
> On 4/29/23 13:24, Vladimir Oltean wrote:
>> On Wed, Apr 26, 2023 at 10:50:17AM -0400, Sean Anderson wrote:
>>> > I need to catch up with 14 rounds of patches from you and with the
>>> > discussions that took place on each version, and understand how you
>>> > responded to feedback like "don't remove PHY interrupts without finding
>>> > out why they don't work"
>>>
>>> All I can say is that
>>>
>>> - It doesn't work on my board
>>> - The traces are on the bottom of the PCB
>>> - The signal goes through an FPGA which (unlike the LS1046ARDB) is closed-source
>>
>> I don't understand the distinction you are making here. Are the sources
>> for QIXIS bit streams public for any Layerscape board?
>
> Correct. The sources for the LS1046ARDB QIXIS are available for download.
>
>>> - The alternative is polling once a second (not terribly intensive)
>>
>> It makes a difference to performance (forwarded packets per second), believe it or not.
>
> I don't. Please elaborate how link status latency from the phy affects performance.
>
>>>
>>> I think it's very reasonable to make this change. Anyway, it's in a separate
>>> patch so that it can be applied independently.
>>
>> Perhaps better phrased: "discussed separately"...
>>
>>> > Even if the SERDES and PLL drivers "work for you" in the current form,
>>> > I doubt the usefulness of a PLL driver if you have to disconnect the
>>> > SoC's reset request signal on the board to not be stuck in a reboot loop.
>>>
>>> I would like to emphasize that this has *nothing to do with this driver*.
>>> This behavior is part of the boot ROM (or something like it) and occurs before
>>> any user code has ever executed. The problem of course is that certain RCWs
>>> expect the reference clocks to be in certain (incompatible) configurations,
>>> and will fail the boot without a lock. I think this is rather silly (since
>>> you only need PLL lock when you actually want to use the serdes), but that's
>>> how it is. And of course, this is only necessary because I was unable to get
>>> major reconfiguration to work. In an ideal world, you could always boot with
>>> the same RCW (with PLL config matching the board) and choose the major protocol
>>> at runtime.
>>
>> Could you please tell me what are the reference clock frequencies that
>> your board provides at boot time to the 2 PLLs, and which SERDES
>> protocol out of those 2 (1133 and 3333) boots correctly (no RESET_REQ
>> hacks necessary) with those refclks? I will try to get a LS1046A-QDS
>> where I boot from the same refclk + SERDES protocol configuration as
>> you, and use PBI commands in the RCW to reconfigure the lanes (PLL
>> selection and protocol registers) for the other mode, while keeping the
>> FRATE_SEL of the PLLs unmodified.
>
> From table 31-1 in the RM, the PLL mapping for 1133 is 2211, and the
> PLL mapping for 3333 is 2222. As a consequence, for 1133, PLL 2 must be
> 156.25 MHz and PLL 1 must be either 100 or 125 MHz. And for 3333, PLL 2
> must be either 100 or 125 MHz, and PLL 1 should be shut down (as it is
> unused). This conflict for PLL 2 means that the same reference clock
> configuration cannot work for both 1133 and 3333. In one of the
> configurations, SRDS_RST_RR will be set in RSTRQSR1. On our board,
> reference clock 1 is 156.25 MHz, and reference clock 2 is 125 MHz.
> Therefore, 3333 will fail to boot. Unfortunately, this reset request
> occurs before any user-configurable code has run (except the RCW), so
> it is not possible to fix this issue with e.g. PBI.
Have you had a chance to review this driver?
--Sean
next prev parent reply other threads:[~2023-05-22 14:42 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-13 16:05 [PATCH v14 00/15] phy: Add support for Lynx 10G SerDes Sean Anderson
2023-04-13 16:05 ` [PATCH v14 07/15] phy: fsl: Add Lynx 10G SerDes driver Sean Anderson
2023-05-08 9:22 ` Vinod Koul
2023-05-08 15:28 ` Sean Anderson
2023-05-16 13:36 ` Vinod Koul
2023-05-16 15:12 ` Sean Anderson
2023-04-25 19:50 ` [PATCH v14 00/15] phy: Add support for Lynx 10G SerDes Vladimir Oltean
2023-04-25 20:22 ` Sean Anderson
2023-04-26 10:51 ` Vladimir Oltean
2023-04-26 14:50 ` Sean Anderson
2023-04-29 17:24 ` Vladimir Oltean
2023-05-01 15:03 ` Sean Anderson
2023-05-22 14:42 ` Sean Anderson [this message]
2023-05-22 15:00 ` Vladimir Oltean
2023-06-09 19:19 ` Sean Anderson
2023-06-10 22:21 ` Vladimir Oltean
2023-06-12 14:35 ` Sean Anderson
2023-06-12 16:33 ` Vladimir Oltean
2023-06-12 20:46 ` Sean Anderson
2023-06-13 14:27 ` Vladimir Oltean
2023-08-10 10:26 ` Vladimir Oltean
2023-08-10 19:58 ` Sean Anderson
2023-08-11 16:12 ` Vladimir Oltean
2023-09-13 22:02 ` Vladimir Oltean
2023-08-11 15:08 ` Vladimir Oltean
2023-08-11 15:43 ` Sean Anderson
2023-08-11 16:36 ` Vladimir Oltean
2023-08-21 12:49 ` Vladimir Oltean
2023-08-21 17:45 ` Sean Anderson
2023-08-21 18:13 ` Ioana Ciornei
2023-08-21 18:20 ` Vladimir Oltean
2023-08-21 18:46 ` Sean Anderson
2023-08-21 19:58 ` Vladimir Oltean
2023-08-21 21:06 ` Sean Anderson
2023-08-21 22:48 ` Vladimir Oltean
2023-08-21 23:39 ` Sean Anderson
2023-08-21 23:59 ` Vladimir Oltean
2023-08-24 22:09 ` Sean Anderson
2023-08-25 14:43 ` Vladimir Oltean
2023-08-22 14:55 ` Ioana Ciornei
2023-08-24 20:54 ` Sean Anderson
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=c2f928d2-25f6-0e31-9ab3-9d585968df1b@seco.com \
--to=sean.anderson@seco.com \
--cc=bagasdotme@gmail.com \
--cc=brgl@bgdev.pl \
--cc=camelia.groza@nxp.com \
--cc=corbet@lwn.net \
--cc=devicetree@vger.kernel.org \
--cc=ioana.ciornei@nxp.com \
--cc=jonas.gorski@gmail.com \
--cc=kishon@kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=leoyang.li@nxp.com \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=madalin.bucur@nxp.com \
--cc=mturquette@baylibre.com \
--cc=noltari@gmail.com \
--cc=robh+dt@kernel.org \
--cc=sboyd@kernel.org \
--cc=shawnguo@kernel.org \
--cc=vkoul@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;
as well as URLs for NNTP newsgroup(s).