1*632889cfSÁlvaro Fernández RojasLEDs connected to Broadcom BCM6358 controller 2*632889cfSÁlvaro Fernández Rojas 3*632889cfSÁlvaro Fernández RojasThis controller is present on BCM6358 and BCM6368. 4*632889cfSÁlvaro Fernández RojasIn these SoCs there are Serial LEDs (LEDs connected to a 74x164 controller), 5*632889cfSÁlvaro Fernández Rojaswhich can either be controlled by software (exporting the 74x164 as spi-gpio. 6*632889cfSÁlvaro Fernández RojasSee Documentation/devicetree/bindings/gpio/gpio-74x164.txt), or 7*632889cfSÁlvaro Fernández Rojasby hardware using this driver. 8*632889cfSÁlvaro Fernández Rojas 9*632889cfSÁlvaro Fernández RojasRequired properties: 10*632889cfSÁlvaro Fernández Rojas - compatible : should be "brcm,bcm6358-leds". 11*632889cfSÁlvaro Fernández Rojas - #address-cells : must be 1. 12*632889cfSÁlvaro Fernández Rojas - #size-cells : must be 0. 13*632889cfSÁlvaro Fernández Rojas - reg : BCM6358 LED controller address and size. 14*632889cfSÁlvaro Fernández Rojas 15*632889cfSÁlvaro Fernández RojasOptional properties: 16*632889cfSÁlvaro Fernández Rojas - brcm,clk-div : SCK signal divider. Possible values are 1, 2, 4 and 8. 17*632889cfSÁlvaro Fernández Rojas Default : 1 18*632889cfSÁlvaro Fernández Rojas - brcm,clk-dat-low : Boolean, makes clock and data signals active low. 19*632889cfSÁlvaro Fernández Rojas Default : false 20*632889cfSÁlvaro Fernández Rojas 21*632889cfSÁlvaro Fernández RojasEach LED is represented as a sub-node of the brcm,bcm6358-leds device. 22*632889cfSÁlvaro Fernández Rojas 23*632889cfSÁlvaro Fernández RojasLED sub-node required properties: 24*632889cfSÁlvaro Fernández Rojas - reg : LED pin number (only LEDs 0 to 31 are valid). 25*632889cfSÁlvaro Fernández Rojas 26*632889cfSÁlvaro Fernández RojasLED sub-node optional properties: 27*632889cfSÁlvaro Fernández Rojas - label : see Documentation/devicetree/bindings/leds/common.txt 28*632889cfSÁlvaro Fernández Rojas - active-low : Boolean, makes LED active low. 29*632889cfSÁlvaro Fernández Rojas Default : false 30*632889cfSÁlvaro Fernández Rojas 31*632889cfSÁlvaro Fernández RojasExamples: 32*632889cfSÁlvaro Fernández RojasScenario 1 : BCM6358 33*632889cfSÁlvaro Fernández Rojas leds0: led-controller@fffe00d0 { 34*632889cfSÁlvaro Fernández Rojas compatible = "brcm,bcm6358-leds"; 35*632889cfSÁlvaro Fernández Rojas #address-cells = <1>; 36*632889cfSÁlvaro Fernández Rojas #size-cells = <0>; 37*632889cfSÁlvaro Fernández Rojas reg = <0xfffe00d0 0x8>; 38*632889cfSÁlvaro Fernández Rojas 39*632889cfSÁlvaro Fernández Rojas alarm_white { 40*632889cfSÁlvaro Fernández Rojas reg = <0>; 41*632889cfSÁlvaro Fernández Rojas active-low; 42*632889cfSÁlvaro Fernández Rojas label = "white:alarm"; 43*632889cfSÁlvaro Fernández Rojas }; 44*632889cfSÁlvaro Fernández Rojas tv_white { 45*632889cfSÁlvaro Fernández Rojas reg = <2>; 46*632889cfSÁlvaro Fernández Rojas active-low; 47*632889cfSÁlvaro Fernández Rojas label = "white:tv"; 48*632889cfSÁlvaro Fernández Rojas }; 49*632889cfSÁlvaro Fernández Rojas tel_white { 50*632889cfSÁlvaro Fernández Rojas reg = <3>; 51*632889cfSÁlvaro Fernández Rojas active-low; 52*632889cfSÁlvaro Fernández Rojas label = "white:tel"; 53*632889cfSÁlvaro Fernández Rojas }; 54*632889cfSÁlvaro Fernández Rojas adsl_white { 55*632889cfSÁlvaro Fernández Rojas reg = <4>; 56*632889cfSÁlvaro Fernández Rojas active-low; 57*632889cfSÁlvaro Fernández Rojas label = "white:adsl"; 58*632889cfSÁlvaro Fernández Rojas }; 59*632889cfSÁlvaro Fernández Rojas }; 60*632889cfSÁlvaro Fernández Rojas 61*632889cfSÁlvaro Fernández RojasScenario 2 : BCM6368 62*632889cfSÁlvaro Fernández Rojas leds0: led-controller@100000d0 { 63*632889cfSÁlvaro Fernández Rojas compatible = "brcm,bcm6358-leds"; 64*632889cfSÁlvaro Fernández Rojas #address-cells = <1>; 65*632889cfSÁlvaro Fernández Rojas #size-cells = <0>; 66*632889cfSÁlvaro Fernández Rojas reg = <0x100000d0 0x8>; 67*632889cfSÁlvaro Fernández Rojas brcm,pol-low; 68*632889cfSÁlvaro Fernández Rojas brcm,clk-div = <4>; 69*632889cfSÁlvaro Fernández Rojas 70*632889cfSÁlvaro Fernández Rojas power_red { 71*632889cfSÁlvaro Fernández Rojas reg = <0>; 72*632889cfSÁlvaro Fernández Rojas active-low; 73*632889cfSÁlvaro Fernández Rojas label = "red:power"; 74*632889cfSÁlvaro Fernández Rojas }; 75*632889cfSÁlvaro Fernández Rojas power_green { 76*632889cfSÁlvaro Fernández Rojas reg = <1>; 77*632889cfSÁlvaro Fernández Rojas active-low; 78*632889cfSÁlvaro Fernández Rojas label = "green:power"; 79*632889cfSÁlvaro Fernández Rojas default-state = "on"; 80*632889cfSÁlvaro Fernández Rojas }; 81*632889cfSÁlvaro Fernández Rojas power_blue { 82*632889cfSÁlvaro Fernández Rojas reg = <2>; 83*632889cfSÁlvaro Fernández Rojas label = "blue:power"; 84*632889cfSÁlvaro Fernández Rojas }; 85*632889cfSÁlvaro Fernández Rojas broadband_red { 86*632889cfSÁlvaro Fernández Rojas reg = <3>; 87*632889cfSÁlvaro Fernández Rojas active-low; 88*632889cfSÁlvaro Fernández Rojas label = "red:broadband"; 89*632889cfSÁlvaro Fernández Rojas }; 90*632889cfSÁlvaro Fernández Rojas broadband_green { 91*632889cfSÁlvaro Fernández Rojas reg = <4>; 92*632889cfSÁlvaro Fernández Rojas label = "green:broadband"; 93*632889cfSÁlvaro Fernández Rojas }; 94*632889cfSÁlvaro Fernández Rojas broadband_blue { 95*632889cfSÁlvaro Fernández Rojas reg = <5>; 96*632889cfSÁlvaro Fernández Rojas active-low; 97*632889cfSÁlvaro Fernández Rojas label = "blue:broadband"; 98*632889cfSÁlvaro Fernández Rojas }; 99*632889cfSÁlvaro Fernández Rojas wireless_red { 100*632889cfSÁlvaro Fernández Rojas reg = <6>; 101*632889cfSÁlvaro Fernández Rojas active-low; 102*632889cfSÁlvaro Fernández Rojas label = "red:wireless"; 103*632889cfSÁlvaro Fernández Rojas }; 104*632889cfSÁlvaro Fernández Rojas wireless_green { 105*632889cfSÁlvaro Fernández Rojas reg = <7>; 106*632889cfSÁlvaro Fernández Rojas active-low; 107*632889cfSÁlvaro Fernández Rojas label = "green:wireless"; 108*632889cfSÁlvaro Fernández Rojas }; 109*632889cfSÁlvaro Fernández Rojas wireless_blue { 110*632889cfSÁlvaro Fernández Rojas reg = <8>; 111*632889cfSÁlvaro Fernández Rojas label = "blue:wireless"; 112*632889cfSÁlvaro Fernández Rojas }; 113*632889cfSÁlvaro Fernández Rojas phone_red { 114*632889cfSÁlvaro Fernández Rojas reg = <9>; 115*632889cfSÁlvaro Fernández Rojas active-low; 116*632889cfSÁlvaro Fernández Rojas label = "red:phone"; 117*632889cfSÁlvaro Fernández Rojas }; 118*632889cfSÁlvaro Fernández Rojas phone_green { 119*632889cfSÁlvaro Fernández Rojas reg = <10>; 120*632889cfSÁlvaro Fernández Rojas active-low; 121*632889cfSÁlvaro Fernández Rojas label = "green:phone"; 122*632889cfSÁlvaro Fernández Rojas }; 123*632889cfSÁlvaro Fernández Rojas phone_blue { 124*632889cfSÁlvaro Fernández Rojas reg = <11>; 125*632889cfSÁlvaro Fernández Rojas label = "blue:phone"; 126*632889cfSÁlvaro Fernández Rojas }; 127*632889cfSÁlvaro Fernández Rojas upgrading_red { 128*632889cfSÁlvaro Fernández Rojas reg = <12>; 129*632889cfSÁlvaro Fernández Rojas active-low; 130*632889cfSÁlvaro Fernández Rojas label = "red:upgrading"; 131*632889cfSÁlvaro Fernández Rojas }; 132*632889cfSÁlvaro Fernández Rojas upgrading_green { 133*632889cfSÁlvaro Fernández Rojas reg = <13>; 134*632889cfSÁlvaro Fernández Rojas active-low; 135*632889cfSÁlvaro Fernández Rojas label = "green:upgrading"; 136*632889cfSÁlvaro Fernández Rojas }; 137*632889cfSÁlvaro Fernández Rojas upgrading_blue { 138*632889cfSÁlvaro Fernández Rojas reg = <14>; 139*632889cfSÁlvaro Fernández Rojas label = "blue:upgrading"; 140*632889cfSÁlvaro Fernández Rojas }; 141*632889cfSÁlvaro Fernández Rojas }; 142