From: Maxime Chevallier <maxime.chevallier@bootlin.com>
To: Rob Herring <robh@kernel.org>
Cc: davem@davemloft.net, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
thomas.petazzoni@bootlin.com, "Andrew Lunn" <andrew@lunn.ch>,
"Jakub Kicinski" <kuba@kernel.org>,
"Eric Dumazet" <edumazet@google.com>,
"Paolo Abeni" <pabeni@redhat.com>,
"Russell King" <linux@armlinux.org.uk>,
linux-arm-kernel@lists.infradead.org,
"Christophe Leroy" <christophe.leroy@csgroup.eu>,
"Herve Codina" <herve.codina@bootlin.com>,
"Florian Fainelli" <f.fainelli@gmail.com>,
"Heiner Kallweit" <hkallweit1@gmail.com>,
"Vladimir Oltean" <vladimir.oltean@nxp.com>,
"Köry Maincent" <kory.maincent@bootlin.com>,
"Marek Behún" <kabel@kernel.org>,
"Oleksij Rempel" <o.rempel@pengutronix.de>,
"Nicolò Veronese" <nicveronese@gmail.com>,
"Simon Horman" <horms@kernel.org>,
mwojtas@chromium.org, "Antoine Tenart" <atenart@kernel.org>,
devicetree@vger.kernel.org, "Conor Dooley" <conor+dt@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Romain Gantois" <romain.gantois@bootlin.com>,
"Daniel Golle" <daniel@makrotopia.org>,
"Dimitri Fedrau" <dimitri.fedrau@liebherr.com>
Subject: Re: [PATCH net-next v15 01/15] dt-bindings: net: Introduce the ethernet-connector description
Date: Wed, 12 Nov 2025 14:37:40 +0100 [thread overview]
Message-ID: <7c96aca1-ffa7-49b9-9fc2-04229da338b6@bootlin.com> (raw)
In-Reply-To: <20251112124355.GA1269790-robh@kernel.org>
Hi Rob,
On 12/11/2025 13:43, Rob Herring wrote:
> On Thu, Nov 06, 2025 at 10:47:26AM +0100, Maxime Chevallier wrote:
>> The ability to describe the physical ports of Ethernet devices is useful
>> to describe multi-port devices, as well as to remove any ambiguity with
>> regard to the nature of the port.
>>
>> Moreover, describing ports allows for a better description of features
>> that are tied to connectors, such as PoE through the PSE-PD devices.
>>
>> Introduce a binding to allow describing the ports, for now with 2
>> attributes :
>>
>> - The number of lanes, which is a quite generic property that allows
>> differentating between multiple similar technologies such as BaseT1
>> and "regular" BaseT (which usually means BaseT4).
>>
>> - The media that can be used on that port, such as BaseT for Twisted
>> Copper, BaseC for coax copper, BaseS/L for Fiber, BaseK for backplane
>> ethernet, etc. This allows defining the nature of the port, and
>> therefore avoids the need for vendor-specific properties such as
>> "micrel,fiber-mode" or "ti,fiber-mode".
>>
>> The port description lives in its own file, as it is intended in the
>> future to allow describing the ports for phy-less devices.
>>
>> Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
>> ---
>> .../bindings/net/ethernet-connector.yaml | 53 +++++++++++++++++++
>> .../devicetree/bindings/net/ethernet-phy.yaml | 18 +++++++
>> MAINTAINERS | 1 +
>> 3 files changed, 72 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/net/ethernet-connector.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/net/ethernet-connector.yaml b/Documentation/devicetree/bindings/net/ethernet-connector.yaml
>> new file mode 100644
>> index 000000000000..2b67907582c7
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/net/ethernet-connector.yaml
>> @@ -0,0 +1,53 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/net/ethernet-connector.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Generic Ethernet Connector
>> +
>> +maintainers:
>> + - Maxime Chevallier <maxime.chevallier@bootlin.com>
>> +
>> +description:
>> + An Ethernet Connector represents the output of a network component such as
>> + a PHY, an Ethernet controller with no PHY, or an SFP module.
>> +
>> +properties:
>> +
>> + pairs:
>> + description:
>> + Defines the number of BaseT pairs that are used on the connector.
>> + $ref: /schemas/types.yaml#/definitions/uint32
>
> Constraints? Wouldn't 4 pairs be the max?
Andrew also made that remark on the code, I'll add a constraint on
1, 2 or 4 pairs.
>
> Is it possible you need to know which pairs are wired?
For now I don't think so, except maybe for when 2 pairs are wired
when 4 are supported on the PHY and connector, but even then I don't
think HW designers have a choice about which one to use. It's unclear
to me wether this would be useful.
>
>> +
>> + media:
>
> Both of these names are a bit generic though I don't have a better
> suggestion.
>
>> + description:
>> + The mediums, as defined in 802.3, that can be used on the port.
>> + enum:
>> + - BaseT
>> + - BaseK
>> + - BaseS
>> + - BaseC
>> + - BaseL
>> + - BaseD
>> + - BaseE
>> + - BaseF
>> + - BaseV
>> + - BaseMLD
>> +
>> +required:
>> + - media
>> +
>> +allOf:
>> + - if:
>> + properties:
>> + media:
>> + contains:
>> + const: BaseT
>> + then:
>> + required:
>> + - pairs
>
> else:
> properties:
> pairs: false
>
> ??
Ah I didn't know this was necessary, I'll add that, thanks !
>
>> +
>> +additionalProperties: true
>> +
>> +...
>> diff --git a/Documentation/devicetree/bindings/net/ethernet-phy.yaml b/Documentation/devicetree/bindings/net/ethernet-phy.yaml
>> index 2ec2d9fda7e3..f434768d6bae 100644
>> --- a/Documentation/devicetree/bindings/net/ethernet-phy.yaml
>> +++ b/Documentation/devicetree/bindings/net/ethernet-phy.yaml
>> @@ -277,6 +277,17 @@ properties:
>>
>> additionalProperties: false
>>
>> + mdi:
>> + type: object
>> +
>> + patternProperties:
>> + '^connector-[a-f0-9]+$':
>
> Unit addresses are hex, index suffixes are decimal: connector-[0-9]+
Ah right, indeed. I'll address that.
>
>
>> + $ref: /schemas/net/ethernet-connector.yaml#
>> +
>> + unevaluatedProperties: false
>> +
>> + additionalProperties: false
>> +
>> required:
>> - reg
>>
>> @@ -313,5 +324,12 @@ examples:
>> default-state = "keep";
>> };
>> };
>> + /* Fast Ethernet port, with only 2 pairs wired */
>> + mdi {
>> + connector-0 {
>> + pairs = <2>;
>> + media = "BaseT";
>> + };
>> + };
>> };
>> };
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 1ab7e8746299..19ba82b98616 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -9276,6 +9276,7 @@ R: Russell King <linux@armlinux.org.uk>
>> L: netdev@vger.kernel.org
>> S: Maintained
>> F: Documentation/ABI/testing/sysfs-class-net-phydev
>> +F: Documentation/devicetree/bindings/net/ethernet-connector.yaml
>> F: Documentation/devicetree/bindings/net/ethernet-phy.yaml
>> F: Documentation/devicetree/bindings/net/mdio*
>> F: Documentation/devicetree/bindings/net/qca,ar803x.yaml
>> --
>> 2.49.0
>>
Thanks for reviewing !
Maxime
next prev parent reply other threads:[~2025-11-12 13:37 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-06 9:47 [PATCH net-next v15 00/15] net: phy: Introduce PHY ports representation Maxime Chevallier
2025-11-06 9:47 ` [PATCH net-next v15 01/15] dt-bindings: net: Introduce the ethernet-connector description Maxime Chevallier
2025-11-11 3:34 ` Andrew Lunn
2025-11-12 8:16 ` Maxime Chevallier
2025-11-13 8:10 ` Maxime Chevallier
2025-11-12 12:43 ` Rob Herring
2025-11-12 13:25 ` Andrew Lunn
2025-11-12 13:37 ` Maxime Chevallier [this message]
2025-11-06 9:47 ` [PATCH net-next v15 02/15] net: ethtool: Introduce ETHTOOL_LINK_MEDIUM_* values Maxime Chevallier
2025-11-11 3:37 ` Andrew Lunn
2025-11-06 9:47 ` [PATCH net-next v15 03/15] net: phy: Introduce PHY ports representation Maxime Chevallier
2025-11-11 3:53 ` Andrew Lunn
2025-11-12 8:23 ` Maxime Chevallier
2025-11-06 9:47 ` [PATCH net-next v15 04/15] net: phy: dp83822: Add support for phy_port representation Maxime Chevallier
2025-11-11 3:54 ` Andrew Lunn
2025-11-06 9:47 ` [PATCH net-next v15 05/15] dt-bindings: net: dp83822: Deprecate ti,fiber-mode Maxime Chevallier
2025-11-06 9:47 ` [PATCH net-next v15 06/15] net: phy: Create a phy_port for PHY-driven SFPs Maxime Chevallier
2025-11-11 3:56 ` Andrew Lunn
2025-11-06 9:47 ` [PATCH net-next v15 07/15] net: phy: Introduce generic SFP handling for PHY drivers Maxime Chevallier
2025-11-11 3:58 ` Andrew Lunn
2025-11-06 9:47 ` [PATCH net-next v15 08/15] net: phy: marvell-88x2222: Support SFP through phy_port interface Maxime Chevallier
2025-11-11 4:00 ` Andrew Lunn
2025-11-06 9:47 ` [PATCH net-next v15 09/15] net: phy: marvell: " Maxime Chevallier
2025-11-11 4:01 ` Andrew Lunn
2025-11-06 9:47 ` [PATCH net-next v15 10/15] net: phy: marvell10g: Support SFP through phy_port Maxime Chevallier
2025-11-11 4:03 ` Andrew Lunn
2025-11-06 9:47 ` [PATCH net-next v15 11/15] net: phy: at803x: Support SFP through phy_port interface Maxime Chevallier
2025-11-11 4:05 ` Andrew Lunn
2025-11-06 9:47 ` [PATCH net-next v15 12/15] net: phy: qca807x: " Maxime Chevallier
2025-11-11 4:06 ` Andrew Lunn
2025-11-06 9:47 ` [PATCH net-next v15 13/15] net: phy: Only rely on phy_port for PHY-driven SFP Maxime Chevallier
2025-11-11 4:07 ` Andrew Lunn
2025-11-06 9:47 ` [PATCH net-next v15 14/15] net: phy: dp83822: Add SFP support through the phy_port interface Maxime Chevallier
2025-11-11 4:07 ` Andrew Lunn
2025-11-06 9:47 ` [PATCH net-next v15 15/15] Documentation: networking: Document the phy_port infrastructure Maxime Chevallier
2025-11-11 4:11 ` Andrew Lunn
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=7c96aca1-ffa7-49b9-9fc2-04229da338b6@bootlin.com \
--to=maxime.chevallier@bootlin.com \
--cc=andrew@lunn.ch \
--cc=atenart@kernel.org \
--cc=christophe.leroy@csgroup.eu \
--cc=conor+dt@kernel.org \
--cc=daniel@makrotopia.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=dimitri.fedrau@liebherr.com \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=herve.codina@bootlin.com \
--cc=hkallweit1@gmail.com \
--cc=horms@kernel.org \
--cc=kabel@kernel.org \
--cc=kory.maincent@bootlin.com \
--cc=krzk+dt@kernel.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@armlinux.org.uk \
--cc=mwojtas@chromium.org \
--cc=netdev@vger.kernel.org \
--cc=nicveronese@gmail.com \
--cc=o.rempel@pengutronix.de \
--cc=pabeni@redhat.com \
--cc=robh@kernel.org \
--cc=romain.gantois@bootlin.com \
--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