netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christian Marangi <ansuelsmth@gmail.com>
To: Jie Luo <quic_luoj@quicinc.com>
Cc: "Russell King (Oracle)" <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
	pabeni@redhat.com, robh+dt@kernel.org,
	krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org,
	hkallweit1@gmail.com, corbet@lwn.net, p.zabel@pengutronix.de,
	f.fainelli@gmail.com, netdev@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-doc@vger.kernel.org
Subject: Re: [PATCH v8 14/14] dt-bindings: net: ar803x: add qca8084 PHY properties
Date: Sat, 16 Dec 2023 17:01:21 +0100	[thread overview]
Message-ID: <657dc9d4.050a0220.e1913.c983@mx.google.com> (raw)
In-Reply-To: <6abe5d6f-9d00-445f-8c81-9c89b9da3e0a@quicinc.com>

On Sat, Dec 16, 2023 at 10:41:28PM +0800, Jie Luo wrote:
> 
> 
> On 12/16/2023 9:51 PM, Russell King (Oracle) wrote:
> > On Sat, Dec 16, 2023 at 11:21:53AM +0100, Andrew Lunn wrote:
> > > > The following is the chip package, the chip can work on the switch mode
> > > > like the existed upstream code qca8k, where PHY1-PHY4 is connected with
> > > > MAC1-MAC4 directly;
> > > 
> > > Ah, that is new information, and has a big effect on the design.
> > 
> > This QCA8084 that's being proposed in these patches is not a PHY in
> > itself, but is a SoC. I came across this:
> > 
> >   https://www.rt-rk.com/android-tv-solution-tv-in-smartphone-pantsstb-based-on-qualcomm-soc-design/
> 
> The chip mentioned in the link you mentioned is SoC, which is not the
> chip that the qca8084 driver work for.
> 
> qca8084/qca8386 is just the Ethernet CHIP, not SoC, for the switch mode
> qca8386, which is most like qca8337 the dsa drive qca8k.c is already in
> upstream.

Hi,
sorry for stepping in. I guess here there is a massive confusion with
naming and using qca8k.

Since it seems the same name is used for PHY and for Switch stuff, I
would add PHY and MAC prefix when referring to qca8064.

With the previous message I was a bit confused by the use of qca8k and
didn't know you were actually referring to the DSA driver.
Interesting... this is for the upcoming WiFi 7 platoform right? (ipq9574)

All these discussion comes for the problem of using this PHY as an
integrated PHY in the qca8386 switch and trying to select the mode in
the PHY driver.

Considering you would use the same logic of the current DSA qca8k driver
with the integrated PHY, the problem doesn't apply or a different
implementation should be used (and actually handled later when the
actual DSA code will come)

I would expect in the integrated mode, the switch to handle the PHY (as
it's done by qca8337) with the PHY defined in the switch node and qca8k
handling the PHY registration. With the following implementation flags
can be passed and PHY can be configured to integrated mode. (or virtual
PHY ID can be used for such scope with dedicated functions in the PHY
driver)

With this in mind the entire integrated problem can put on hold and
dropped to be later reimplemented when it's time. (assuming that all the
prereq are already here and the very same implementation of qca8k will
be used)

Anyway, I'm more or less the maintainer of the qca8k.c DSA driver and I
would be more than happy to help you guys internally or externally on
pushing and make this proceed further. (again assuming this is ipq9574
stuff, it would be good to finally have proper DSA driver instead of
leaving the thing unusable as it's the current situation with ipq8074)

> 
> i qca8084 chip package includes 4 PHYs, 2 PCSs and the common chip level
> modules such as GCC and security control modules, all these modules are
> located in the qca8084 chip package, since qca8084 works on PHY mode, so
> the MACs are not used.
> 
> qca8084 is connected with the SoC CHIP such as IPQ platform by PCS1
> working on 10g-qxgmii mode and the fourth PHY can also optionally
> be connected with the IPQ SoC PCS by sgmii mode, there is no more
> interface on qca8084 to connect the external chips.
> 
> > It's sounding like what we have here is some PHY IP that is integrated
> > into a larger SoC, and the larger SoC needs to be configured so the
> > PHY IP can work correctly.
> 
> qca8084 is not a SoC, it is the Ethernet chip, in this qca8084 package,
> there are GCC that is driving the PHY working on the various link speed.
> that is the reason we need to do these package level common clocks and
> resets initialization before probing PHY correctly.
> 
> > 
> > Given that this package of four PHYs seems to be rather unique, I think
> > we need Jie Luo to provide sufficient information so we can understand:
> > 
> > 1) this package of four PHYs itself
> 
> Yes, this chip package for all 4 PHYs itself, also including the PCSes
> and common package level modules such as GCC.
> 
> > 2) how this package is integrated into the SoC
> 
> the qca8084 is connected with SoC by PCSes.
> 
> > 
> > Specifically, what resets and clocks are controlled from within the
> > package's register space, which are external to the package
> > register space (and thus are provided by other IPs in the SoC).
> 
> All clocks and resets mentioned for qca8084 drive including package
> level and PCS & PHY clocks and resets from the qca8084 internal GCC
> modules register space,
> 
> > 
> > As I've said previously, the lack of DT example doesn't help to further
> > our understanding. The lack of details of what the package encompases
> > also doesn't help us understand the hardware.
> 
> Indeed, i will add the qca8084 DT example in the next patch set.
> BTW, i also replied your earlier comments by providing the DTS defined
> for the current qca8084 drive code.
> 
> hope you can have a better understanding with the provided DTS code in
> earlier reply of this email thread.
> > 
> > Unless we can gain that understanding, I feel that Jie Luo's patches
> > are effectively unreviewable and can't be accepted into mainline.
> > 

-- 
	Ansuel

  reply	other threads:[~2023-12-16 16:01 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-15  7:39 [PATCH v8 00/14] add qca8084 ethernet phy driver Luo Jie
2023-12-15  7:39 ` [PATCH v8 01/14] net: phy: introduce core support for phy-mode = "10g-qxgmii" Luo Jie
2023-12-15  7:39 ` [PATCH v8 02/14] dt-bindings: net: ethernet-controller: add 10g-qxgmii mode Luo Jie
2023-12-15  7:39 ` [PATCH v8 03/14] net: phy: at803x: add QCA8084 ethernet phy support Luo Jie
2023-12-15  7:39 ` [PATCH v8 04/14] net: phy: at803x: add the function phydev_id_is_qca808x Luo Jie
2023-12-15  7:39 ` [PATCH v8 05/14] net: phy: at803x: Add qca8084_config_init function Luo Jie
2023-12-15  7:39 ` [PATCH v8 06/14] net: phy: at803x: add qca8084_link_change_notify Luo Jie
2023-12-15  7:39 ` [PATCH v8 07/14] net: phy: at803x: add the possible_interfaces Luo Jie
2023-12-15  7:39 ` [PATCH v8 08/14] net: phy: at803x: add qca8084 switch registe access Luo Jie
2023-12-15  7:39 ` [PATCH v8 09/14] net: phy: at803x: set MDIO address of qca8084 PHY Luo Jie
2023-12-15  7:40 ` [PATCH v8 10/14] net: phy: at803x: parse qca8084 clocks and resets Luo Jie
2023-12-15  7:40 ` [PATCH v8 11/14] net: phy: at803x: add qca808x initial config sequence Luo Jie
2023-12-15  7:40 ` [PATCH v8 12/14] net: phy: at803x: configure qca8084 common clocks Luo Jie
2023-12-15  7:40 ` [PATCH v8 13/14] net: phy: at803x: configure qca8084 work mode Luo Jie
2023-12-17 13:02   ` Simon Horman
2023-12-18  3:33     ` Jie Luo
2023-12-15  7:40 ` [PATCH v8 14/14] dt-bindings: net: ar803x: add qca8084 PHY properties Luo Jie
2023-12-15  8:22   ` Krzysztof Kozlowski
2023-12-15 10:16     ` Jie Luo
2023-12-15 11:25       ` Andrew Lunn
2023-12-15 12:16         ` Jie Luo
2023-12-15 13:42           ` Russell King (Oracle)
2023-12-16  7:57             ` Jie Luo
2023-12-16 17:17               ` Andrew Lunn
2023-12-18  4:53                 ` Jie Luo
2023-12-18  9:34                   ` Andrew Lunn
2023-12-19  8:52                     ` Jie Luo
2023-12-15 12:12   ` Andrew Lunn
2023-12-15 12:33     ` Jie Luo
2023-12-15 13:31       ` Andrew Lunn
2023-12-16  7:37         ` Jie Luo
2023-12-16 10:21           ` Andrew Lunn
2023-12-16 13:25             ` Jie Luo
2023-12-16 13:51             ` Russell King (Oracle)
2023-12-16 14:41               ` Jie Luo
2023-12-16 16:01                 ` Christian Marangi [this message]
2023-12-18  5:22                   ` Jie Luo
2023-12-16 16:09                 ` Russell King (Oracle)
2023-12-18  3:01                   ` Jie Luo
2024-01-02  9:57                     ` Russell King (Oracle)
2024-01-02 10:08                       ` Christian Marangi
2024-01-03 13:27                         ` Jie Luo
2024-01-03 14:22                           ` Andrew Lunn
2024-01-04  9:53                             ` Jie Luo
2024-01-04 13:57                               ` Andrew Lunn
2024-01-05 10:26                                 ` Jie Luo
2024-01-05 13:37                                   ` Andrew Lunn
2024-01-08  8:27                                     ` Jie Luo
2023-12-16 17:30           ` Andrew Lunn
2023-12-16 19:08             ` Russell King (Oracle)
2023-12-18  3:31               ` Jie Luo
2023-12-18  3:27             ` Jie Luo

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=657dc9d4.050a0220.e1913.c983@mx.google.com \
    --to=ansuelsmth@gmail.com \
    --cc=andrew@lunn.ch \
    --cc=conor+dt@kernel.org \
    --cc=corbet@lwn.net \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=hkallweit1@gmail.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=kuba@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=netdev@vger.kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=pabeni@redhat.com \
    --cc=quic_luoj@quicinc.com \
    --cc=robh+dt@kernel.org \
    /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).