xref: /linux/Documentation/devicetree/bindings/net/realtek,rtl9301-mdio.yaml (revision 6315d93541f8a5f77c5ef5c4f25233e66d189603)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/net/realtek,rtl9301-mdio.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Realtek RTL9300 MDIO Controller
8
9maintainers:
10  - Chris Packham <chris.packham@alliedtelesis.co.nz>
11
12properties:
13  compatible:
14    oneOf:
15      - items:
16          - enum:
17              - realtek,rtl9302b-mdio
18              - realtek,rtl9302c-mdio
19              - realtek,rtl9303-mdio
20          - const: realtek,rtl9301-mdio
21      - const: realtek,rtl9301-mdio
22
23  '#address-cells':
24    const: 1
25
26  '#size-cells':
27    const: 0
28
29  reg:
30    maxItems: 1
31
32patternProperties:
33  '^mdio-bus@[0-3]$':
34    $ref: mdio.yaml#
35
36    properties:
37      reg:
38        maxItems: 1
39
40    required:
41      - reg
42
43    patternProperties:
44      '^ethernet-phy@[a-f0-9]+$':
45        type: object
46        $ref: ethernet-phy.yaml#
47        unevaluatedProperties: false
48
49    unevaluatedProperties: false
50
51required:
52  - compatible
53  - reg
54
55unevaluatedProperties: false
56
57examples:
58  - |
59    mdio-controller@ca00 {
60      compatible = "realtek,rtl9301-mdio";
61      reg = <0xca00 0x200>;
62      #address-cells = <1>;
63      #size-cells = <0>;
64
65      mdio-bus@0 {
66        reg = <0>;
67        #address-cells = <1>;
68        #size-cells = <0>;
69
70        ethernet-phy@0 {
71          compatible = "ethernet-phy-ieee802.3-c45";
72          reg = <0>;
73        };
74      };
75
76      mdio-bus@1 {
77        reg = <1>;
78        #address-cells = <1>;
79        #size-cells = <0>;
80
81        ethernet-phy@0 {
82          compatible = "ethernet-phy-ieee802.3-c45";
83          reg = <0>;
84        };
85      };
86    };
87