From: Andrew Lunn <andrew@lunn.ch>
To: Christian Marangi <ansuelsmth@gmail.com>
Cc: Rob Herring <robh@kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
Andy Gross <agross@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konrad.dybcio@linaro.org>,
Heiner Kallweit <hkallweit1@gmail.com>,
Russell King <linux@armlinux.org.uk>,
Florian Fainelli <florian.fainelli@broadcom.com>,
Broadcom internal kernel review list
<bcm-kernel-feedback-list@broadcom.com>,
Daniel Golle <daniel@makrotopia.org>,
Qingfang Deng <dqfext@gmail.com>,
SkyLake Huang <SkyLake.Huang@mediatek.com>,
Matthias Brugger <matthias.bgg@gmail.com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>,
David Epping <david.epping@missinglinkelectronics.com>,
Vladimir Oltean <olteanv@gmail.com>,
"Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>,
Harini Katakam <harini.katakam@amd.com>,
Simon Horman <horms@kernel.org>,
Robert Marko <robert.marko@sartura.hr>,
netdev@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org
Subject: Re: [net-next RFC PATCH 03/14] dt-bindings: net: document ethernet PHY package nodes
Date: Thu, 23 Nov 2023 04:30:48 +0100 [thread overview]
Message-ID: <6a030399-b8ed-4e2c-899f-d82eb437aafa@lunn.ch> (raw)
In-Reply-To: <655e4939.5d0a0220.d9a9e.0491@mx.google.com>
On Wed, Nov 22, 2023 at 07:32:22PM +0100, Christian Marangi wrote:
> On Tue, Nov 21, 2023 at 03:45:42PM +0100, Andrew Lunn wrote:
> > > > I do think we need somewhere to put package properties. But i don't
> > > > think phy-mode is such a property. At the moment, i don't have a good
> > > > example of a package property.
> > >
> > > What about power supplies and reset/enable lines?
> >
> > Yes, good point. I can imagine some packages sharing regulators. Reset
> > might also be shared, but it makes things messy to handle.
> >
>
> Sooooo.... Sorry if I insist but I would really love to have something
> ""stable"" to move this further. (the changes are easy enough so it's
> really a matter of finding a good DT structure)
>
> Maybe a good idea would be summarize the concern and see what solution
> was proposed:
>
> Concern list:
> 1. ethernet-phy-package MUST be placed in mdio node (not in ethernet,
> the example was wrong anyway) and MUST have an addr
>
> Current example doesn't have an addr. I would prefer this way but
> no problem in changing this.
>
> Solution:
> - Add reg to the ethernet-phy-package node with the base address of
> the PHY package (base address = the first PHY address of the
> package)
Yes.
> We will have a PHY node with the same address of the PHY package
> node. Each PHY node in the PHY package node will have reg set to
> the REAL address in the mdio bus.
Basically Yes. I actually think the first sentence is not 100%
correct. It could be all the package configuration registers are in
the base address, without an actual PHY. The PHYs then follow at
addresses above it. I can also imagine a case where the first PHY in
the package is not used, so its not listed at all. So i think it
should be "We often have a PHY node with the same address of the PHY
package node."
> 3. phy-mode is problematic.
>
> It's an optional value to enforce a specific mode for each PHY in the
> package. For complex configuration the mode won't be defined.
>
> Solution:
> - Rename it to package-phy-mode to make it less confusing.
>
> - Add an additional function that PHY package can use to make custom
> validation on the mode for every PHY attached (in the PHY package).
>
> Would make it less clear but more flexible for complex
> configuration. Maybe both solution can be implemented and the
> special function is used if the mode is not defined?
The description you give is that there are two SERDES, and both could
be connected to a MAC. What does package-phy-mode represent then?
Luo Jie patch for the qca8084 seems to have the same issue. It has two
SERDES/PMA, and both could be connected to the MACs. So it seems like
QCA devices don't actually fit this model. If we want to describe the
package link mode, we probably need to list each PMA, and have a
property in the PMA node indicating what link mode the PMA is
operating at.
At least for the moment, its not clear we actually need this at
all. It seems like the phy-mode is all we need. The PHY driver should
know what values are valid per port, and so can validate the value.
> 4. Not finding a correct place to put PHY package info.
>
> I'm still convinced the mdio node is the correct place.
> - PHY package are PHY in bundle so they are actual PHY
> - We already have in the mdio node special handling (every DSA switch
> use custom compatible and PHY ID is not used to probe them
> normally)
> - Node this way won't be treated as PHY as they won't match the PHY
> node name pattern and also won't have the compatible pattern for
> PHY.
We do need a compatible for the package. The kernel is unlikely to use
it, but the validation tools will. Each package can have its own DT
properties, so we need a .yaml to describe those properties. So i
would expect to have a "qca807x-package" compatible, which then lists
the tx driver strength etc. The PHYs within the package don't need
compatible, they are just linux PHYs, probed using the same code as
PHYs outside of a package.
Andrew
next prev parent reply other threads:[~2023-11-23 3:31 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-20 13:50 [net-next RFC PATCH 00/14] net: phy: Support DT PHY package Christian Marangi
2023-11-20 13:50 ` [net-next RFC PATCH 01/14] net: phy: extend PHY package API to support multiple global address Christian Marangi
2023-11-20 13:50 ` [net-next RFC PATCH 02/14] dt-bindings: net: move PHY modes to common PHY mode types definition Christian Marangi
2023-11-20 15:14 ` Rob Herring
2023-11-20 17:30 ` Rob Herring
2023-11-20 13:50 ` [net-next RFC PATCH 03/14] dt-bindings: net: document ethernet PHY package nodes Christian Marangi
2023-11-20 17:41 ` Rob Herring
2023-11-20 16:39 ` Christian Marangi
2023-11-20 20:44 ` Andrew Lunn
2023-11-20 18:09 ` Christian Marangi
2023-11-20 21:25 ` Andrew Lunn
2023-11-20 18:45 ` Christian Marangi
2023-11-21 14:42 ` Rob Herring
2023-11-21 14:45 ` Andrew Lunn
2023-11-22 18:32 ` Christian Marangi
2023-11-23 3:30 ` Andrew Lunn [this message]
2023-11-23 10:38 ` Christian Marangi
2023-11-23 14:27 ` Andrew Lunn
2023-11-23 14:35 ` Russell King (Oracle)
2023-11-23 14:57 ` Andrew Lunn
2023-11-23 19:33 ` Christian Marangi
2023-11-24 11:49 ` Jie Luo
2023-11-24 12:02 ` Russell King (Oracle)
2023-11-24 14:44 ` Andrew Lunn
2023-11-24 15:16 ` Russell King (Oracle)
2023-11-24 16:59 ` Robert Marko
2023-11-23 15:07 ` Andrew Lunn
2023-11-23 19:36 ` Christian Marangi
2023-11-24 16:59 ` Vladimir Oltean
2023-11-24 16:25 ` Christian Marangi
2023-11-24 18:27 ` Vladimir Oltean
2023-11-24 18:35 ` Andrew Lunn
2023-11-24 19:40 ` Vladimir Oltean
2023-11-20 13:50 ` [net-next RFC PATCH 04/14] net: phy: add initial support for PHY package in DT Christian Marangi
2023-11-22 10:41 ` Simon Horman
2023-11-22 10:52 ` Simon Horman
2023-11-22 18:15 ` Christian Marangi
2023-11-22 21:14 ` Simon Horman
2023-11-20 13:50 ` [net-next RFC PATCH 05/14] net: phy: add support for named global PHY in DT PHY package Christian Marangi
2023-11-20 13:50 ` [net-next RFC PATCH 06/14] net: phy: add support for shared priv data size for PHY package in DT Christian Marangi
2023-11-20 13:50 ` [net-next RFC PATCH 07/14] net: phy: add support for driver specific PHY package probe/config Christian Marangi
2023-11-20 13:50 ` [net-next RFC PATCH 08/14] net: phy: add support for PHY package interface mode Christian Marangi
2023-11-20 13:50 ` [net-next RFC PATCH 09/14] net: phy: move mmd_phy_indirect to generic header Christian Marangi
2023-11-20 13:50 ` [net-next RFC PATCH 10/14] net: phy: add support for PHY package MMD read/write Christian Marangi
2023-11-20 13:50 ` [net-next RFC PATCH 11/14] dt-bindings: net: add QCA807x PHY defines Christian Marangi
2023-11-23 3:01 ` Andrew Lunn
2023-11-20 13:50 ` [net-next RFC PATCH 12/14] dt-bindings: net: Document Qcom QCA807x PHY package Christian Marangi
2023-11-23 2:15 ` Andrew Lunn
2023-11-23 11:20 ` Robert Marko
2023-11-23 9:41 ` Russell King (Oracle)
2023-11-20 13:50 ` [net-next RFC PATCH 13/14] net: phy: add Qualcom QCA807x driver Christian Marangi
2023-11-23 2:55 ` Andrew Lunn
2023-11-20 13:50 ` [net-next RFC PATCH 14/14] net: phy: qca807x: Add support for configurable LED Christian Marangi
2023-11-20 15:11 ` [net-next RFC PATCH 00/14] net: phy: Support DT PHY package Maxime Chevallier
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=6a030399-b8ed-4e2c-899f-d82eb437aafa@lunn.ch \
--to=andrew@lunn.ch \
--cc=SkyLake.Huang@mediatek.com \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=angelogioacchino.delregno@collabora.com \
--cc=ansuelsmth@gmail.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=conor+dt@kernel.org \
--cc=daniel@makrotopia.org \
--cc=davem@davemloft.net \
--cc=david.epping@missinglinkelectronics.com \
--cc=devicetree@vger.kernel.org \
--cc=dqfext@gmail.com \
--cc=edumazet@google.com \
--cc=florian.fainelli@broadcom.com \
--cc=harini.katakam@amd.com \
--cc=hkallweit1@gmail.com \
--cc=horms@kernel.org \
--cc=konrad.dybcio@linaro.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux@armlinux.org.uk \
--cc=matthias.bgg@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=rmk+kernel@armlinux.org.uk \
--cc=robert.marko@sartura.hr \
--cc=robh@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