dt-bindings: net: Introduce the ethernet-connector description

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 pairs, 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>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20260108080041.553250-2-maxime.chevallier@bootlin.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Maxime Chevallier
2026-01-08 09:00:26 +01:00
committed by Jakub Kicinski
parent 8d48d92eab
commit fb7a8d0786
3 changed files with 75 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
# 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
enum: [1, 2, 4]
media:
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:
const: BaseT
then:
required:
- pairs
else:
properties:
pairs: false
additionalProperties: true
...

View File

@@ -281,6 +281,17 @@ properties:
additionalProperties: false
mdi:
type: object
patternProperties:
'^connector-[0-9]+$':
$ref: /schemas/net/ethernet-connector.yaml#
unevaluatedProperties: false
additionalProperties: false
required:
- reg
@@ -317,5 +328,12 @@ examples:
default-state = "keep";
};
};
/* Fast Ethernet port, with only 2 pairs wired */
mdi {
connector-0 {
pairs = <2>;
media = "BaseT";
};
};
};
};

View File

@@ -9395,6 +9395,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