Netdev List
 help / color / mirror / Atom feed
From: Romain Gantois <romain.gantois@bootlin.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: Romain Gantois <romain.gantois@bootlin.com>,
	davem@davemloft.net,  Rob Herring <robh+dt@kernel.org>,
	 Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	 Jakub Kicinski <kuba@kernel.org>,
	Eric Dumazet <edumazet@google.com>,
	 Paolo Abeni <pabeni@redhat.com>,
	netdev@vger.kernel.org,  linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org,  thomas.petazzoni@bootlin.com,
	Florian Fainelli <f.fainelli@gmail.com>,
	 Heiner Kallweit <hkallweit1@gmail.com>,
	 Russell King <linux@armlinux.org.uk>,
	linux-arm-kernel@lists.infradead.org,
	 Vladimir Oltean <vladimir.oltean@nxp.com>,
	 Luka Perkov <luka.perkov@sartura.hr>,
	 Robert Marko <robert.marko@sartura.hr>,
	Andy Gross <agross@kernel.org>,
	 Bjorn Andersson <andersson@kernel.org>,
	 Konrad Dybcio <konrad.dybcio@somainline.org>,
	 Maxime Chevallier <maxime.chevallier@bootlin.com>
Subject: Re: [PATCH net-next 4/5] net: ipqess: add a PSGMII calibration procedure to the IPQESS driver
Date: Tue, 24 Oct 2023 11:03:05 +0200 (CEST)	[thread overview]
Message-ID: <9d447cb5-c8f9-06d2-0909-2870d57f0f7a@bootlin.com> (raw)
In-Reply-To: <df71bbe5-fec0-45cc-adb4-acfbcc356ba3@lunn.ch>

Hello Andrew,

On Mon, 23 Oct 2023, Andrew Lunn wrote:

> On Mon, Oct 23, 2023 at 05:50:11PM +0200, Romain Gantois wrote:
> > The IPQ4019 Ethernet Switch Subsystem uses a PSGMII link to communicate
> > with a QCA8075 5-port PHY. This 1G link requires calibration before it can
> > be used reliably.
> > 
> > This commit introduces a calibration procedure followed by thourough
> > testing of the link between each switch port and its corresponding PHY
> > port.
> 
> Could you explain the architecture in a bit more detail.
> 
> When i see MAC code messing with a PHY, i normally say move it into
> the PHY driver. But its not clear to me if you are talking about the
> real PHYs here, or this is the switch end of the link, and it has some
> sort of a PHY to talk to the quint PHY?

Yes, I'll add more detailed comments to the code in the v2. The calibration 
procedure itself targets the PSGMII device, which is internal to the SoC and can 
be logically accessed as a PHY device on the MDIO bus. This component is a 
little opaque and has some nonstandard MII register definitions.

The "testing" phase that follows the calibration accesses both the internal 
QCA8K switch ports and the external QCA8075 PHY. For example, it puts both the 
switch ports and the PHY ports in loopback before starting packet generation on 
the external PHYs. This is done to verify that the PSGMII link works correctly 
after being calibrated.

So this code interacts with both internal ESS devices and external PHYs, but 
mostly the former, which is why I kept everything in the MAC/switch driver.

Thanks,

Romain

  reply	other threads:[~2023-10-24  9:02 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-23 15:50 [PATCH net-next 0/5] net: ipqess: introduce Qualcomm IPQESS driver Romain Gantois
2023-10-23 15:50 ` [PATCH net-next 1/5] net: dt-bindings: Introduce the Qualcomm IPQESS Ethernet switch Romain Gantois
2023-10-23 17:37   ` Krzysztof Kozlowski
2023-10-24  8:01     ` Romain Gantois
2023-10-23 17:40   ` Rob Herring
2023-10-24  9:54     ` Romain Gantois
2023-10-24  9:56       ` Krzysztof Kozlowski
2023-10-24 10:05         ` Romain Gantois
2023-10-24 10:54           ` Krzysztof Kozlowski
2023-10-24 12:13             ` Romain Gantois
2023-10-23 15:50 ` [PATCH net-next 2/5] net: dsa: qca: Make the QCA8K hardware library available globally Romain Gantois
2023-10-23 16:40   ` Andrew Lunn
2023-10-23 15:50 ` [PATCH net-next 3/5] net: ipqess: introduce the Qualcomm IPQESS driver Romain Gantois
2023-10-23 17:50   ` Andrew Lunn
2023-10-24  9:16     ` Romain Gantois
2023-10-24 14:08       ` Andrew Lunn
2023-10-24 16:23         ` Robert Marko
2023-10-24 16:48           ` Andrew Lunn
2023-10-24 11:44   ` Wojciech Drewek
2023-10-24 15:55   ` kernel test robot
2023-10-23 15:50 ` [PATCH net-next 4/5] net: ipqess: add a PSGMII calibration procedure to the " Romain Gantois
2023-10-23 18:01   ` Andrew Lunn
2023-10-24  9:03     ` Romain Gantois [this message]
2023-10-24 14:13       ` Andrew Lunn
2023-10-24 16:49         ` Robert Marko
2023-10-23 15:50 ` [PATCH net-next 5/5] dts: qcom: ipq4019: Add description for the IPQ4019 ESS EDMA and switch Romain Gantois
2023-10-23 17:39   ` Krzysztof Kozlowski

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=9d447cb5-c8f9-06d2-0909-2870d57f0f7a@bootlin.com \
    --to=romain.gantois@bootlin.com \
    --cc=agross@kernel.org \
    --cc=andersson@kernel.org \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=hkallweit1@gmail.com \
    --cc=konrad.dybcio@somainline.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=kuba@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=luka.perkov@sartura.hr \
    --cc=maxime.chevallier@bootlin.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=robert.marko@sartura.hr \
    --cc=robh+dt@kernel.org \
    --cc=thomas.petazzoni@bootlin.com \
    --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