xref: /freebsd/sys/contrib/device-tree/Bindings/leds/leds-bcm6328.yaml (revision 01950c46b8155250f64374fb72fc11faa44bf099)
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      brcm,hardware-controlled:
82*e67e8565SEmmanuel Vadot        type: boolean
83*e67e8565SEmmanuel Vadot        description: Makes this LED hardware controlled.
84*e67e8565SEmmanuel Vadot
85*e67e8565SEmmanuel Vadot      brcm,link-signal-sources:
86*e67e8565SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32-array
87*e67e8565SEmmanuel Vadot        minItems: 1
88*e67e8565SEmmanuel Vadot        maxItems: 4
89*e67e8565SEmmanuel Vadot        description: >
90*e67e8565SEmmanuel Vadot          An array of hardware link signal sources. Up to four link hardware
91*e67e8565SEmmanuel Vadot          signals can get muxed into these LEDs. Only valid for LEDs 0 to 7,
92*e67e8565SEmmanuel Vadot          where LED signals 0 to 3 may be muxed to LEDs 0 to 3, and signals 4 to
93*e67e8565SEmmanuel Vadot          7 may be muxed to LEDs 4 to 7. A signal can be muxed to more than one
94*e67e8565SEmmanuel Vadot          LED, and one LED can have more than one source signal.
95*e67e8565SEmmanuel Vadot
96*e67e8565SEmmanuel Vadot      brcm,activity-signal-sources:
97*e67e8565SEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32-array
98*e67e8565SEmmanuel Vadot        minItems: 1
99*e67e8565SEmmanuel Vadot        maxItems: 4
100*e67e8565SEmmanuel Vadot        description: >
101*e67e8565SEmmanuel Vadot          An array of hardware activity signal sources. Up to four activity
102*e67e8565SEmmanuel Vadot          hardware signals can get muxed into these LEDs. Only valid for LEDs 0
103*e67e8565SEmmanuel Vadot          to 7, where LED signals 0 to 3 may be muxed to LEDs 0 to 3, and
104*e67e8565SEmmanuel Vadot          signals 4 to 7 may be muxed to LEDs 4 to 7. A signal can be muxed to
105*e67e8565SEmmanuel Vadot          more than one LED, and one LED can have more than one source signal.
106*e67e8565SEmmanuel Vadot
107*e67e8565SEmmanuel Vadot    required:
108*e67e8565SEmmanuel Vadot      - reg
109*e67e8565SEmmanuel Vadot
110*e67e8565SEmmanuel Vadot    unevaluatedProperties: false
111*e67e8565SEmmanuel Vadot
112*e67e8565SEmmanuel Vadotrequired:
113*e67e8565SEmmanuel Vadot  - reg
114*e67e8565SEmmanuel Vadot  - "#address-cells"
115*e67e8565SEmmanuel Vadot  - "#size-cells"
116*e67e8565SEmmanuel Vadot
117*e67e8565SEmmanuel VadotadditionalProperties: false
118*e67e8565SEmmanuel Vadot
119*e67e8565SEmmanuel Vadotexamples:
120*e67e8565SEmmanuel Vadot  - |
121*e67e8565SEmmanuel Vadot    /* BCM6328 with 4 EPHY LEDs */
122*e67e8565SEmmanuel Vadot    led-controller@10000800 {
123*e67e8565SEmmanuel Vadot        compatible = "brcm,bcm6328-leds";
124*e67e8565SEmmanuel Vadot        #address-cells = <1>;
125*e67e8565SEmmanuel Vadot        #size-cells = <0>;
126*e67e8565SEmmanuel Vadot        reg = <0x10000800 0x24>;
127*e67e8565SEmmanuel Vadot
128*e67e8565SEmmanuel Vadot        alarm_red@2 {
129*e67e8565SEmmanuel Vadot            reg = <2>;
130*e67e8565SEmmanuel Vadot            active-low;
131*e67e8565SEmmanuel Vadot            label = "red:alarm";
132*e67e8565SEmmanuel Vadot        };
133*e67e8565SEmmanuel Vadot
134*e67e8565SEmmanuel Vadot        inet_green@3 {
135*e67e8565SEmmanuel Vadot            reg = <3>;
136*e67e8565SEmmanuel Vadot            active-low;
137*e67e8565SEmmanuel Vadot            label = "green:inet";
138*e67e8565SEmmanuel Vadot        };
139*e67e8565SEmmanuel Vadot
140*e67e8565SEmmanuel Vadot        power_green@4 {
141*e67e8565SEmmanuel Vadot            reg = <4>;
142*e67e8565SEmmanuel Vadot            active-low;
143*e67e8565SEmmanuel Vadot            label = "green:power";
144*e67e8565SEmmanuel Vadot            default-state = "on";
145*e67e8565SEmmanuel Vadot        };
146*e67e8565SEmmanuel Vadot
147*e67e8565SEmmanuel Vadot        ephy0_spd@17 {
148*e67e8565SEmmanuel Vadot            reg = <17>;
149*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
150*e67e8565SEmmanuel Vadot        };
151*e67e8565SEmmanuel Vadot
152*e67e8565SEmmanuel Vadot        ephy1_spd@18 {
153*e67e8565SEmmanuel Vadot            reg = <18>;
154*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
155*e67e8565SEmmanuel Vadot        };
156*e67e8565SEmmanuel Vadot
157*e67e8565SEmmanuel Vadot        ephy2_spd@19 {
158*e67e8565SEmmanuel Vadot            reg = <19>;
159*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
160*e67e8565SEmmanuel Vadot        };
161*e67e8565SEmmanuel Vadot
162*e67e8565SEmmanuel Vadot        ephy3_spd@20 {
163*e67e8565SEmmanuel Vadot            reg = <20>;
164*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
165*e67e8565SEmmanuel Vadot        };
166*e67e8565SEmmanuel Vadot    };
167*e67e8565SEmmanuel Vadot  - |
168*e67e8565SEmmanuel Vadot    /* BCM63268 with Serial/GPHY0 LEDs */
169*e67e8565SEmmanuel Vadot    led-controller@10001900 {
170*e67e8565SEmmanuel Vadot        compatible = "brcm,bcm6328-leds";
171*e67e8565SEmmanuel Vadot        #address-cells = <1>;
172*e67e8565SEmmanuel Vadot        #size-cells = <0>;
173*e67e8565SEmmanuel Vadot        reg = <0x10001900 0x24>;
174*e67e8565SEmmanuel Vadot        brcm,serial-leds;
175*e67e8565SEmmanuel Vadot        brcm,serial-dat-low;
176*e67e8565SEmmanuel Vadot        brcm,serial-shift-inv;
177*e67e8565SEmmanuel Vadot
178*e67e8565SEmmanuel Vadot        gphy0_spd0@0 {
179*e67e8565SEmmanuel Vadot            reg = <0>;
180*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
181*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <0>;
182*e67e8565SEmmanuel Vadot        };
183*e67e8565SEmmanuel Vadot
184*e67e8565SEmmanuel Vadot        gphy0_spd1@1 {
185*e67e8565SEmmanuel Vadot            reg = <1>;
186*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
187*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <1>;
188*e67e8565SEmmanuel Vadot        };
189*e67e8565SEmmanuel Vadot
190*e67e8565SEmmanuel Vadot        inet_red@2 {
191*e67e8565SEmmanuel Vadot            reg = <2>;
192*e67e8565SEmmanuel Vadot            active-low;
193*e67e8565SEmmanuel Vadot            label = "red:inet";
194*e67e8565SEmmanuel Vadot        };
195*e67e8565SEmmanuel Vadot
196*e67e8565SEmmanuel Vadot        dsl_green@3 {
197*e67e8565SEmmanuel Vadot            reg = <3>;
198*e67e8565SEmmanuel Vadot            active-low;
199*e67e8565SEmmanuel Vadot            label = "green:dsl";
200*e67e8565SEmmanuel Vadot        };
201*e67e8565SEmmanuel Vadot
202*e67e8565SEmmanuel Vadot        usb_green@4 {
203*e67e8565SEmmanuel Vadot            reg = <4>;
204*e67e8565SEmmanuel Vadot            active-low;
205*e67e8565SEmmanuel Vadot            label = "green:usb";
206*e67e8565SEmmanuel Vadot        };
207*e67e8565SEmmanuel Vadot
208*e67e8565SEmmanuel Vadot        wps_green@7 {
209*e67e8565SEmmanuel Vadot            reg = <7>;
210*e67e8565SEmmanuel Vadot            active-low;
211*e67e8565SEmmanuel Vadot            label = "green:wps";
212*e67e8565SEmmanuel Vadot        };
213*e67e8565SEmmanuel Vadot
214*e67e8565SEmmanuel Vadot        inet_green@8 {
215*e67e8565SEmmanuel Vadot            reg = <8>;
216*e67e8565SEmmanuel Vadot            active-low;
217*e67e8565SEmmanuel Vadot            label = "green:inet";
218*e67e8565SEmmanuel Vadot        };
219*e67e8565SEmmanuel Vadot
220*e67e8565SEmmanuel Vadot        ephy0_act@9 {
221*e67e8565SEmmanuel Vadot            reg = <9>;
222*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
223*e67e8565SEmmanuel Vadot        };
224*e67e8565SEmmanuel Vadot
225*e67e8565SEmmanuel Vadot        ephy1_act@10 {
226*e67e8565SEmmanuel Vadot            reg = <10>;
227*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
228*e67e8565SEmmanuel Vadot        };
229*e67e8565SEmmanuel Vadot
230*e67e8565SEmmanuel Vadot        ephy2_act@11 {
231*e67e8565SEmmanuel Vadot            reg = <11>;
232*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
233*e67e8565SEmmanuel Vadot        };
234*e67e8565SEmmanuel Vadot
235*e67e8565SEmmanuel Vadot        gphy0_act@12 {
236*e67e8565SEmmanuel Vadot            reg = <12>;
237*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
238*e67e8565SEmmanuel Vadot        };
239*e67e8565SEmmanuel Vadot
240*e67e8565SEmmanuel Vadot        ephy0_spd@13 {
241*e67e8565SEmmanuel Vadot            reg = <13>;
242*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
243*e67e8565SEmmanuel Vadot        };
244*e67e8565SEmmanuel Vadot
245*e67e8565SEmmanuel Vadot        ephy1_spd@14 {
246*e67e8565SEmmanuel Vadot            reg = <14>;
247*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
248*e67e8565SEmmanuel Vadot        };
249*e67e8565SEmmanuel Vadot
250*e67e8565SEmmanuel Vadot        ephy2_spd@15 {
251*e67e8565SEmmanuel Vadot            reg = <15>;
252*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
253*e67e8565SEmmanuel Vadot        };
254*e67e8565SEmmanuel Vadot
255*e67e8565SEmmanuel Vadot        power_green@20 {
256*e67e8565SEmmanuel Vadot            reg = <20>;
257*e67e8565SEmmanuel Vadot            active-low;
258*e67e8565SEmmanuel Vadot            label = "green:power";
259*e67e8565SEmmanuel Vadot            default-state = "on";
260*e67e8565SEmmanuel Vadot        };
261*e67e8565SEmmanuel Vadot    };
262*e67e8565SEmmanuel Vadot  - |
263*e67e8565SEmmanuel Vadot    /* BCM6362 with 1 LED for each EPHY */
264*e67e8565SEmmanuel Vadot    led-controller@10001900 {
265*e67e8565SEmmanuel Vadot        compatible = "brcm,bcm6328-leds";
266*e67e8565SEmmanuel Vadot        #address-cells = <1>;
267*e67e8565SEmmanuel Vadot        #size-cells = <0>;
268*e67e8565SEmmanuel Vadot        reg = <0x10001900 0x24>;
269*e67e8565SEmmanuel Vadot
270*e67e8565SEmmanuel Vadot        usb@0 {
271*e67e8565SEmmanuel Vadot            reg = <0>;
272*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
273*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <0>;
274*e67e8565SEmmanuel Vadot            brcm,activity-signal-sources = <0>;
275*e67e8565SEmmanuel Vadot            /* USB link/activity routed to USB LED */
276*e67e8565SEmmanuel Vadot        };
277*e67e8565SEmmanuel Vadot
278*e67e8565SEmmanuel Vadot        inet@1 {
279*e67e8565SEmmanuel Vadot            reg = <1>;
280*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
281*e67e8565SEmmanuel Vadot            brcm,activity-signal-sources = <1>;
282*e67e8565SEmmanuel Vadot            /* INET activity routed to INET LED */
283*e67e8565SEmmanuel Vadot        };
284*e67e8565SEmmanuel Vadot
285*e67e8565SEmmanuel Vadot        ephy0@4 {
286*e67e8565SEmmanuel Vadot            reg = <4>;
287*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
288*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <4>;
289*e67e8565SEmmanuel Vadot            /* EPHY0 link routed to EPHY0 LED */
290*e67e8565SEmmanuel Vadot        };
291*e67e8565SEmmanuel Vadot
292*e67e8565SEmmanuel Vadot        ephy1@5 {
293*e67e8565SEmmanuel Vadot            reg = <5>;
294*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
295*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <5>;
296*e67e8565SEmmanuel Vadot            /* EPHY1 link routed to EPHY1 LED */
297*e67e8565SEmmanuel Vadot        };
298*e67e8565SEmmanuel Vadot
299*e67e8565SEmmanuel Vadot        ephy2@6 {
300*e67e8565SEmmanuel Vadot            reg = <6>;
301*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
302*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <6>;
303*e67e8565SEmmanuel Vadot            /* EPHY2 link routed to EPHY2 LED */
304*e67e8565SEmmanuel Vadot        };
305*e67e8565SEmmanuel Vadot
306*e67e8565SEmmanuel Vadot        ephy3@7 {
307*e67e8565SEmmanuel Vadot            reg = <7>;
308*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
309*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <7>;
310*e67e8565SEmmanuel Vadot            /* EPHY3 link routed to EPHY3 LED */
311*e67e8565SEmmanuel Vadot        };
312*e67e8565SEmmanuel Vadot
313*e67e8565SEmmanuel Vadot        power_green@20 {
314*e67e8565SEmmanuel Vadot            reg = <20>;
315*e67e8565SEmmanuel Vadot            active-low;
316*e67e8565SEmmanuel Vadot            label = "green:power";
317*e67e8565SEmmanuel Vadot            default-state = "on";
318*e67e8565SEmmanuel Vadot        };
319*e67e8565SEmmanuel Vadot    };
320*e67e8565SEmmanuel Vadot  - |
321*e67e8565SEmmanuel Vadot    /* BCM6362 with 1 LED for all EPHYs */
322*e67e8565SEmmanuel Vadot    led-controller@10001900 {
323*e67e8565SEmmanuel Vadot        compatible = "brcm,bcm6328-leds";
324*e67e8565SEmmanuel Vadot        #address-cells = <1>;
325*e67e8565SEmmanuel Vadot        #size-cells = <0>;
326*e67e8565SEmmanuel Vadot        reg = <0x10001900 0x24>;
327*e67e8565SEmmanuel Vadot
328*e67e8565SEmmanuel Vadot        usb@0 {
329*e67e8565SEmmanuel Vadot            reg = <0>;
330*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
331*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <0 1>;
332*e67e8565SEmmanuel Vadot            brcm,activity-signal-sources = <0 1>;
333*e67e8565SEmmanuel Vadot            /* USB/INET link/activity routed to USB LED */
334*e67e8565SEmmanuel Vadot        };
335*e67e8565SEmmanuel Vadot
336*e67e8565SEmmanuel Vadot        ephy@4 {
337*e67e8565SEmmanuel Vadot            reg = <4>;
338*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
339*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <4 5 6 7>;
340*e67e8565SEmmanuel Vadot            /* EPHY0/1/2/3 link routed to EPHY0 LED */
341*e67e8565SEmmanuel Vadot        };
342*e67e8565SEmmanuel Vadot
343*e67e8565SEmmanuel Vadot        power_green@20 {
344*e67e8565SEmmanuel Vadot            reg = <20>;
345*e67e8565SEmmanuel Vadot            active-low;
346*e67e8565SEmmanuel Vadot            label = "green:power";
347*e67e8565SEmmanuel Vadot            default-state = "on";
348*e67e8565SEmmanuel Vadot        };
349*e67e8565SEmmanuel Vadot    };
350*e67e8565SEmmanuel Vadot  - |
351*e67e8565SEmmanuel Vadot    /* BCM6362 with EPHY LEDs swapped */
352*e67e8565SEmmanuel Vadot    led-controller@10001900 {
353*e67e8565SEmmanuel Vadot        compatible = "brcm,bcm6328-leds";
354*e67e8565SEmmanuel Vadot        #address-cells = <1>;
355*e67e8565SEmmanuel Vadot        #size-cells = <0>;
356*e67e8565SEmmanuel Vadot        reg = <0x10001900 0x24>;
357*e67e8565SEmmanuel Vadot
358*e67e8565SEmmanuel Vadot        usb@0 {
359*e67e8565SEmmanuel Vadot            reg = <0>;
360*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
361*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <0>;
362*e67e8565SEmmanuel Vadot            brcm,activity-signal-sources = <0 1>;
363*e67e8565SEmmanuel Vadot            /* USB link/act and INET act routed to USB LED */
364*e67e8565SEmmanuel Vadot        };
365*e67e8565SEmmanuel Vadot
366*e67e8565SEmmanuel Vadot        ephy0@4 {
367*e67e8565SEmmanuel Vadot            reg = <4>;
368*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
369*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <7>;
370*e67e8565SEmmanuel Vadot            /* EPHY3 link routed to EPHY0 LED */
371*e67e8565SEmmanuel Vadot        };
372*e67e8565SEmmanuel Vadot
373*e67e8565SEmmanuel Vadot        ephy1@5 {
374*e67e8565SEmmanuel Vadot            reg = <5>;
375*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
376*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <6>;
377*e67e8565SEmmanuel Vadot            /* EPHY2 link routed to EPHY1 LED */
378*e67e8565SEmmanuel Vadot        };
379*e67e8565SEmmanuel Vadot
380*e67e8565SEmmanuel Vadot        ephy2@6 {
381*e67e8565SEmmanuel Vadot            reg = <6>;
382*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
383*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <5>;
384*e67e8565SEmmanuel Vadot            /* EPHY1 link routed to EPHY2 LED */
385*e67e8565SEmmanuel Vadot        };
386*e67e8565SEmmanuel Vadot
387*e67e8565SEmmanuel Vadot        ephy3@7 {
388*e67e8565SEmmanuel Vadot            reg = <7>;
389*e67e8565SEmmanuel Vadot            brcm,hardware-controlled;
390*e67e8565SEmmanuel Vadot            brcm,link-signal-sources = <4>;
391*e67e8565SEmmanuel Vadot            /* EPHY0 link routed to EPHY3 LED */
392*e67e8565SEmmanuel Vadot        };
393*e67e8565SEmmanuel Vadot
394*e67e8565SEmmanuel Vadot        power_green@20 {
395*e67e8565SEmmanuel Vadot            reg = <20>;
396*e67e8565SEmmanuel Vadot            active-low;
397*e67e8565SEmmanuel Vadot            label = "green:power";
398*e67e8565SEmmanuel Vadot            default-state = "on";
399*e67e8565SEmmanuel Vadot        };
400*e67e8565SEmmanuel Vadot    };
401