mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-01 06:39:05 +00:00

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>
87 lines
1.6 KiB
YAML
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>;
|
|
};
|
|
};
|
|
};
|