linux-zen-desktop/Documentation/devicetree/bindings/mfd/ti-lmu.txt

270 lines
5.9 KiB
Plaintext
Raw Permalink Normal View History

2023-08-30 17:31:07 +02:00
TI LMU (Lighting Management Unit) device tree bindings
TI LMU driver supports lighting devices below.
Name Child nodes
------ ---------------------------------
LM3631 Backlight and regulator
LM3632 Backlight and regulator
LM3633 Backlight, LED and fault monitor
LM3695 Backlight
LM36274 Backlight and regulator
Required properties:
- compatible: Should be one of:
"ti,lm3631"
"ti,lm3632"
"ti,lm3633"
"ti,lm3695"
"ti,lm36274"
- reg: I2C slave address.
0x11 for LM3632
0x29 for LM3631
0x36 for LM3633
0x63 for LM3695
0x11 for LM36274
Optional properties:
- enable-gpios: A GPIO specifier for hardware enable pin.
- ramp-up-us: Current ramping from one brightness level to
the a higher brightness level.
Range from 2048 us - 117.44 s
- ramp-down-us: Current ramping from one brightness level to
the a lower brightness level.
Range from 2048 us - 117.44 s
- ti,brightness-resolution - This determines whether to use 8 bit brightness
mode or 11 bit brightness mode. If this value is
not set the device is defaulted to the preferred
8bit brightness mode per 7.3.4.1 of the data
sheet. This setting can either be in the parent
node or as part of the LED child nodes. This
is determined by the part itself if the strings
have a common brightness register or individual
brightness registers.
The values are 255 (8bit) or 2047 (11bit).
Required node:
- backlight: All LMU devices have backlight child nodes.
For the properties, please refer to [1].
Optional nodes:
- fault-monitor: Hardware fault monitoring driver for LM3633 and LM3697.
Required properties:
- compatible: Should be one of:
"ti,lm3633-fault-monitor"
- leds: LED properties for LM3633. Please refer to [2].
LED properties for LM36274. Please refer to [4].
- regulators: Regulator properties for LM3631 and LM3632.
Please refer to [3].
[1] ../leds/backlight/ti-lmu-backlight.txt
[2] ../leds/leds-lm3633.txt
[3] ../regulator/lm363x-regulator.txt
[4] ../leds/leds-lm36274.txt
lm3631@29 {
compatible = "ti,lm3631";
reg = <0x29>;
regulators {
compatible = "ti,lm363x-regulator";
vboost {
regulator-name = "lcd_boost";
regulator-min-microvolt = <4500000>;
regulator-max-microvolt = <6350000>;
regulator-always-on;
};
vcont {
regulator-name = "lcd_vcont";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
voref {
regulator-name = "lcd_voref";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <6000000>;
};
vpos {
regulator-name = "lcd_vpos";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <6000000>;
regulator-boot-on;
};
vneg {
regulator-name = "lcd_vneg";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <6000000>;
regulator-boot-on;
};
};
backlight {
compatible = "ti,lm3631-backlight";
lcd_bl {
led-sources = <0 1>;
ramp-up-us = <300000>;
};
};
};
lm3632@11 {
compatible = "ti,lm3632";
reg = <0x11>;
enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>; /* PC2 */
regulators {
compatible = "ti,lm363x-regulator";
enable-gpios = <&pioC 0 GPIO_ACTIVE_HIGH>,
<&pioC 1 GPIO_ACTIVE_HIGH>;
vboost {
regulator-name = "lcd_boost";
regulator-min-microvolt = <4500000>;
regulator-max-microvolt = <6400000>;
regulator-always-on;
};
vpos {
regulator-name = "lcd_vpos";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <6000000>;
};
vneg {
regulator-name = "lcd_vneg";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <6000000>;
};
};
backlight {
compatible = "ti,lm3632-backlight";
pwms = <&pwm0 0 10000 0>; /* pwm number, period, polarity */
pwm-names = "lmu-backlight";
lcd {
led-sources = <0 1>;
pwm-period = <10000>;
};
};
};
lm3633@36 {
compatible = "ti,lm3633";
reg = <0x36>;
enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>;
backlight {
compatible = "ti,lm3633-backlight";
main {
label = "main_lcd";
led-sources = <1 2>;
ramp-up-us = <500000>;
ramp-down-us = <500000>;
};
front {
label = "front_lcd";
led-sources = <0>;
ramp-up-us = <1000000>;
ramp-down-us = <0>;
};
};
leds {
compatible = "ti,lm3633-leds";
chan1 {
label = "status";
led-sources = <1>;
led-max-microamp = <6000>;
};
chan345 {
label = "rgb";
led-sources = <3 4 5>;
led-max-microamp = <10000>;
};
};
fault-monitor {
compatible = "ti,lm3633-fault-monitor";
};
};
lm3695@63 {
compatible = "ti,lm3695";
reg = <0x63>;
enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>;
backlight {
compatible = "ti,lm3695-backlight";
lcd {
label = "bl";
led-sources = <0 1>;
};
};
};
lm36274@11 {
compatible = "ti,lm36274";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x11>;
enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>;
regulators {
#address-cells = <1>;
#size-cells = <0>;
compatible = "ti,lm363x-regulator";
enable-gpios = <&pioC 0 GPIO_ACTIVE_HIGH>,
<&pioC 1 GPIO_ACTIVE_HIGH>;
vboost {
regulator-name = "lcd_boost";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <7150000>;
regulator-always-on;
};
vpos {
regulator-name = "lcd_vpos";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <6500000>;
};
vneg {
regulator-name = "lcd_vneg";
regulator-min-microvolt = <4000000>;
regulator-max-microvolt = <6500000>;
};
};
backlight {
#address-cells = <1>;
#size-cells = <0>;
compatible = "ti,lm36274-backlight";
led@0 {
reg = <0>;
led-sources = <0 2>;
label = "white:backlight_cluster";
linux,default-trigger = "backlight";
};
};
};