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