xref: /linux/Documentation/devicetree/bindings/net/brcm,bcmgenet.yaml (revision d30c1683aaecb93d2ab95685dc4300a33d3cea7a)
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/net/brcm,bcmgenet.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Broadcom BCM7xxx Ethernet Controller (GENET)
8
9maintainers:
10  - Doug Berger <opendmb@gmail.com>
11  - Florian Fainelli <f.fainelli@gmail.com>
12
13properties:
14  compatible:
15    enum:
16      - brcm,genet-v1
17      - brcm,genet-v2
18      - brcm,genet-v3
19      - brcm,genet-v4
20      - brcm,genet-v5
21      - brcm,bcm2711-genet-v5
22      - brcm,bcm7712-genet-v5
23
24  reg:
25    maxItems: 1
26
27  interrupts:
28    minItems: 2
29    items:
30      - description: general purpose interrupt line
31      - description: RX and TX rings interrupt line
32      - description: Wake-on-LAN interrupt line
33
34  clocks:
35    minItems: 1
36    items:
37      - description: main clock
38      - description: EEE clock
39      - description: Wake-on-LAN clock
40
41  clock-names:
42    minItems: 1
43    items:
44      - const: enet
45      - const: enet-eee
46      - const: enet-wol
47
48  "#address-cells":
49    const: 1
50
51  "#size-cells":
52    const: 1
53
54patternProperties:
55  "^mdio@[0-9a-f]+$":
56    type: object
57    $ref: brcm,unimac-mdio.yaml
58
59    description:
60      GENET internal UniMAC MDIO bus
61
62required:
63  - reg
64  - interrupts
65  - phy-mode
66  - "#address-cells"
67  - "#size-cells"
68
69allOf:
70  - $ref: ethernet-controller.yaml
71
72unevaluatedProperties: false
73
74examples:
75  - |
76    ethernet@f0b60000 {
77        phy-mode = "internal";
78        phy-handle = <&phy1>;
79        mac-address = [ 00 10 18 36 23 1a ];
80        compatible = "brcm,genet-v4";
81        reg = <0xf0b60000 0xfc4c>;
82        interrupts = <0x0 0x14 0x0>, <0x0 0x15 0x0>;
83        #address-cells = <1>;
84        #size-cells = <1>;
85
86        mdio0: mdio@e14 {
87            compatible = "brcm,genet-mdio-v4";
88            #address-cells = <1>;
89            #size-cells = <0>;
90            reg = <0xe14 0x8>;
91
92            phy1: ethernet-phy@1 {
93                max-speed = <1000>;
94                reg = <1>;
95                compatible = "ethernet-phy-ieee802.3-c22";
96            };
97        };
98    };
99
100  - |
101    ethernet@f0b80000 {
102        phy-mode = "moca";
103        fixed-link = <1 0 1000 0 0>;
104        mac-address = [ 00 10 18 36 24 1a ];
105        compatible = "brcm,genet-v4";
106        #address-cells = <1>;
107        #size-cells = <1>;
108        reg = <0xf0b80000 0xfc4c>;
109        interrupts = <0x0 0x16 0x0>, <0x0 0x17 0x0>;
110
111        mdio1: mdio@e14 {
112            compatible = "brcm,genet-mdio-v4";
113            #address-cells = <1>;
114            #size-cells = <0>;
115            reg = <0xe14 0x8>;
116        };
117    };
118
119  - |
120    ethernet@f0ba0000 {
121        phy-mode = "rgmii";
122        phy-handle = <&phy0>;
123        mac-address = [ 00 10 18 36 26 1a ];
124        compatible = "brcm,genet-v4";
125        #address-cells = <1>;
126        #size-cells = <1>;
127        reg = <0xf0ba0000 0xfc4c>;
128        interrupts = <0x0 0x18 0x0>, <0x0 0x19 0x0>;
129
130        mdio2: mdio@e14 {
131            compatible = "brcm,genet-mdio-v4";
132            #address-cells = <1>;
133            #size-cells = <0>;
134            reg = <0xe14 0x8>;
135
136            phy0: ethernet-phy@0 {
137                max-speed = <1000>;
138                reg = <0>;
139                compatible = "ethernet-phy-ieee802.3-c22";
140            };
141        };
142    };
143