xref: /openbmc/linux/Documentation/devicetree/bindings/leds/leds-bcm6358.txt (revision 8be98d2f2a0a262f8bf8a0bc1fdf522b3c7aab17)
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