From: Rob Herring <robh@kernel.org>
To: Maxime Chevallier <maxime.chevallier@bootlin.com>
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 06:43:55 -0600 [thread overview]
Message-ID: <20251112124355.GA1269790-robh@kernel.org> (raw)
In-Reply-To: <20251106094742.2104099-2-maxime.chevallier@bootlin.com>
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?
Is it possible you need to know which pairs are wired?
> +
> + 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
??
> +
> +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]+
> + $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
>
next prev parent reply other threads:[~2025-11-12 12:44 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 [this message]
2025-11-12 13:25 ` Andrew Lunn
2025-11-12 13:37 ` Maxime Chevallier
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=20251112124355.GA1269790-robh@kernel.org \
--to=robh@kernel.org \
--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=maxime.chevallier@bootlin.com \
--cc=mwojtas@chromium.org \
--cc=netdev@vger.kernel.org \
--cc=nicveronese@gmail.com \
--cc=o.rempel@pengutronix.de \
--cc=pabeni@redhat.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.