linux-doc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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, 1 May 2023 11:03:25 -0400	[thread overview]
Message-ID: <c81d23b6-ed22-0b37-d71b-ddce9d5d58eb@seco.com> (raw)
In-Reply-To: <20230429172422.vc35tnwkekfieoru@skbuf>

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.

 --Sean
 not 

  reply	other threads:[~2023-05-01 15:03 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 [this message]
2023-05-22 14:42             ` Sean Anderson
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=c81d23b6-ed22-0b37-d71b-ddce9d5d58eb@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).