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