1*e67e8565SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*e67e8565SEmmanuel Vadot%YAML 1.2
3*e67e8565SEmmanuel Vadot---
4*e67e8565SEmmanuel Vadot$id: http://devicetree.org/schemas/leds/leds-bcm6328.yaml#
5*e67e8565SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*e67e8565SEmmanuel Vadot
7*e67e8565SEmmanuel Vadottitle: LEDs connected to Broadcom BCM6328 controller
8*e67e8565SEmmanuel Vadot
9*e67e8565SEmmanuel Vadotmaintainers:
10*e67e8565SEmmanuel Vadot  - Álvaro Fernández Rojas <noltari@gmail.com>
11*e67e8565SEmmanuel Vadot
12*e67e8565SEmmanuel Vadotdescription: |
13*e67e8565SEmmanuel Vadot  This controller is present on BCM6318, BCM6328, BCM6362 and BCM63268.
14*e67e8565SEmmanuel Vadot  In these SoCs it's possible to control LEDs both as GPIOs or by hardware.
15*e67e8565SEmmanuel Vadot  However, on some devices there are Serial LEDs (LEDs connected to a 74x164
16*e67e8565SEmmanuel Vadot  controller), which can either be controlled by software (exporting the 74x164
17*e67e8565SEmmanuel Vadot  as spi-gpio. See
18*e67e8565SEmmanuel Vadot  Documentation/devicetree/bindings/gpio/fairchild,74hc595.yaml), or by hardware
19*e67e8565SEmmanuel Vadot  using this driver.
20*e67e8565SEmmanuel Vadot  Some of these Serial LEDs are hardware controlled (e.g. ethernet LEDs) and
21*e67e8565SEmmanuel Vadot  exporting the 74x164 as spi-gpio prevents those LEDs to be hardware
22*e67e8565SEmmanuel Vadot  controlled, so the only chance to keep them working is by using this driver.
23*e67e8565SEmmanuel Vadot
24*e67e8565SEmmanuel Vadot  BCM6328 LED controller has a HWDIS register, which controls whether a LED
25*e67e8565SEmmanuel Vadot  should be controlled by a hardware signal instead of the MODE register value,
26*e67e8565SEmmanuel Vadot  with 0 meaning hardware control enabled and 1 hardware control disabled. This
27*e67e8565SEmmanuel Vadot  is usually 1:1 for hardware to LED signals, but through the activity/link
28*e67e8565SEmmanuel Vadot  registers you have some limited control over rerouting the LEDs (as
29*e67e8565SEmmanuel Vadot  explained later in brcm,link-signal-sources). Even if a LED is hardware
30*e67e8565SEmmanuel Vadot  controlled you are still able to make it blink or light it up if it isn't,
31*e67e8565SEmmanuel Vadot  but you can't turn it off if the hardware decides to light it up. For this
32*e67e8565SEmmanuel Vadot  reason, hardware controlled LEDs aren't registered as LED class devices.
33*e67e8565SEmmanuel Vadot
34*e67e8565SEmmanuel Vadot  Each LED is represented as a sub-node of the brcm,bcm6328-leds device.
35*e67e8565SEmmanuel Vadot
36*e67e8565SEmmanuel Vadotproperties:
37*e67e8565SEmmanuel Vadot  compatible:
38*e67e8565SEmmanuel Vadot    const: brcm,bcm6328-leds
39*e67e8565SEmmanuel Vadot
40*e67e8565SEmmanuel Vadot  reg:
41*e67e8565SEmmanuel Vadot    maxItems: 1
42*e67e8565SEmmanuel Vadot
43*e67e8565SEmmanuel Vadot  brcm,serial-leds:
44*e67e8565SEmmanuel Vadot    type: boolean
45*e67e8565SEmmanuel Vadot    description: Enables Serial LEDs.
46*e67e8565SEmmanuel Vadot
47*e67e8565SEmmanuel Vadot  brcm,serial-mux:
48*e67e8565SEmmanuel Vadot    type: boolean
49*e67e8565SEmmanuel Vadot    description: Enables Serial LEDs multiplexing.
50*e67e8565SEmmanuel Vadot
51*e67e8565SEmmanuel Vadot  brcm,serial-clk-low:
52*e67e8565SEmmanuel Vadot    type: boolean
53*e67e8565SEmmanuel Vadot    description: Makes clock signal active low.
54*e67e8565SEmmanuel Vadot
55*e67e8565SEmmanuel Vadot  brcm,serial-dat-low:
56*e67e8565SEmmanuel Vadot    type: boolean
57*e67e8565SEmmanuel Vadot    description: Makes data signal active low.
58*e67e8565SEmmanuel Vadot
59*e67e8565SEmmanuel Vadot  brcm,serial-shift-inv:
60*e67e8565SEmmanuel Vadot    type: boolean
61*e67e8565SEmmanuel Vadot    description: Inverts Serial LEDs shift direction.
62*e67e8565SEmmanuel Vadot
63*e67e8565SEmmanuel Vadot  "#address-cells":
64*e67e8565SEmmanuel Vadot    const: 1
65*e67e8565SEmmanuel Vadot
66*e67e8565SEmmanuel Vadot  "#size-cells":
67*e67e8565SEmmanuel Vadot    const: 0
68*e67e8565SEmmanuel Vadot
69*e67e8565SEmmanuel VadotpatternProperties:
70*e67e8565SEmmanuel Vadot  "@[a-f0-9]+$":
71*e67e8565SEmmanuel Vadot    type: object
72*e67e8565SEmmanuel Vadot
73*e67e8565SEmmanuel Vadot    $ref: common.yaml#
74*e67e8565SEmmanuel Vadot
75*e67e8565SEmmanuel Vadot    properties:
76*e67e8565SEmmanuel Vadot      reg:
77*e67e8565SEmmanuel Vadot        items:
78*e67e8565SEmmanuel Vadot          - maximum: 23
79*e67e8565SEmmanuel Vadot        description: LED pin number (only LEDs 0 to 23 are valid).
80*e67e8565SEmmanuel Vadot
81*e67e8565SEmmanuel Vadot      active-low:
82*e67e8565SEmmanuel Vadot        type: boolean
83*e67e8565SEmmanuel Vadot        description: Makes LED active low.
84*e67e8565SEmmanuel Vadot
85*e67e8565SEmmanuel Vadot      brcm,hardware-controlled:
86*e67e8565SEmmanuel Vadot        type: boolean
87*e67e8565SEmmanuel Vadot        description: Makes this LED hardware controlled.
88*e67e8565SEmmanuel Vadot
89*e67e8565SEmmanuel Vadot      brcm,link-signal-sources:
90*e67e8565SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32-array
91*e67e8565SEmmanuel Vadot        minItems: 1
92*e67e8565SEmmanuel Vadot        maxItems: 4
93*e67e8565SEmmanuel Vadot        description: >
94*e67e8565SEmmanuel Vadot          An array of hardware link signal sources. Up to four link hardware
95*e67e8565SEmmanuel Vadot          signals can get muxed into these LEDs. Only valid for LEDs 0 to 7,
96*e67e8565SEmmanuel Vadot          where LED signals 0 to 3 may be muxed to LEDs 0 to 3, and signals 4 to
97*e67e8565SEmmanuel Vadot          7 may be muxed to LEDs 4 to 7. A signal can be muxed to more than one
98*e67e8565SEmmanuel Vadot          LED, and one LED can have more than one source signal.
99*e67e8565SEmmanuel Vadot
100*e67e8565SEmmanuel Vadot      brcm,activity-signal-sources:
101*e67e8565SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32-array
102*e67e8565SEmmanuel Vadot        minItems: 1
103*e67e8565SEmmanuel Vadot        maxItems: 4
104*e67e8565SEmmanuel Vadot        description: >
105*e67e8565SEmmanuel Vadot          An array of hardware activity signal sources. Up to four activity
106*e67e8565SEmmanuel Vadot          hardware signals can get muxed into these LEDs. Only valid for LEDs 0
107*e67e8565SEmmanuel Vadot          to 7, where LED signals 0 to 3 may be muxed to LEDs 0 to 3, and
108*e67e8565SEmmanuel Vadot          signals 4 to 7 may be muxed to LEDs 4 to 7. A signal can be muxed to
109*e67e8565SEmmanuel Vadot          more than one LED, and one LED can have more than one source signal.
110*e67e8565SEmmanuel Vadot
111*e67e8565SEmmanuel Vadot    required:
112*e67e8565SEmmanuel Vadot      - reg
113*e67e8565SEmmanuel Vadot
114*e67e8565SEmmanuel Vadot    unevaluatedProperties: false
115*e67e8565SEmmanuel Vadot
116*e67e8565SEmmanuel Vadotrequired:
117*e67e8565SEmmanuel Vadot  - reg
118*e67e8565SEmmanuel Vadot  - "#address-cells"
119*e67e8565SEmmanuel Vadot  - "#size-cells"
120*e67e8565SEmmanuel Vadot
121*e67e8565SEmmanuel VadotadditionalProperties: false
122*e67e8565SEmmanuel Vadot
123*e67e8565SEmmanuel Vadotexamples:
124*e67e8565SEmmanuel Vadot  - |
125*e67e8565SEmmanuel Vadot    /* BCM6328 with 4 EPHY LEDs */
126*e67e8565SEmmanuel Vadot    led-controller@10000800 {
127*e67e8565SEmmanuel Vadot        compatible = "brcm,bcm6328-leds";
128*e67e8565SEmmanuel Vadot        #address-cells = <1>;
129*e67e8565SEmmanuel Vadot        #size-cells = <0>;
130*e67e8565SEmmanuel Vadot        reg = <0x10000800 0x24>;
131*e67e8565SEmmanuel Vadot
132*e67e8565SEmmanuel Vadot        alarm_red@2 {
133*e67e8565SEmmanuel Vadot            reg = <2>;
134*e67e8565SEmmanuel Vadot            active-low;
135*e67e8565SEmmanuel Vadot            label = "red:alarm";
136*e67e8565SEmmanuel Vadot        };
137*e67e8565SEmmanuel Vadot
138*e67e8565SEmmanuel Vadot        inet_green@3 {
139*e67e8565SEmmanuel Vadot            reg = <3>;
140*e67e8565SEmmanuel Vadot            active-low;
141*e67e8565SEmmanuel Vadot            label = "green:inet";
142*e67e8565SEmmanuel Vadot        };
143*e67e8565SEmmanuel Vadot
144*e67e8565SEmmanuel Vadot        power_green@4 {
145*e67e8565SEmmanuel Vadot            reg = <4>;
146*e67e8565SEmmanuel Vadot            active-low;
147*e67e8565SEmmanuel Vadot            label = "green:power";
148*e67e8565SEmmanuel Vadot            default-state = "on";
149*e67e8565SEmmanuel Vadot        };
150*e67e8565SEmmanuel Vadot
151*e67e8565SEmmanuel Vadot        ephy0_spd@17 {
152*e67e8565SEmmanuel Vadot            reg = <17>;
153*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
154*e67e8565SEmmanuel Vadot        };
155*e67e8565SEmmanuel Vadot
156*e67e8565SEmmanuel Vadot        ephy1_spd@18 {
157*e67e8565SEmmanuel Vadot            reg = <18>;
158*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
159*e67e8565SEmmanuel Vadot        };
160*e67e8565SEmmanuel Vadot
161*e67e8565SEmmanuel Vadot        ephy2_spd@19 {
162*e67e8565SEmmanuel Vadot            reg = <19>;
163*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
164*e67e8565SEmmanuel Vadot        };
165*e67e8565SEmmanuel Vadot
166*e67e8565SEmmanuel Vadot        ephy3_spd@20 {
167*e67e8565SEmmanuel Vadot            reg = <20>;
168*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
169*e67e8565SEmmanuel Vadot        };
170*e67e8565SEmmanuel Vadot    };
171*e67e8565SEmmanuel Vadot  - |
172*e67e8565SEmmanuel Vadot    /* BCM63268 with Serial/GPHY0 LEDs */
173*e67e8565SEmmanuel Vadot    led-controller@10001900 {
174*e67e8565SEmmanuel Vadot        compatible = "brcm,bcm6328-leds";
175*e67e8565SEmmanuel Vadot        #address-cells = <1>;
176*e67e8565SEmmanuel Vadot        #size-cells = <0>;
177*e67e8565SEmmanuel Vadot        reg = <0x10001900 0x24>;
178*e67e8565SEmmanuel Vadot        brcm,serial-leds;
179*e67e8565SEmmanuel Vadot        brcm,serial-dat-low;
180*e67e8565SEmmanuel Vadot        brcm,serial-shift-inv;
181*e67e8565SEmmanuel Vadot
182*e67e8565SEmmanuel Vadot        gphy0_spd0@0 {
183*e67e8565SEmmanuel Vadot            reg = <0>;
184*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
185*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <0>;
186*e67e8565SEmmanuel Vadot        };
187*e67e8565SEmmanuel Vadot
188*e67e8565SEmmanuel Vadot        gphy0_spd1@1 {
189*e67e8565SEmmanuel Vadot            reg = <1>;
190*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
191*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <1>;
192*e67e8565SEmmanuel Vadot        };
193*e67e8565SEmmanuel Vadot
194*e67e8565SEmmanuel Vadot        inet_red@2 {
195*e67e8565SEmmanuel Vadot            reg = <2>;
196*e67e8565SEmmanuel Vadot            active-low;
197*e67e8565SEmmanuel Vadot            label = "red:inet";
198*e67e8565SEmmanuel Vadot        };
199*e67e8565SEmmanuel Vadot
200*e67e8565SEmmanuel Vadot        dsl_green@3 {
201*e67e8565SEmmanuel Vadot            reg = <3>;
202*e67e8565SEmmanuel Vadot            active-low;
203*e67e8565SEmmanuel Vadot            label = "green:dsl";
204*e67e8565SEmmanuel Vadot        };
205*e67e8565SEmmanuel Vadot
206*e67e8565SEmmanuel Vadot        usb_green@4 {
207*e67e8565SEmmanuel Vadot            reg = <4>;
208*e67e8565SEmmanuel Vadot            active-low;
209*e67e8565SEmmanuel Vadot            label = "green:usb";
210*e67e8565SEmmanuel Vadot        };
211*e67e8565SEmmanuel Vadot
212*e67e8565SEmmanuel Vadot        wps_green@7 {
213*e67e8565SEmmanuel Vadot            reg = <7>;
214*e67e8565SEmmanuel Vadot            active-low;
215*e67e8565SEmmanuel Vadot            label = "green:wps";
216*e67e8565SEmmanuel Vadot        };
217*e67e8565SEmmanuel Vadot
218*e67e8565SEmmanuel Vadot        inet_green@8 {
219*e67e8565SEmmanuel Vadot            reg = <8>;
220*e67e8565SEmmanuel Vadot            active-low;
221*e67e8565SEmmanuel Vadot            label = "green:inet";
222*e67e8565SEmmanuel Vadot        };
223*e67e8565SEmmanuel Vadot
224*e67e8565SEmmanuel Vadot        ephy0_act@9 {
225*e67e8565SEmmanuel Vadot            reg = <9>;
226*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
227*e67e8565SEmmanuel Vadot        };
228*e67e8565SEmmanuel Vadot
229*e67e8565SEmmanuel Vadot        ephy1_act@10 {
230*e67e8565SEmmanuel Vadot            reg = <10>;
231*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
232*e67e8565SEmmanuel Vadot        };
233*e67e8565SEmmanuel Vadot
234*e67e8565SEmmanuel Vadot        ephy2_act@11 {
235*e67e8565SEmmanuel Vadot            reg = <11>;
236*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
237*e67e8565SEmmanuel Vadot        };
238*e67e8565SEmmanuel Vadot
239*e67e8565SEmmanuel Vadot        gphy0_act@12 {
240*e67e8565SEmmanuel Vadot            reg = <12>;
241*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
242*e67e8565SEmmanuel Vadot        };
243*e67e8565SEmmanuel Vadot
244*e67e8565SEmmanuel Vadot        ephy0_spd@13 {
245*e67e8565SEmmanuel Vadot            reg = <13>;
246*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
247*e67e8565SEmmanuel Vadot        };
248*e67e8565SEmmanuel Vadot
249*e67e8565SEmmanuel Vadot        ephy1_spd@14 {
250*e67e8565SEmmanuel Vadot            reg = <14>;
251*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
252*e67e8565SEmmanuel Vadot        };
253*e67e8565SEmmanuel Vadot
254*e67e8565SEmmanuel Vadot        ephy2_spd@15 {
255*e67e8565SEmmanuel Vadot            reg = <15>;
256*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
257*e67e8565SEmmanuel Vadot        };
258*e67e8565SEmmanuel Vadot
259*e67e8565SEmmanuel Vadot        power_green@20 {
260*e67e8565SEmmanuel Vadot            reg = <20>;
261*e67e8565SEmmanuel Vadot            active-low;
262*e67e8565SEmmanuel Vadot            label = "green:power";
263*e67e8565SEmmanuel Vadot            default-state = "on";
264*e67e8565SEmmanuel Vadot        };
265*e67e8565SEmmanuel Vadot    };
266*e67e8565SEmmanuel Vadot  - |
267*e67e8565SEmmanuel Vadot    /* BCM6362 with 1 LED for each EPHY */
268*e67e8565SEmmanuel Vadot    led-controller@10001900 {
269*e67e8565SEmmanuel Vadot        compatible = "brcm,bcm6328-leds";
270*e67e8565SEmmanuel Vadot        #address-cells = <1>;
271*e67e8565SEmmanuel Vadot        #size-cells = <0>;
272*e67e8565SEmmanuel Vadot        reg = <0x10001900 0x24>;
273*e67e8565SEmmanuel Vadot
274*e67e8565SEmmanuel Vadot        usb@0 {
275*e67e8565SEmmanuel Vadot            reg = <0>;
276*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
277*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <0>;
278*e67e8565SEmmanuel Vadot            brcm,activity-signal-sources = <0>;
279*e67e8565SEmmanuel Vadot            /* USB link/activity routed to USB LED */
280*e67e8565SEmmanuel Vadot        };
281*e67e8565SEmmanuel Vadot
282*e67e8565SEmmanuel Vadot        inet@1 {
283*e67e8565SEmmanuel Vadot            reg = <1>;
284*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
285*e67e8565SEmmanuel Vadot            brcm,activity-signal-sources = <1>;
286*e67e8565SEmmanuel Vadot            /* INET activity routed to INET LED */
287*e67e8565SEmmanuel Vadot        };
288*e67e8565SEmmanuel Vadot
289*e67e8565SEmmanuel Vadot        ephy0@4 {
290*e67e8565SEmmanuel Vadot            reg = <4>;
291*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
292*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <4>;
293*e67e8565SEmmanuel Vadot            /* EPHY0 link routed to EPHY0 LED */
294*e67e8565SEmmanuel Vadot        };
295*e67e8565SEmmanuel Vadot
296*e67e8565SEmmanuel Vadot        ephy1@5 {
297*e67e8565SEmmanuel Vadot            reg = <5>;
298*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
299*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <5>;
300*e67e8565SEmmanuel Vadot            /* EPHY1 link routed to EPHY1 LED */
301*e67e8565SEmmanuel Vadot        };
302*e67e8565SEmmanuel Vadot
303*e67e8565SEmmanuel Vadot        ephy2@6 {
304*e67e8565SEmmanuel Vadot            reg = <6>;
305*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
306*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <6>;
307*e67e8565SEmmanuel Vadot            /* EPHY2 link routed to EPHY2 LED */
308*e67e8565SEmmanuel Vadot        };
309*e67e8565SEmmanuel Vadot
310*e67e8565SEmmanuel Vadot        ephy3@7 {
311*e67e8565SEmmanuel Vadot            reg = <7>;
312*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
313*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <7>;
314*e67e8565SEmmanuel Vadot            /* EPHY3 link routed to EPHY3 LED */
315*e67e8565SEmmanuel Vadot        };
316*e67e8565SEmmanuel Vadot
317*e67e8565SEmmanuel Vadot        power_green@20 {
318*e67e8565SEmmanuel Vadot            reg = <20>;
319*e67e8565SEmmanuel Vadot            active-low;
320*e67e8565SEmmanuel Vadot            label = "green:power";
321*e67e8565SEmmanuel Vadot            default-state = "on";
322*e67e8565SEmmanuel Vadot        };
323*e67e8565SEmmanuel Vadot    };
324*e67e8565SEmmanuel Vadot  - |
325*e67e8565SEmmanuel Vadot    /* BCM6362 with 1 LED for all EPHYs */
326*e67e8565SEmmanuel Vadot    led-controller@10001900 {
327*e67e8565SEmmanuel Vadot        compatible = "brcm,bcm6328-leds";
328*e67e8565SEmmanuel Vadot        #address-cells = <1>;
329*e67e8565SEmmanuel Vadot        #size-cells = <0>;
330*e67e8565SEmmanuel Vadot        reg = <0x10001900 0x24>;
331*e67e8565SEmmanuel Vadot
332*e67e8565SEmmanuel Vadot        usb@0 {
333*e67e8565SEmmanuel Vadot            reg = <0>;
334*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
335*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <0 1>;
336*e67e8565SEmmanuel Vadot            brcm,activity-signal-sources = <0 1>;
337*e67e8565SEmmanuel Vadot            /* USB/INET link/activity routed to USB LED */
338*e67e8565SEmmanuel Vadot        };
339*e67e8565SEmmanuel Vadot
340*e67e8565SEmmanuel Vadot        ephy@4 {
341*e67e8565SEmmanuel Vadot            reg = <4>;
342*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
343*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <4 5 6 7>;
344*e67e8565SEmmanuel Vadot            /* EPHY0/1/2/3 link routed to EPHY0 LED */
345*e67e8565SEmmanuel Vadot        };
346*e67e8565SEmmanuel Vadot
347*e67e8565SEmmanuel Vadot        power_green@20 {
348*e67e8565SEmmanuel Vadot            reg = <20>;
349*e67e8565SEmmanuel Vadot            active-low;
350*e67e8565SEmmanuel Vadot            label = "green:power";
351*e67e8565SEmmanuel Vadot            default-state = "on";
352*e67e8565SEmmanuel Vadot        };
353*e67e8565SEmmanuel Vadot    };
354*e67e8565SEmmanuel Vadot  - |
355*e67e8565SEmmanuel Vadot    /* BCM6362 with EPHY LEDs swapped */
356*e67e8565SEmmanuel Vadot    led-controller@10001900 {
357*e67e8565SEmmanuel Vadot        compatible = "brcm,bcm6328-leds";
358*e67e8565SEmmanuel Vadot        #address-cells = <1>;
359*e67e8565SEmmanuel Vadot        #size-cells = <0>;
360*e67e8565SEmmanuel Vadot        reg = <0x10001900 0x24>;
361*e67e8565SEmmanuel Vadot
362*e67e8565SEmmanuel Vadot        usb@0 {
363*e67e8565SEmmanuel Vadot            reg = <0>;
364*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
365*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <0>;
366*e67e8565SEmmanuel Vadot            brcm,activity-signal-sources = <0 1>;
367*e67e8565SEmmanuel Vadot            /* USB link/act and INET act routed to USB LED */
368*e67e8565SEmmanuel Vadot        };
369*e67e8565SEmmanuel Vadot
370*e67e8565SEmmanuel Vadot        ephy0@4 {
371*e67e8565SEmmanuel Vadot            reg = <4>;
372*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
373*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <7>;
374*e67e8565SEmmanuel Vadot            /* EPHY3 link routed to EPHY0 LED */
375*e67e8565SEmmanuel Vadot        };
376*e67e8565SEmmanuel Vadot
377*e67e8565SEmmanuel Vadot        ephy1@5 {
378*e67e8565SEmmanuel Vadot            reg = <5>;
379*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
380*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <6>;
381*e67e8565SEmmanuel Vadot            /* EPHY2 link routed to EPHY1 LED */
382*e67e8565SEmmanuel Vadot        };
383*e67e8565SEmmanuel Vadot
384*e67e8565SEmmanuel Vadot        ephy2@6 {
385*e67e8565SEmmanuel Vadot            reg = <6>;
386*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
387*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <5>;
388*e67e8565SEmmanuel Vadot            /* EPHY1 link routed to EPHY2 LED */
389*e67e8565SEmmanuel Vadot        };
390*e67e8565SEmmanuel Vadot
391*e67e8565SEmmanuel Vadot        ephy3@7 {
392*e67e8565SEmmanuel Vadot            reg = <7>;
393*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
394*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <4>;
395*e67e8565SEmmanuel Vadot            /* EPHY0 link routed to EPHY3 LED */
396*e67e8565SEmmanuel Vadot        };
397*e67e8565SEmmanuel Vadot
398*e67e8565SEmmanuel Vadot        power_green@20 {
399*e67e8565SEmmanuel Vadot            reg = <20>;
400*e67e8565SEmmanuel Vadot            active-low;
401*e67e8565SEmmanuel Vadot            label = "green:power";
402*e67e8565SEmmanuel Vadot            default-state = "on";
403*e67e8565SEmmanuel Vadot        };
404*e67e8565SEmmanuel Vadot    };
405