From: Christian Marangi <ansuelsmth@gmail.com>
To: Rob Herring <robh@kernel.org>
Cc: "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>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konrad.dybcio@linaro.org>,
Andrew Lunn <andrew@lunn.ch>,
Heiner Kallweit <hkallweit1@gmail.com>,
Russell King <linux@armlinux.org.uk>,
Frank Rowand <frowand.list@gmail.com>,
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
Subject: Re: [net-next PATCH v5 1/9] dt-bindings: net: document ethernet PHY package nodes
Date: Fri, 2 Feb 2024 21:58:07 +0100 [thread overview]
Message-ID: <65bd5763.df0a0220.f783b.c20e@mx.google.com> (raw)
In-Reply-To: <20240202205259.GC1075521-robh@kernel.org>
On Fri, Feb 02, 2024 at 02:52:59PM -0600, Rob Herring wrote:
> On Thu, Feb 01, 2024 at 04:17:27PM +0100, Christian Marangi wrote:
> > Document ethernet PHY package nodes used to describe PHY shipped in
> > bundle of 2-5 PHY. The special node describe a container of PHY that
> > share common properties. This is a generic schema and PHY package
> > should create specialized version with the required additional shared
> > properties.
> >
> > Example are PHY packages that have some regs only in one PHY of the
> > package and will affect every other PHY in the package, for example
> > related to PHY interface mode calibration or global PHY mode selection.
> >
> > The PHY package node MUST declare the base address used by the PHY driver
> > for global configuration by calculating the offsets of the global PHY
> > based on the base address of the PHY package.
> >
> > Each reg of the PHYs defined in the PHY Package node is an offset of the
> > PHY Package reg.
> >
> > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> > ---
> > .../bindings/net/ethernet-phy-package.yaml | 55 +++++++++++++++++++
> > 1 file changed, 55 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/net/ethernet-phy-package.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/net/ethernet-phy-package.yaml b/Documentation/devicetree/bindings/net/ethernet-phy-package.yaml
> > new file mode 100644
> > index 000000000000..d7cdbb1a4b3e
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/net/ethernet-phy-package.yaml
> > @@ -0,0 +1,55 @@
> > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/net/ethernet-phy-package.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Ethernet PHY Package Common Properties
> > +
> > +maintainers:
> > + - Christian Marangi <ansuelsmth@gmail.com>
> > +
> > +description:
> > + PHY packages are multi-port Ethernet PHY of the same family
> > + and each Ethernet PHY is affected by the global configuration
> > + of the PHY package.
> > +
> > + Each reg of the PHYs defined in the PHY Package node is
> > + an offset of the PHY Package reg.
> > +
> > + Each Ethernet PHYs defined in the PHY package node is
> > + reachable in the MDIO bus at the address of the PHY
> > + Package offset of the Ethernet PHY reg.
>
> If the phys are addressed with an MDIO address, then just use those.
>
Thanks a lot for the review Rob.
Just to make sure I got this right!
Are you ok to have the PHYs with absolute reg? (it would make thing soo
much easy)
It would result in this node example on real world scenario.
ethernet-phy-package@16 {
compatible = "qcom,qca8075-package";
#address-cells = <1>;
#size-cells = <0>;
reg = <16>;
qcom,package-mode = "qsgmii";
qca8075_16: ethernet-phy@16 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <16>;
};
qca8075_17: ethernet-phy@17 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <17>;
};
qca8075_18: ethernet-phy@18 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <18>;
};
qca8075_19: ethernet-phy@19 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <19>;
};
};
> > +
> > +properties:
> > + $nodename:
> > + pattern: "^ethernet-phy-package(@[a-f0-9]+)?$"
>
> Can't be optional if 'reg' is required (which it should be).
>
> > +
> > + reg:
> > + minimum: 0
> > + maximum: 31
> > + description:
> > + The base ID number for the PHY package.
> > + Commonly the ID of the first PHY in the PHY package.
> > +
> > + Some PHY in the PHY package might be not defined but
> > + still occupy ID on the device (just not attached to
> > + anything) hence the PHY package reg might correspond
> > + to a not attached PHY (offset 0).
> > +
> > + '#address-cells':
> > + const: 1
> > +
> > + '#size-cells':
> > + const: 0
> > +
> > +patternProperties:
> > + ^ethernet-phy(@[a-f0-9]+)?$:
>
> Same issue here.
>
> > + $ref: ethernet-phy.yaml#
> > +
> > +required:
> > + - reg
> > + - '#address-cells'
> > + - '#size-cells'
> > +
> > +additionalProperties: true
> > --
> > 2.43.0
> >
--
Ansuel
next prev parent reply other threads:[~2024-02-02 20:58 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-01 15:17 [net-next PATCH v5 0/9] net: phy: Introduce PHY Package concept Christian Marangi
2024-02-01 15:17 ` [net-next PATCH v5 1/9] dt-bindings: net: document ethernet PHY package nodes Christian Marangi
2024-02-02 20:52 ` Rob Herring
2024-02-02 20:58 ` Christian Marangi [this message]
2024-02-01 15:17 ` [net-next PATCH v5 2/9] net: phy: add support for scanning PHY in PHY packages nodes Christian Marangi
2024-02-01 16:25 ` Antoine Tenart
2024-02-01 17:20 ` Christian Marangi
2024-02-02 1:02 ` Andrew Lunn
2024-02-02 10:05 ` Antoine Tenart
2024-02-01 15:17 ` [net-next PATCH v5 3/9] net: phy: add devm/of_phy_package_join helper Christian Marangi
2024-02-01 16:40 ` Antoine Tenart
2024-02-01 16:48 ` Christian Marangi
2024-02-01 15:17 ` [net-next PATCH v5 4/9] net: phy: qcom: move more function to shared library Christian Marangi
2024-02-01 15:17 ` [net-next PATCH v5 5/9] dt-bindings: net: add QCA807x PHY defines Christian Marangi
2024-02-02 7:41 ` Krzysztof Kozlowski
2024-02-02 15:19 ` Christian Marangi
2024-02-02 16:58 ` Conor Dooley
2024-02-02 17:03 ` Christian Marangi
2024-02-01 15:17 ` [net-next PATCH v5 6/9] dt-bindings: net: Document Qcom QCA807x PHY package Christian Marangi
2024-02-02 1:16 ` Andrew Lunn
2024-02-02 7:45 ` Krzysztof Kozlowski
2024-02-02 15:12 ` Christian Marangi
2024-02-02 20:39 ` Rob Herring
2024-02-02 20:47 ` Christian Marangi
2024-02-02 20:45 ` Rob Herring
2024-02-02 21:50 ` Andrew Lunn
2024-02-01 15:17 ` [net-next PATCH v5 7/9] net: phy: qcom: add support for QCA807x PHY Family Christian Marangi
2024-02-02 1:35 ` Andrew Lunn
2024-02-02 17:44 ` Christian Marangi
2024-02-03 16:25 ` Andrew Lunn
2024-02-03 16:28 ` Christian Marangi
2024-02-01 15:17 ` [net-next PATCH v5 8/9] net: phy: qcom: generalize some qca808x LED functions Christian Marangi
2024-02-02 1:38 ` Andrew Lunn
2024-02-01 15:17 ` [net-next PATCH v5 9/9] net: phy: qca807x: add support for configurable LED Christian Marangi
2024-02-02 1:43 ` Andrew Lunn
2024-02-02 16:40 ` Christian Marangi
2024-02-02 17:04 ` Russell King (Oracle)
2024-02-02 17:07 ` Christian Marangi
2024-02-02 17:08 ` Andrew Lunn
2024-02-02 17:13 ` Christian Marangi
2024-02-02 17:30 ` Russell King (Oracle)
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=65bd5763.df0a0220.f783b.c20e@mx.google.com \
--to=ansuelsmth@gmail.com \
--cc=andersson@kernel.org \
--cc=andrew@lunn.ch \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=frowand.list@gmail.com \
--cc=hkallweit1@gmail.com \
--cc=konrad.dybcio@linaro.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=kuba@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--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;
as well as URLs for NNTP newsgroup(s).