leds: add DT binding for BCM6358 LED controller
This adds device tree binding documentation for the Broadcom BCM6358 LED controller. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Acked-by: Jacek Anaszewski <j.anaszewski@samsung.com> Signed-off-by: Bryan Wu <cooloney@gmail.com>
This commit is contained in:
Родитель
76931edd54
Коммит
c87cc34273
|
@ -0,0 +1,145 @@
|
||||||
|
LEDs connected to Broadcom BCM6358 controller
|
||||||
|
|
||||||
|
This controller is present on BCM6358 and BCM6368.
|
||||||
|
In these SoCs there are Serial LEDs (LEDs connected to a 74x164 controller),
|
||||||
|
which can either be controlled by software (exporting the 74x164 as spi-gpio.
|
||||||
|
See Documentation/devicetree/bindings/gpio/gpio-74x164.txt), or
|
||||||
|
by hardware using this driver.
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
- compatible : should be "brcm,bcm6358-leds".
|
||||||
|
- #address-cells : must be 1.
|
||||||
|
- #size-cells : must be 0.
|
||||||
|
- reg : BCM6358 LED controller address and size.
|
||||||
|
|
||||||
|
Optional properties:
|
||||||
|
- brcm,clk-div : SCK signal divider. Possible values are 1, 2, 4 and 8.
|
||||||
|
Default : 1
|
||||||
|
- brcm,clk-dat-low : Boolean, makes clock and data signals active low.
|
||||||
|
Default : false
|
||||||
|
|
||||||
|
Each LED is represented as a sub-node of the brcm,bcm6358-leds device.
|
||||||
|
|
||||||
|
LED sub-node required properties:
|
||||||
|
- reg : LED pin number (only LEDs 0 to 31 are valid).
|
||||||
|
|
||||||
|
LED sub-node optional properties:
|
||||||
|
- label : see Documentation/devicetree/bindings/leds/common.txt
|
||||||
|
- active-low : Boolean, makes LED active low.
|
||||||
|
Default : false
|
||||||
|
- default-state : see
|
||||||
|
Documentation/devicetree/bindings/leds/leds-gpio.txt
|
||||||
|
- linux,default-trigger : see
|
||||||
|
Documentation/devicetree/bindings/leds/common.txt
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
Scenario 1 : BCM6358
|
||||||
|
leds0: led-controller@fffe00d0 {
|
||||||
|
compatible = "brcm,bcm6358-leds";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <0xfffe00d0 0x8>;
|
||||||
|
|
||||||
|
alarm_white {
|
||||||
|
reg = <0>;
|
||||||
|
active-low;
|
||||||
|
label = "white:alarm";
|
||||||
|
};
|
||||||
|
tv_white {
|
||||||
|
reg = <2>;
|
||||||
|
active-low;
|
||||||
|
label = "white:tv";
|
||||||
|
};
|
||||||
|
tel_white {
|
||||||
|
reg = <3>;
|
||||||
|
active-low;
|
||||||
|
label = "white:tel";
|
||||||
|
};
|
||||||
|
adsl_white {
|
||||||
|
reg = <4>;
|
||||||
|
active-low;
|
||||||
|
label = "white:adsl";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
Scenario 2 : BCM6368
|
||||||
|
leds0: led-controller@100000d0 {
|
||||||
|
compatible = "brcm,bcm6358-leds";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <0x100000d0 0x8>;
|
||||||
|
brcm,pol-low;
|
||||||
|
brcm,clk-div = <4>;
|
||||||
|
|
||||||
|
power_red {
|
||||||
|
reg = <0>;
|
||||||
|
active-low;
|
||||||
|
label = "red:power";
|
||||||
|
};
|
||||||
|
power_green {
|
||||||
|
reg = <1>;
|
||||||
|
active-low;
|
||||||
|
label = "green:power";
|
||||||
|
default-state = "on";
|
||||||
|
};
|
||||||
|
power_blue {
|
||||||
|
reg = <2>;
|
||||||
|
label = "blue:power";
|
||||||
|
};
|
||||||
|
broadband_red {
|
||||||
|
reg = <3>;
|
||||||
|
active-low;
|
||||||
|
label = "red:broadband";
|
||||||
|
};
|
||||||
|
broadband_green {
|
||||||
|
reg = <4>;
|
||||||
|
label = "green:broadband";
|
||||||
|
};
|
||||||
|
broadband_blue {
|
||||||
|
reg = <5>;
|
||||||
|
active-low;
|
||||||
|
label = "blue:broadband";
|
||||||
|
};
|
||||||
|
wireless_red {
|
||||||
|
reg = <6>;
|
||||||
|
active-low;
|
||||||
|
label = "red:wireless";
|
||||||
|
};
|
||||||
|
wireless_green {
|
||||||
|
reg = <7>;
|
||||||
|
active-low;
|
||||||
|
label = "green:wireless";
|
||||||
|
};
|
||||||
|
wireless_blue {
|
||||||
|
reg = <8>;
|
||||||
|
label = "blue:wireless";
|
||||||
|
};
|
||||||
|
phone_red {
|
||||||
|
reg = <9>;
|
||||||
|
active-low;
|
||||||
|
label = "red:phone";
|
||||||
|
};
|
||||||
|
phone_green {
|
||||||
|
reg = <10>;
|
||||||
|
active-low;
|
||||||
|
label = "green:phone";
|
||||||
|
};
|
||||||
|
phone_blue {
|
||||||
|
reg = <11>;
|
||||||
|
label = "blue:phone";
|
||||||
|
};
|
||||||
|
upgrading_red {
|
||||||
|
reg = <12>;
|
||||||
|
active-low;
|
||||||
|
label = "red:upgrading";
|
||||||
|
};
|
||||||
|
upgrading_green {
|
||||||
|
reg = <13>;
|
||||||
|
active-low;
|
||||||
|
label = "green:upgrading";
|
||||||
|
};
|
||||||
|
upgrading_blue {
|
||||||
|
reg = <14>;
|
||||||
|
label = "blue:upgrading";
|
||||||
|
};
|
||||||
|
};
|
Загрузка…
Ссылка в новой задаче