1*4882a593SmuzhiyunTI LMU (Lighting Management Unit) device tree bindings 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunTI LMU driver supports lighting devices below. 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun Name Child nodes 6*4882a593Smuzhiyun ------ --------------------------------- 7*4882a593Smuzhiyun LM3631 Backlight and regulator 8*4882a593Smuzhiyun LM3632 Backlight and regulator 9*4882a593Smuzhiyun LM3633 Backlight, LED and fault monitor 10*4882a593Smuzhiyun LM3695 Backlight 11*4882a593Smuzhiyun LM36274 Backlight and regulator 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunRequired properties: 14*4882a593Smuzhiyun - compatible: Should be one of: 15*4882a593Smuzhiyun "ti,lm3631" 16*4882a593Smuzhiyun "ti,lm3632" 17*4882a593Smuzhiyun "ti,lm3633" 18*4882a593Smuzhiyun "ti,lm3695" 19*4882a593Smuzhiyun "ti,lm36274" 20*4882a593Smuzhiyun - reg: I2C slave address. 21*4882a593Smuzhiyun 0x11 for LM3632 22*4882a593Smuzhiyun 0x29 for LM3631 23*4882a593Smuzhiyun 0x36 for LM3633 24*4882a593Smuzhiyun 0x63 for LM3695 25*4882a593Smuzhiyun 0x11 for LM36274 26*4882a593Smuzhiyun 27*4882a593SmuzhiyunOptional properties: 28*4882a593Smuzhiyun - enable-gpios: A GPIO specifier for hardware enable pin. 29*4882a593Smuzhiyun - ramp-up-us: Current ramping from one brightness level to 30*4882a593Smuzhiyun the a higher brightness level. 31*4882a593Smuzhiyun Range from 2048 us - 117.44 s 32*4882a593Smuzhiyun - ramp-down-us: Current ramping from one brightness level to 33*4882a593Smuzhiyun the a lower brightness level. 34*4882a593Smuzhiyun Range from 2048 us - 117.44 s 35*4882a593Smuzhiyun - ti,brightness-resolution - This determines whether to use 8 bit brightness 36*4882a593Smuzhiyun mode or 11 bit brightness mode. If this value is 37*4882a593Smuzhiyun not set the device is defaulted to the preferred 38*4882a593Smuzhiyun 8bit brightness mode per 7.3.4.1 of the data 39*4882a593Smuzhiyun sheet. This setting can either be in the parent 40*4882a593Smuzhiyun node or as part of the LED child nodes. This 41*4882a593Smuzhiyun is determined by the part itself if the strings 42*4882a593Smuzhiyun have a common brightness register or individual 43*4882a593Smuzhiyun brightness registers. 44*4882a593Smuzhiyun The values are 255 (8bit) or 2047 (11bit). 45*4882a593Smuzhiyun 46*4882a593SmuzhiyunRequired node: 47*4882a593Smuzhiyun - backlight: All LMU devices have backlight child nodes. 48*4882a593Smuzhiyun For the properties, please refer to [1]. 49*4882a593Smuzhiyun 50*4882a593SmuzhiyunOptional nodes: 51*4882a593Smuzhiyun - fault-monitor: Hardware fault monitoring driver for LM3633 and LM3697. 52*4882a593Smuzhiyun Required properties: 53*4882a593Smuzhiyun - compatible: Should be one of: 54*4882a593Smuzhiyun "ti,lm3633-fault-monitor" 55*4882a593Smuzhiyun - leds: LED properties for LM3633. Please refer to [2]. 56*4882a593Smuzhiyun LED properties for LM36274. Please refer to [4]. 57*4882a593Smuzhiyun - regulators: Regulator properties for LM3631 and LM3632. 58*4882a593Smuzhiyun Please refer to [3]. 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun[1] ../leds/backlight/ti-lmu-backlight.txt 61*4882a593Smuzhiyun[2] ../leds/leds-lm3633.txt 62*4882a593Smuzhiyun[3] ../regulator/lm363x-regulator.txt 63*4882a593Smuzhiyun[4] ../leds/leds-lm36274.txt 64*4882a593Smuzhiyun 65*4882a593Smuzhiyunlm3631@29 { 66*4882a593Smuzhiyun compatible = "ti,lm3631"; 67*4882a593Smuzhiyun reg = <0x29>; 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun regulators { 70*4882a593Smuzhiyun compatible = "ti,lm363x-regulator"; 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun vboost { 73*4882a593Smuzhiyun regulator-name = "lcd_boost"; 74*4882a593Smuzhiyun regulator-min-microvolt = <4500000>; 75*4882a593Smuzhiyun regulator-max-microvolt = <6350000>; 76*4882a593Smuzhiyun regulator-always-on; 77*4882a593Smuzhiyun }; 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun vcont { 80*4882a593Smuzhiyun regulator-name = "lcd_vcont"; 81*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 82*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 83*4882a593Smuzhiyun }; 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun voref { 86*4882a593Smuzhiyun regulator-name = "lcd_voref"; 87*4882a593Smuzhiyun regulator-min-microvolt = <4000000>; 88*4882a593Smuzhiyun regulator-max-microvolt = <6000000>; 89*4882a593Smuzhiyun }; 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun vpos { 92*4882a593Smuzhiyun regulator-name = "lcd_vpos"; 93*4882a593Smuzhiyun regulator-min-microvolt = <4000000>; 94*4882a593Smuzhiyun regulator-max-microvolt = <6000000>; 95*4882a593Smuzhiyun regulator-boot-on; 96*4882a593Smuzhiyun }; 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun vneg { 99*4882a593Smuzhiyun regulator-name = "lcd_vneg"; 100*4882a593Smuzhiyun regulator-min-microvolt = <4000000>; 101*4882a593Smuzhiyun regulator-max-microvolt = <6000000>; 102*4882a593Smuzhiyun regulator-boot-on; 103*4882a593Smuzhiyun }; 104*4882a593Smuzhiyun }; 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun backlight { 107*4882a593Smuzhiyun compatible = "ti,lm3631-backlight"; 108*4882a593Smuzhiyun 109*4882a593Smuzhiyun lcd_bl { 110*4882a593Smuzhiyun led-sources = <0 1>; 111*4882a593Smuzhiyun ramp-up-us = <300000>; 112*4882a593Smuzhiyun }; 113*4882a593Smuzhiyun }; 114*4882a593Smuzhiyun}; 115*4882a593Smuzhiyun 116*4882a593Smuzhiyunlm3632@11 { 117*4882a593Smuzhiyun compatible = "ti,lm3632"; 118*4882a593Smuzhiyun reg = <0x11>; 119*4882a593Smuzhiyun 120*4882a593Smuzhiyun enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>; /* PC2 */ 121*4882a593Smuzhiyun 122*4882a593Smuzhiyun regulators { 123*4882a593Smuzhiyun compatible = "ti,lm363x-regulator"; 124*4882a593Smuzhiyun 125*4882a593Smuzhiyun enable-gpios = <&pioC 0 GPIO_ACTIVE_HIGH>, 126*4882a593Smuzhiyun <&pioC 1 GPIO_ACTIVE_HIGH>; 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun vboost { 129*4882a593Smuzhiyun regulator-name = "lcd_boost"; 130*4882a593Smuzhiyun regulator-min-microvolt = <4500000>; 131*4882a593Smuzhiyun regulator-max-microvolt = <6400000>; 132*4882a593Smuzhiyun regulator-always-on; 133*4882a593Smuzhiyun }; 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun vpos { 136*4882a593Smuzhiyun regulator-name = "lcd_vpos"; 137*4882a593Smuzhiyun regulator-min-microvolt = <4000000>; 138*4882a593Smuzhiyun regulator-max-microvolt = <6000000>; 139*4882a593Smuzhiyun }; 140*4882a593Smuzhiyun 141*4882a593Smuzhiyun vneg { 142*4882a593Smuzhiyun regulator-name = "lcd_vneg"; 143*4882a593Smuzhiyun regulator-min-microvolt = <4000000>; 144*4882a593Smuzhiyun regulator-max-microvolt = <6000000>; 145*4882a593Smuzhiyun }; 146*4882a593Smuzhiyun }; 147*4882a593Smuzhiyun 148*4882a593Smuzhiyun backlight { 149*4882a593Smuzhiyun compatible = "ti,lm3632-backlight"; 150*4882a593Smuzhiyun 151*4882a593Smuzhiyun pwms = <&pwm0 0 10000 0>; /* pwm number, period, polarity */ 152*4882a593Smuzhiyun pwm-names = "lmu-backlight"; 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun lcd { 155*4882a593Smuzhiyun led-sources = <0 1>; 156*4882a593Smuzhiyun pwm-period = <10000>; 157*4882a593Smuzhiyun }; 158*4882a593Smuzhiyun }; 159*4882a593Smuzhiyun}; 160*4882a593Smuzhiyun 161*4882a593Smuzhiyunlm3633@36 { 162*4882a593Smuzhiyun compatible = "ti,lm3633"; 163*4882a593Smuzhiyun reg = <0x36>; 164*4882a593Smuzhiyun 165*4882a593Smuzhiyun enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>; 166*4882a593Smuzhiyun 167*4882a593Smuzhiyun backlight { 168*4882a593Smuzhiyun compatible = "ti,lm3633-backlight"; 169*4882a593Smuzhiyun 170*4882a593Smuzhiyun main { 171*4882a593Smuzhiyun label = "main_lcd"; 172*4882a593Smuzhiyun led-sources = <1 2>; 173*4882a593Smuzhiyun ramp-up-us = <500000>; 174*4882a593Smuzhiyun ramp-down-us = <500000>; 175*4882a593Smuzhiyun }; 176*4882a593Smuzhiyun 177*4882a593Smuzhiyun front { 178*4882a593Smuzhiyun label = "front_lcd"; 179*4882a593Smuzhiyun led-sources = <0>; 180*4882a593Smuzhiyun ramp-up-us = <1000000>; 181*4882a593Smuzhiyun ramp-down-us = <0>; 182*4882a593Smuzhiyun }; 183*4882a593Smuzhiyun }; 184*4882a593Smuzhiyun 185*4882a593Smuzhiyun leds { 186*4882a593Smuzhiyun compatible = "ti,lm3633-leds"; 187*4882a593Smuzhiyun 188*4882a593Smuzhiyun chan1 { 189*4882a593Smuzhiyun label = "status"; 190*4882a593Smuzhiyun led-sources = <1>; 191*4882a593Smuzhiyun led-max-microamp = <6000>; 192*4882a593Smuzhiyun }; 193*4882a593Smuzhiyun 194*4882a593Smuzhiyun chan345 { 195*4882a593Smuzhiyun label = "rgb"; 196*4882a593Smuzhiyun led-sources = <3 4 5>; 197*4882a593Smuzhiyun led-max-microamp = <10000>; 198*4882a593Smuzhiyun }; 199*4882a593Smuzhiyun }; 200*4882a593Smuzhiyun 201*4882a593Smuzhiyun fault-monitor { 202*4882a593Smuzhiyun compatible = "ti,lm3633-fault-monitor"; 203*4882a593Smuzhiyun }; 204*4882a593Smuzhiyun}; 205*4882a593Smuzhiyun 206*4882a593Smuzhiyunlm3695@63 { 207*4882a593Smuzhiyun compatible = "ti,lm3695"; 208*4882a593Smuzhiyun reg = <0x63>; 209*4882a593Smuzhiyun 210*4882a593Smuzhiyun enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>; 211*4882a593Smuzhiyun 212*4882a593Smuzhiyun backlight { 213*4882a593Smuzhiyun compatible = "ti,lm3695-backlight"; 214*4882a593Smuzhiyun 215*4882a593Smuzhiyun lcd { 216*4882a593Smuzhiyun label = "bl"; 217*4882a593Smuzhiyun led-sources = <0 1>; 218*4882a593Smuzhiyun }; 219*4882a593Smuzhiyun }; 220*4882a593Smuzhiyun}; 221*4882a593Smuzhiyun 222*4882a593Smuzhiyunlm36274@11 { 223*4882a593Smuzhiyun compatible = "ti,lm36274"; 224*4882a593Smuzhiyun #address-cells = <1>; 225*4882a593Smuzhiyun #size-cells = <0>; 226*4882a593Smuzhiyun reg = <0x11>; 227*4882a593Smuzhiyun 228*4882a593Smuzhiyun enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>; 229*4882a593Smuzhiyun regulators { 230*4882a593Smuzhiyun #address-cells = <1>; 231*4882a593Smuzhiyun #size-cells = <0>; 232*4882a593Smuzhiyun compatible = "ti,lm363x-regulator"; 233*4882a593Smuzhiyun 234*4882a593Smuzhiyun enable-gpios = <&pioC 0 GPIO_ACTIVE_HIGH>, 235*4882a593Smuzhiyun <&pioC 1 GPIO_ACTIVE_HIGH>; 236*4882a593Smuzhiyun 237*4882a593Smuzhiyun vboost { 238*4882a593Smuzhiyun regulator-name = "lcd_boost"; 239*4882a593Smuzhiyun regulator-min-microvolt = <4000000>; 240*4882a593Smuzhiyun regulator-max-microvolt = <7150000>; 241*4882a593Smuzhiyun regulator-always-on; 242*4882a593Smuzhiyun }; 243*4882a593Smuzhiyun 244*4882a593Smuzhiyun vpos { 245*4882a593Smuzhiyun regulator-name = "lcd_vpos"; 246*4882a593Smuzhiyun regulator-min-microvolt = <4000000>; 247*4882a593Smuzhiyun regulator-max-microvolt = <6500000>; 248*4882a593Smuzhiyun }; 249*4882a593Smuzhiyun 250*4882a593Smuzhiyun vneg { 251*4882a593Smuzhiyun regulator-name = "lcd_vneg"; 252*4882a593Smuzhiyun regulator-min-microvolt = <4000000>; 253*4882a593Smuzhiyun regulator-max-microvolt = <6500000>; 254*4882a593Smuzhiyun }; 255*4882a593Smuzhiyun }; 256*4882a593Smuzhiyun 257*4882a593Smuzhiyun backlight { 258*4882a593Smuzhiyun #address-cells = <1>; 259*4882a593Smuzhiyun #size-cells = <0>; 260*4882a593Smuzhiyun compatible = "ti,lm36274-backlight"; 261*4882a593Smuzhiyun 262*4882a593Smuzhiyun led@0 { 263*4882a593Smuzhiyun reg = <0>; 264*4882a593Smuzhiyun led-sources = <0 2>; 265*4882a593Smuzhiyun label = "white:backlight_cluster"; 266*4882a593Smuzhiyun linux,default-trigger = "backlight"; 267*4882a593Smuzhiyun }; 268*4882a593Smuzhiyun }; 269*4882a593Smuzhiyun}; 270