Commit | Line | Data |
---|---|---|
3a470447 FF |
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 | ||
84e85359 | 7 | title: Broadcom BCM7xxx Ethernet Controller (GENET) |
3a470447 FF |
8 | |
9 | maintainers: | |
10 | - Doug Berger <opendmb@gmail.com> | |
11 | - Florian Fainelli <f.fainelli@gmail.com> | |
12 | ||
13 | properties: | |
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 | ||
35 | clocks: | |
36 | minItems: 1 | |
37 | items: | |
38 | - description: main clock | |
39 | - description: EEE clock | |
40 | - description: Wake-on-LAN clock | |
41 | ||
42 | clock-names: | |
43 | minItems: 1 | |
44 | items: | |
45 | - const: enet | |
46 | - const: enet-eee | |
47 | - const: enet-wol | |
48 | ||
49 | "#address-cells": | |
50 | const: 1 | |
51 | ||
52 | "#size-cells": | |
53 | const: 1 | |
54 | ||
55 | patternProperties: | |
56 | "^mdio@[0-9a-f]+$": | |
57 | type: object | |
58 | $ref: "brcm,unimac-mdio.yaml" | |
59 | ||
60 | description: | |
61 | GENET internal UniMAC MDIO bus | |
62 | ||
63 | required: | |
64 | - reg | |
65 | - interrupts | |
66 | - phy-mode | |
67 | - "#address-cells" | |
68 | - "#size-cells" | |
69 | ||
70 | allOf: | |
71 | - $ref: ethernet-controller.yaml | |
72 | ||
73 | unevaluatedProperties: false | |
74 | ||
75 | examples: | |
76 | #include <dt-bindings/interrupt-controller/arm-gic.h> | |
77 | ||
78 | - | | |
79 | ethernet@f0b60000 { | |
80 | phy-mode = "internal"; | |
81 | phy-handle = <&phy1>; | |
82 | mac-address = [ 00 10 18 36 23 1a ]; | |
83 | compatible = "brcm,genet-v4"; | |
84 | reg = <0xf0b60000 0xfc4c>; | |
85 | interrupts = <0x0 0x14 0x0>, <0x0 0x15 0x0>; | |
86 | #address-cells = <1>; | |
87 | #size-cells = <1>; | |
88 | ||
89 | mdio0: mdio@e14 { | |
90 | compatible = "brcm,genet-mdio-v4"; | |
91 | #address-cells = <1>; | |
92 | #size-cells = <0>; | |
93 | reg = <0xe14 0x8>; | |
94 | ||
95 | phy1: ethernet-phy@1 { | |
96 | max-speed = <1000>; | |
97 | reg = <1>; | |
98 | compatible = "ethernet-phy-ieee802.3-c22"; | |
99 | }; | |
100 | }; | |
101 | }; | |
102 | ||
103 | - | | |
104 | ethernet@f0b80000 { | |
105 | phy-mode = "moca"; | |
106 | fixed-link = <1 0 1000 0 0>; | |
107 | mac-address = [ 00 10 18 36 24 1a ]; | |
108 | compatible = "brcm,genet-v4"; | |
109 | #address-cells = <1>; | |
110 | #size-cells = <1>; | |
111 | reg = <0xf0b80000 0xfc4c>; | |
112 | interrupts = <0x0 0x16 0x0>, <0x0 0x17 0x0>; | |
113 | ||
114 | mdio1: mdio@e14 { | |
115 | compatible = "brcm,genet-mdio-v4"; | |
116 | #address-cells = <1>; | |
117 | #size-cells = <0>; | |
118 | reg = <0xe14 0x8>; | |
119 | }; | |
120 | }; | |
121 | ||
122 | - | | |
123 | ethernet@f0ba0000 { | |
124 | phy-mode = "rgmii"; | |
125 | phy-handle = <&phy0>; | |
126 | mac-address = [ 00 10 18 36 26 1a ]; | |
127 | compatible = "brcm,genet-v4"; | |
128 | #address-cells = <1>; | |
129 | #size-cells = <1>; | |
130 | reg = <0xf0ba0000 0xfc4c>; | |
131 | interrupts = <0x0 0x18 0x0>, <0x0 0x19 0x0>; | |
132 | ||
133 | mdio2: mdio@e14 { | |
134 | compatible = "brcm,genet-mdio-v4"; | |
135 | #address-cells = <1>; | |
136 | #size-cells = <0>; | |
137 | reg = <0xe14 0x8>; | |
138 | ||
139 | phy0: ethernet-phy@0 { | |
140 | max-speed = <1000>; | |
141 | reg = <0>; | |
142 | compatible = "ethernet-phy-ieee802.3-c22"; | |
143 | }; | |
144 | }; | |
145 | }; |