Commit fb7a8d07 authored by Maxime Chevallier's avatar Maxime Chevallier Committed by Jakub Kicinski
Browse files

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: default avatarMaxime Chevallier <maxime.chevallier@bootlin.com>
Reviewed-by: default avatarRob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20260108080041.553250-2-maxime.chevallier@bootlin.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 8d48d92e
Loading
Loading
Loading
Loading
+56 −0
Original line number Diff line number Diff line
# 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

...
+18 −0
Original line number Diff line number Diff line
@@ -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";
                };
            };
        };
    };
+1 −0
Original line number Diff line number Diff line
@@ -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