Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f59a2a72 authored by Alex Sarraf's avatar Alex Sarraf Committed by Matt Wagantall
Browse files

leds: qpnp: Add support for QPNP drivers



Add suppport for WLED backlight and flash.
This snapshot is taken as of msm-3.14 commit 3bc54cf86b
(Merge "msm: camera: Add dummy sub module in sensor pipeline")

Signed-off-by: default avatarAlex Sarraf <asarraf@codeaurora.org>
parent bab89966
Loading
Loading
Loading
Loading
+124 −0
Original line number Diff line number Diff line
Qualcomm Technologies PNP Flash LED

QPNP (Qualcomm Technologies Plug N Play) Flash LED (Light
Emitting Diode) driver is used to provide illumination to
camera sensor when background light is dim to capture good
picture. It can also be used for flashlight/torch application.
It is part of PMIC on Qualcomm Technologies reference platforms.
The PMIC is connected to the host processor via SPMI bus.

Required properties:
- compatible		: should be "qcom,qpnp-flash-led"
- reg			: base address and size for flash LED modules

Optional properties:
- qcom,headroom		: headroom to use. Values should be 250, 300,
			  400 and 500 in mV.
- qcom,startup-dly	: delay before flashing after flash executed.
			  Values should 10, 32, 64, and 128 in us.
- qcom,clamp-curr	: current to clamp at when voltage droop happens.
			  Values are in integer from 0 to 1000 inclusive,
			  indicating 0 to 1000 mA.
- qcom,self-check-enabled : boolean type. self fault check enablement
- qcom,thermal-derate-enabled : boolean type. derate enablement when module
				temperature reaches threshold
- qcom,thermal-derate-threshold : thermal threshold for derate. Values
				should be 80, 90, 100, 110, 120, 130 in C.
- qcom,thermal-derate-rate	: derate rate when module temperature
				reaches threshold. Values should be
				"1_PERCENT", "1P25_PERCENT", "2_PERCENT",
				"2P5_PERCENT", "5_PERCENT" in string.
- qcom,current-ramp-enabled	: boolean type. stepped current ramp enablement
- qcom,ramp-up-step		: current ramp up rate. Values should be
				  "0P2US", "0P4US", "0P8US", "1P6US", "3P3US",
				  "6P7US", "13P5US", "27US".
- qcom,ramp-dn-step		: current ramp down rate. Values should be
				  "0P2US", "0P4US", "0P8US", "1P6US", "3P3US",
				  "6P7US", "13P5US", "27US".
- qcom,vph-pwr-droop-enabled	: boolean type. VPH power droop enablement. Enablement
				  allows current clamp when phone power drops below
				  pre-determined threshold
- qcom,vph-pwr-droop-threshold	: VPH power threshold for module to clamp current.
				  Values are 2500 - 3200 in mV with 100 mV steps.
- qcom,vph-pwr-droop-debounce-time : debounce time for module to confirm a voltage
				     droop is happening. Values are 0, 10, 32, 64
				     in us.
- qcom,pmic-charger-support	: Boolean type. This tells if flash utilizes charger boost
				  support
- qcom,headroom-sense-ch0-enabled: Boolean type. This configures headroom sensing enablement
				   for LED channel 0
- qcom,headroom-sense-ch1-enabled: Boolean type. This configures headroom sensing enablement
				   for LED channel 1
- qcom,power-detect-enabled	: Boolean type. This enables driver to get maximum flash LED
				  current at current battery level to avoid intensity clamp
				  when battery voltage is low

Required properties inside child node. Chile node contains settings for each individual LED:
- label			: type of led that will be used, either "flash" or "torch".
- qcom,led-name		: name of the LED. Accepted values are "led:flash_0",
			  "led:flash_1", "led:torch_0", "led:torch_1"
- qcom,default-led-trigger	: trigger for the camera flash and torch. Accepted values are
				"flash0_trigger", "flash1_trigger", "torch0_trigger", torch1_trigger"
- qcom,id		: enumerated ID for each physical LED. Accepted values are "0",
			  "1", etc..
- qcom,max-current	: maximum current allowed on this LED. Valid values should be
			  integer from 0 to 1000 inclusive, indicating 0 to 1000 mA.

Optional properties inside child node:
- qcom,current		: default current intensity for LED. Accepted values should be
			  integer from 0 t 1000 inclusive, indicating 0 to 1000 mA.
- boost-supply		: flash LED boost power source for flash LED
- boost-voltage-max	: maximum voltage for flash LED boost regulator in uV. This attribute is
			: required if boost-supply is defined.
- qcom,duration		: duration for flash LED. When duration time expires, hardware
			  will turn off flash LED. Values should be from 10 ms to 1280 ms
			  with 10 ms incremental step. Not applicable to torch.

Example:
	qcom,leds@d300 {
		compatible = "qcom,qpnp-flash-led";
		status = "okay";
		reg = <0xd300 0x100>;
		label = "flash";
		qcom,headroom = <500>;
		qcom,startup-dly = <128>;
		qcom,clamp-curr = <200>;
		qcom,pmic-charger-support;
		qcom,self-check-enabled;
		qcom,thermal-derate-enabled;
		qcom,thermal-derate-threshold = <80>;
		qcom,thermal-derate-rate = "4_PERCENT";
		qcom,current-ramp-enabled;
		qcom,ramp_up_step = "27US";
		qcom,ramp_dn_step = "27US";
		qcom,vph-pwr-droop-enabled;
		qcom,vph-pwr-droop-threshold = <3200>;
		qcom,vph-pwr-droop-debounce-time = <10>;
		qcom,headroom-sense-ch0-enabled;
		qcom,headroom-sense-ch1-enabled;

		pm8226_flash0: qcom,flash_0 {
			label = "flash";
			qcom,led-name = "led:flash_0";
			qcom,default-led-trigger =
					"flash0_trigger";
			qcom,max-current = <1000>;
			qcom,duration = <1280>;
			qcom,id = <0>;
			qcom,current = <625>;
			boost-supply = <&pm8226_chg_boost>;
		};

		pm8226_torch: qcom,torch_0 {
			label = "torch";
			qcom,led-name = "led:torch_0";
			qcom,default-led-trigger =
					"torch0_trigger";
			boost-supply = <&pm8226_chg_boost>;
			qcom,max-current = <200>;
			qcom,id = <0>;
			qcom,current = <120>;
			boost-voltage-max = <3600000>;
		};
	};
+86 −0
Original line number Diff line number Diff line
Qualcomm Technologies QPNP WLED

QPNP (Qualcomm Technologies Plug N Play) WLED (White Light
Emitting Diode) driver is used for controlling display
backlight that is part of PMIC on Qualcomm Technologies
reference platforms. The PMIC is connected to the host
processor via SPMI bus.

Required properties:
- compatible		: should be "qcom,qpnp-wled"
- reg			: base address and size for wled modules
- reg-names		: names associated with base addresses. It
			should be "qpnp-wled-ctrl-base", "qpnp-wled-sink-base",
			"qpnp-wled-ibb-base", "qpnp-wled-lab-base".

Optional properties for WLED:
 - interrupts		: Specifies the interrupts associated with WLED. The available
			  interrupts are over voltage protection(ovp) and short circuit(sc).
			  The values for ovp and sc are <0x3 0xd8 0x1> and <0x3 0xd8 0x2>.
 - interrupt-names	: Specify the interrupt names associated with interrupts. Must be
			  one of "ovp-irq" or "sc-irq"
- linux,name		: name of the wled. default is "wled".
- linux,default-trigger	: trigger for the backlight. default is NONE.
- qcom,fdbk-output	: string feedback current output for wled module. The accepted values
			  are "wled1", "wled2", "wled3", "wled4" and "auto". default is "auto".
- qcom,vref-mv		: maximum reference voltage in mv. default is 350.
- qcom,switch-freq-khz	: switch frequency in khz. default is 800.
- qcom,ovp-mv		: over voltage protection value in mv. default is 17800.
- qcom,ilim-ma		: maximum current limiter in ma. default is 980.
- qcom,boost-duty-ns	: maximum boost duty cycle in ns. default is 104.
- qcom,mod-freq-khz	: modulation frequency in khz. default is 9600.
- qcom,dim-mode		: dimming mode. supporting dimming modes are "analog",
			  "digital", and "hybrid". default is "hybrid".
- qcom,hyb-thres	: threshold value when used in hybrid mode. It represents the
			  percentage of brightntess at which dimming mode is switched
			  from "digital" to "analog". the default value is 6.25%. as the
			  floating point cannot be represented directly, the value is
			  multiplied by 100. so the default is 625.
- qcom,sync-dly-us	: delay for current sync in us. default is 400.
- qcom,fs-curr-ua	: maximum full scale current in ua. default is 25000.
- qcom,en-9b-dim-res	: boolean, specify if 9-bit dim resultion is needed. otherwise 12-bit is used.
- qcom,en-phase-stag	: boolean, specify if phase staggering is needed.
- qcom,en-cabc		: boolean, specify if cabc (content adaptive backlight control) is needed.
- qcom,ibb-bias-active	: boolean, specify to activate the bias
- qcom,ibb-pwrup-dly	: ibb power up delay in milli seconds. The supported values are 1 to 8.
			  default is 1.
- qcom,lab-fast-precharge: boolean, specify to activate the fast precharge
- qcom,disp-type-amoled	: specify if the display is amoled
- qcom,led-strings-list	: Wled module has four strings of leds numbered from 0 to 3. each string of leds
			  are operated individually. specify the list of strings used by the device.
			  any combination of led strings can be used. default value is [00 01 02 03]
- qcom,en-ext-pfet-sc-pro : Specify if external pfet short circuit protection is needed

Example:
	qcom,leds@d800 {
		compatible = "qcom,qpnp-wled";
		reg = <0xd800 0x100>,
			<0xd900 0x100>,
			<0xdc00 0x100>,
			<0xde00 0x100>;
		reg-names = "qpnp-wled-ctrl-base",
				"qpnp-wled-sink-base",
				"qpnp-wled-ibb-base",
				"qpnp-wled-lab-base";
		interrupts = <0x3 0xd8 0x2>;
		interrupt-names = "sc-irq";
		status = "okay";
		linux,name = "wled";
		linux,default-trigger = "bkl-trigger";
		qcom,fdbk-output = "auto";
		qcom,vref-mv = <350>;
		qcom,switch-freq-khz = <800>;
		qcom,ovp-mv = <29500>;
		qcom,ilim-ma = <980>;
		qcom,boost-duty-ns = <26>;
		qcom,mod-freq-khz = <9600>;
		qcom,dim-mode = "hybrid";
		qcom,dim-method = "linear";
		qcom,hyb-thres = <625>;
		qcom,sync-dly-us = <800>;
		qcom,fs-curr-ua = <16000>;
		qcom,en-phase-stag;
		qcom,ibb-pwrup-dly = <8>;
		qcom,led-strings-list = [00 01 02 03];
		qcom,en-ext-pfet-sc-pro;
	};
+358 −0
Original line number Diff line number Diff line
Qualcomm QPNP Leds

QPNP (Qualcomm Plug N Play) LEDs driver is used for
controlling LEDs that are part of PMIC on Qualcomm reference
platforms. The PMIC is connected to Host processor via
SPMI bus. This driver supports various LED modules such as
Keypad backlight, WLED (white LED), RGB LED and flash LED.

Each LED module is represented as a node of "leds-qpnp". This
node will further contain the type of LED supported and its
properties.  At least one child node is required for each LED
module.  Each must have the required properties below, in addition
to the properties for the LED type, WLED, Flash, RGB and MPP.

Required properties for each child node, WLED, Flash and RGB:
- compatible		: should be "qcom,leds-qpnp"
- qcom,id		: must be one of values supported in enum qpnp_led
- label			: type of led that will be used, ie "wled"
- qcom,max-current	: maximum current that the LED can sustain in mA
- linux,name		: name of the led that is used in led framework

Optional properties for each child node, WLED, Flash, MPP, RGB and KPDBL:
- qcom,in-order-command-processing : specify if user space requests leds in order

WLED is primarily used as display backlight. Display subsystem uses
LED triggers for WLED to control the brightness as needed.

Optional properties for WLED:
- qcom,num-strings: number of wled strings to be configured
- qcom,num-physical-strings: number of physical wled strings supported
- qcom,ovp-val: over voltage protection threshold,
		follows enum wled_ovp_threshold
- qcom,boost-curr-lim: boot currnet limit, follows enum wled_current_bost_limit
- qcom,ctrl-delay-us: delay in activation of led
- qcom,dig-mod-gen-en: digital module generator
- qcom,cs-out-en: current sink output enable
- qcom,op-fdbck: selection of output as feedback for the boost, 00 = automatic selection, 01 = select LED1 output, 02 = select LED2 output, 03 = select LED3 output
- qcom,cp-select: high pole capacitance
- linux,default-trigger: trigger the led from external modules such as display
- qcom,default-state:  default state of the led, should be "on" or "off"

Flash is used primarily as a camera or video flash.

Optional properties for flash:
- qcom,headroom: headroom to use. Values should be 0, 1, 2, 3 for 250mV, 300mV, 400mV and 500mV
- qcom,duration: duration of the flash and torch, 10ms - 1280ms for flash and 2s - 33s for torch
- qcom,clamp-curr: current to clamp at, mA
- qcom,startup-dly: delay before flashing after flash executed. Values should 0, 1, 2, 3 for 10us, 32us, 64us, and 128us
- qcom,saftey-timer: include for safety timer use, otherwise watchdog timer will be used
- linux,default-trigger: trigger the led from external modules such as display
- qcom,default-state:  default state of the led, should be "on" or "off"
- qcom,torch-enable: set flash led to torch mode functionality and triggers software workaround for torch if hardware does not support
- qcom,sw_vreg_ok: Specify if software strobe is used to inform the readiness of flash module to fire the flash LED when there is no smbb support
- qcom,no-smbb-support: Specify if smbb boost is not required and there is a single regulator for both flash and torch.
- flash-boost-supply: SMBB regulator for LED flash mode
- torch-boost-supply: SMBB regulator for LED torch mode
- flash-wa-supply: SMBB regulator for flash workarounds.

RGB Led is a tri-colored led, Red, Blue & Green.

Required properties for RGB led:
- qcom,mode: mode the led should operate in, options "pwm" and "lpg". "manual" mode is not supported for RGB led.

Required properties for PWM mode only:
- pwms: Use the phandle of pwm device
- qcom,pwm-us: time the pwm device will modulate at (us)

Required properties for LPG mode only:
- pwms: Use the phandle of pwm device
- qcom,pwm-us: time the pwm device will modulate at (us)
- qcom,duty-pcts: array of values for duty cycle to go through
- qcom,start-idx: starting point duty-pcts array

Optional properties for LPG mode only:
- qcom,pause-lo: pause at low end of cycle
- qcom,pause-hi: pause at high end of cycle
- qcom,ramp-step-ms: step between each cycle (ms)
- qcom,lut-flags: flags to be used in lut configuration

Optional properties for RGB led:
- linux,default-trigger: trigger the led from external modules such as display
- qcom,default-state:  default state of the led, should be "on" or "off"
- qcom,turn-off-delay-ms: delay in millisecond for turning off the led when its default-state is "on". Value is being ignored in case default-state is "off".
- qcom,use-blink: Use blink sysfs entry for switching into lpg mode.  For optimal use, set default mode to pwm.  All required lpg parameters must be supplied.

MPP LED is an LED controled through a Multi Purpose Pin.

Optional properties for MPP LED:
- linux,default-trigger: trigger the led from external modules such as display
- qcom,default-state: default state of the led, should be "on" or "off"
- qcom,source-sel: select power source, default 1 (enabled)
- qcom,mode-ctrl: select operation mode, default 0x60 = Mode Sink
- qcom,mode: mode the led should operate in, options "pwm", "lpg" and "manual"
- qcom,vin-ctrl: select input source, supported values are 0 to 3
- qcom,use-blink: Use blink sysfs entry for switching into lpg mode.  For optimal use, set default mode to pwm.  All required lpg parameters must be supplied.
- qcom,min-brightness - Lowest possible brightness supported on this LED other than 0.
- qcom,current-setting: default current value for wled used as button backlight in mA
- mpp-power-supply: regulator support for MPP LED
- qcom,mpp-power-max-voltage - maximum voltage for MPP LED regulator. This should not be specified when no regulator is in use.
- qcom,mpp-power-min-voltage - minimum voltage for MPP LED regulator. This should not be specified when no regulator is in use.

Required properties for PWM mode only:
- pwms: Use the phandle of pwm device
- qcom,pwm-us: time the pwm device will modulate at (us)

Required properties for LPG mode only:
- pwms: Use the phandle of pwm device
- qcom,pwm-us: time the pwm device will modulate at (us)
- qcom,duty-pcts: array of values for duty cycle to go through
- qcom,start-idx: starting point duty-pcts array

Optional properties for LPG mode only:
- qcom,pause-lo: pause at low end of cycle
- qcom,pause-hi: pause at high end of cycle
- qcom,ramp-step-ms: step between each cycle (ms)
- qcom,lut-flags: flags to be used in lut configuration

Keypad backlight is a backlight source for buttons. It supports four rows
and the required rows are enabled by specifying values in the properties.

Required properties for keypad backlight:
- qcom,mode: mode the led should operate in, options "pwm" and "lpg". "manual" mode is not supported for keypad backlight.
- qcom,row-id: specify the id of the row. Supported values are 0 to 3.

Optional properties for keypad backlight:
- qcom,row-src-vbst: select source for rows. Specify for vbst and ignore it
			for vph_pwr.
- qcom,row-src-en: specify to enable row source
- qcom,always-on: specify if the module has to be always on
- qcom,use-blink: Use blink sysfs entry for switching into lpg mode.  For optimal use, set default mode to pwm.  All required lpg parameters must be supplied.

Required properties for PWM mode only:
- pwms: Use the phandle of pwm device
- qcom,pwm-us: time the pwm device will modulate at (us)

Required properties for LPG mode only:
- pwms: Use the phandle of pwm device
- qcom,pwm-us: time the pwm device will modulate at (us)
- qcom,duty-pcts: array of values for duty cycle to go through
- qcom,start-idx: starting point duty-pcts array

Optional properties for LPG mode only:
- qcom,pause-lo: pause at low end of cycle
- qcom,pause-hi: pause at high end of cycle
- qcom,ramp-step-ms: step between each cycle (ms)
- qcom,lut-flags: flags to be used in lut configuration

GPIO LED is an LED controlled through a PMIC GPIO.

Optional properties for GPIO LED:
- linux,default-trigger: trigger the led from external modules such as charging
- qcom,default-state: default state of the led, should be "on" or "off"
- qcom,turn-off-delay-ms: delay in millisecond for turning off the led when its default-state is "on". Value is being ignored in case default-state is "off".
- qcom,source-sel: select power source, default 1 (enabled)
- qcom,mode-ctrl: select operation mode, default 0x60 = Mode Sink
- qcom,vin-ctrl: select input source, supported values are 0 to 7

Example:

	qcom,leds@a100 {
		status = "okay";
		qcom,led_mpp_2 {
			label = "mpp";
			linux,name = "button-backlight";
			linux,default-trigger = "hr-trigger";
			qcom,default-state = "off";
			qcom,current-setting = <20>;
			qcom,max-current = <40>;
			qcom,id = <6>;
			qcom,source-sel = <1>;
			qcom,mode-ctrl = <0x61>;
			qcom,mode = "manual";
		};
	};

	qcom,leds@a200 {
		status = "okay";
		qcom,led_mpp_3 {
			label = "mpp";
			linux,name = "wled-backlight";
			linux-default-trigger = "none";
			qcom,default-state = "on";
			qcom,max-current = <40>;
			qcom,id = <6>;
			qcom,source-sel = <1>;
			qcom,mode-ctrl = <0x10>;
			qcom,vin-ctrl = <0x03>;
			qcom,min-brightness = <20>;
		};
	};

	qcom,leds@a300 {
		status = "okay";
		qcom,led_mpp_pwm {
			label = "mpp";
			linux,name = "green";
			linux,default-trigger = "none";
			qcom,default-state = "off";
			qcom,max-current = <40>;
			qcom,current-setting = <5>;
			qcom,id = <6>;
			qcom,mode = "pwm";
			qcom,source-sel = <8>;
			qcom,mode-ctrl = <0x60>;
			pwms = <&pm8941_pwm_1 0 0>;
			qcom,pwm-us = <1000>;
		};
	};

	qcom,leds@d000 {
		status = "okay";
		qcom,rgb_pwm {
			label = "rgb";
			linux,name = "led:rgb_red";
			qcom,mode = "pwm";
			qcom,pwm-us = <1000>;
			pwms = <&pm8941_pwm_7 0 0>;
			qcom,max-current = <12>;
			qcom,default-state = "off";
			qcom,id = <3>;
			linux,default-trigger =
				"battery-charging";
		};
		qcom,rgb_lpg {
			label = "rgb";
			linux,name = "led:rgb_green";
			qcom,mode = "lpg";
			pwms = <&pm8941_pwm_6 0 0>;
			qcom,pwm-us = <1000>;
			qcom,duty-ms = <20>;
			qcom,start-idx = <1>;
			qcom,idx-len = <10>;
			qcom,duty-pcts = [00 19 32 4B 64
					 64 4B 32 19 00];
			qcom,max-current = <12>;
			qcom,default-state = "off";
			qcom,id = <3>;
			linux,default-trigger =
				"battery-charging";
		};

		qcom,rgb_blink {
			label = "rgb";
			linux,name = "led:rgb_blue";
			qcom,mode = "pwm";
			pwms = <&pm8941_pwm_5 0 0>;
			qcom,start-idx = <1>;
			qcom,idx-len = <10>;
			qcom,duty-pcts = [00 19 32 4B 64
					 64 4B 32 19 00];
			qcom,lut-flags = <3>;
			qcom,pause-lo = <0>;
			qcom,pause-hi = <0>;
			qcom,ramp-step-ms = <255>;
			qcom,max-current = <12>;
			qcom,default-state = "on";
			qcom,turn-off-delay-ms = <500>;
			qcom,id = <5>;
			linux,default-trigger = "none";
			qcom,pwm-us = <1000>;
			qcom,use-blink;
		};
	};

	qcom,leds@d300 {
			compatible = "qcom,leds-qpnp";
			status = "okay";
			flash-boost-supply = <&pm8941_chg_boost>;
			torch-boost-supply = <&pm8941_boost>;
			qcom,flash_0 {
				qcom,max-current = <1000>;
				qcom,default-state = "off";
				qcom,headroom = <0>;
				qcom,duration = <200>;
				qcom,clamp-curr = <200>;
				qcom,startup-dly = <1>;
				qcom,safety-timer;
				label = "flash";
				linux,default-trigger =
					"flash0_trigger";
				linux,name = "led:flash_0";
				qcom,current = <625>;
				qcom,id = <1>;
				qcom,no-torch-module;
			};
	};

	qcom,leds@d800 {
			compatible = "qcom,leds-qpnp";
			status = "okay";
			qcom,wled_0 {
				linux,default-trigger = "bkl-trigger"
				label = "wled";
				qcom,cs-out-en;
				qcom,op-fdbck = <1>;
				qcom,default-state "off";
				qcom,max-current = <25>;
				qcom,ctrl-delay-us = <0>;
				qcom,boost-curr-lim = <3>;
				qcom,cp-sel = <0>;
				qcom,switch-freq = <2>;
				qcom,ovp-val = <2>;
				qcom,num-strings = <1>;
				qcom,id = <0>;
				linux,name = "led:wled_backlight";
			};
	};

	qcom,leds@e200 {
		status = "okay";

		qcom,kpdbl1 {
			label = "kpdbl";
			linux,name = "kpdbl-pwm-1";
			qcom,mode = <0>;
			pwms = <&pm8941_pwm_9 0 0>;
			qcom,pwm-us = <1000>;
			qcom,id = <7>;
			qcom,max-current = <20>;
			qcom,row-id = <0>;
			qcom,row-src-en;
			qcom,always-on;
		};

		qcom,kpdbl2 {
			label = "kpdbl";
			linux,name = "kpdbl-lut-2";
			qcom,mode = <1>;
			pwms = <&pm8941_pwm_10 0 0>;
			qcom,pwm-us = <1000>;
			qcom,start-idx = <1>;
			qcom,duty-pcts = [00 00 00 00 64
					64 00 00 00 00];
			qcom,id = <7>;
			qcom,max-current = <20>;
			qcom,row-id = <1>;
			qcom,row-src-en;
		};

	};

	qcom,leds@c900 {
		compatible = "qcom,leds-qpnp";
		reg = <0xc900 0x100>;
		status = "okay";
		qcom,led_gpio_10 {
			label = "gpio";
			linux,name = "led:notification";
			qcom,max-current = <40>;
			qcom,id = <8>;
			linux,default-trigger = "notification";
			qcom,default-state = "on";
			qcom,turn-off-delay-ms = <1000>;
			qcom,source-sel = <1>;
			qcom,mode-ctrl = <0x10>;
			qcom,vin-ctrl = <0x02>;
		};
	};
+30 −0
Original line number Diff line number Diff line
@@ -487,6 +487,36 @@ config LEDS_BLINKM
	  This option enables support for the BlinkM RGB LED connected
	  through I2C. Say Y to enable support for the BlinkM LED.

config LEDS_QPNP
	tristate "Support for QPNP LEDs"
	depends on LEDS_CLASS && MSM_SPMI && OF_SPMI
	help
	  This driver supports the leds functionality of Qualcomm PNP PMIC.  It
	  includes RGB Leds, WLED and Flash Led.

	  To compile this driver as a module, choose M here: the module will
	  be called leds-qpnp.

config LEDS_QPNP_FLASH
	tristate "Support for QPNP Flash LEDs"
	depends on LEDS_CLASS && MSM_SPMI && OF_SPMI
	help
	  This driver supports the leds functionality of Qualcomm Technologies
	  PNP PMIC.  It includes Flash Led.

	  To compile this driver as a module, choose M here: the module will
	  be called leds-qpnp-flash.

config LEDS_QPNP_WLED
	tristate "Support for QPNP WLED"
	depends on LEDS_CLASS && MSM_SPMI && OF_SPMI
	help
	  This driver supports the WLED (White LED) functionality of
	  Qualcomm Technologies PNP PMIC. WLED is used for display backlight.

	  To compile this driver as a module, choose M here: the module will
	  be called leds-qpnp-wled.

config LEDS_SYSCON
	bool "LED support for LEDs on system controllers"
	depends on LEDS_CLASS=y
+3 −0
Original line number Diff line number Diff line
@@ -53,6 +53,9 @@ obj-$(CONFIG_LEDS_ASIC3) += leds-asic3.o
obj-$(CONFIG_LEDS_MAX8997)		+= leds-max8997.o
obj-$(CONFIG_LEDS_LM355x)		+= leds-lm355x.o
obj-$(CONFIG_LEDS_BLINKM)		+= leds-blinkm.o
obj-$(CONFIG_LEDS_QPNP)			+= leds-qpnp.o
obj-$(CONFIG_LEDS_QPNP_FLASH)		+= leds-qpnp-flash.o
obj-$(CONFIG_LEDS_QPNP_WLED)		+= leds-qpnp-wled.o
obj-$(CONFIG_LEDS_SYSCON)		+= leds-syscon.o
obj-$(CONFIG_LEDS_VERSATILE)		+= leds-versatile.o
obj-$(CONFIG_LEDS_MENF21BMC)		+= leds-menf21bmc.o
Loading