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