linux-loongson/Documentation/devicetree/bindings/net/realtek,rtl9301-mdio.yaml
Chris Packham 96757457da dt-bindings: net: Add Realtek MDIO controller
Add dtschema for the MDIO controller found in the RTL9300 Ethernet
switch. The controller is slightly unusual in that direct MDIO
communication is not possible. We model the MDIO controller with the
MDIO buses as child nodes and the PHYs as children of the buses. The
mapping of switch port number to MDIO bus/addr requires the
ethernet-ports sibling to provide the mapping via the phy-handle
property.

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20250218195216.1034220-4-chris.packham@alliedtelesis.co.nz
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-02-21 15:07:15 -08:00

87 lines
1.6 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/realtek,rtl9301-mdio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Realtek RTL9300 MDIO Controller
maintainers:
- Chris Packham <chris.packham@alliedtelesis.co.nz>
properties:
compatible:
oneOf:
- items:
- enum:
- realtek,rtl9302b-mdio
- realtek,rtl9302c-mdio
- realtek,rtl9303-mdio
- const: realtek,rtl9301-mdio
- const: realtek,rtl9301-mdio
'#address-cells':
const: 1
'#size-cells':
const: 0
reg:
maxItems: 1
patternProperties:
'^mdio-bus@[0-3]$':
$ref: mdio.yaml#
properties:
reg:
maxItems: 1
required:
- reg
patternProperties:
'^ethernet-phy@[a-f0-9]+$':
type: object
$ref: ethernet-phy.yaml#
unevaluatedProperties: false
unevaluatedProperties: false
required:
- compatible
- reg
unevaluatedProperties: false
examples:
- |
mdio-controller@ca00 {
compatible = "realtek,rtl9301-mdio";
reg = <0xca00 0x200>;
#address-cells = <1>;
#size-cells = <0>;
mdio-bus@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <0>;
};
};
mdio-bus@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <0>;
};
};
};