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