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