Merge "defconfig: msm: falcon: enable LCDB driver"
This commit is contained in:
commit
4aa28af5a2
7 changed files with 1955 additions and 0 deletions
|
@ -0,0 +1,250 @@
|
|||
QPNP LCDB (LCD Bias) Regulator
|
||||
|
||||
QPNP LCDB module provides voltage bias to the LCD display panel. The biases
|
||||
are positive (VDISP - supported by LDO) and negative (VDISN - supported by
|
||||
NCP) voltage signals. The module also supports TTW (touch-to-wake) capability.
|
||||
|
||||
This document describes the bindings for QPNP LCDB module.
|
||||
|
||||
=======================
|
||||
Required Node Structure
|
||||
=======================
|
||||
|
||||
LCDB module must be described in two level of device nodes.
|
||||
|
||||
==============================
|
||||
First Level Node - LCDB module
|
||||
==============================
|
||||
|
||||
- compatible
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: should be "qcom,qpnp-lcdb-regulator"
|
||||
|
||||
- reg
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: Base address of the LCDB SPMI peripheral.
|
||||
|
||||
Touch-to-wake (TTW) properties:
|
||||
|
||||
TTW supports 2 modes of operation - HW and SW. In the HW mode the enable/disable
|
||||
logic is controlled by an external signal (pin) where as in the SW mode it is
|
||||
is controlled by a pre-configured timer (ton/toff) programmed in the TTW
|
||||
register.
|
||||
|
||||
Properties below are specific to TTW mode only. They are sepecified in the
|
||||
main node.
|
||||
|
||||
- qcom,ttw-enable
|
||||
Usage: optional
|
||||
Value type: <bool>
|
||||
Definition: Touch to wake-up support enabled.
|
||||
|
||||
- qcom,ttw-mode-sw
|
||||
Usage: optional
|
||||
Value type: <bool>
|
||||
Definition: Touch to wake supported in SW mode.
|
||||
If not defined, ttw is enabled by HW pin.
|
||||
|
||||
- qcom,attw-toff-ms
|
||||
Usage: required if 'qcom,ttw-mode-sw' is true.
|
||||
Value type: <bool>
|
||||
Definition: Off time (in mS) for the VDISP/VDISN signals.
|
||||
Possible values are 4, 8, 16, 32.
|
||||
|
||||
- qcom,attw-ton-ms
|
||||
Usage: required if 'qcom,ttw-mode-sw' is true.
|
||||
Value type: <bool>
|
||||
Definition: ON time (in mS) for the VDISP/VDISN signals.
|
||||
Possible values are 4, 8, 16, 32.
|
||||
|
||||
|
||||
========================================
|
||||
Second Level Nodes - LDO/NCP/BOOST block
|
||||
========================================
|
||||
|
||||
LDO / NCP subnode common properties:
|
||||
|
||||
Properties below are common to the LDO and NCP bias.
|
||||
|
||||
- label
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: A string used to describe the bias type.
|
||||
Possible values are ldo, ncp, bst.
|
||||
|
||||
- regulator-name
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: A string used to describe the regulator.
|
||||
|
||||
- regulator-min-microvolt
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: Minimum voltage (in uV) supported by the bias.
|
||||
|
||||
- regulator-max-microvolt
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: Maximum voltage (in uV) supported by the bias.
|
||||
|
||||
|
||||
LDO subnode properties:
|
||||
|
||||
Properties below are specific to LDO bias only.
|
||||
|
||||
- qcom,ldo-voltage-mv
|
||||
Usage: optional
|
||||
Value type: <u32>
|
||||
Definition: Voltage (in mV) progammed for the LDO (VDISP).
|
||||
Possile values are 4000mV to 6000mV. The range
|
||||
4000mV to 4900mV is in 100mV steps and 4900mV to
|
||||
6000mV is in 50mV steps.
|
||||
|
||||
- qcom,ldo-pd
|
||||
Usage: optional
|
||||
Value type: <u32>
|
||||
Definition: Pull-down configuration of LDO. Possible values are:
|
||||
1 - Enable pull-down
|
||||
0 - Disable pull-down
|
||||
|
||||
- qcom,ldo-pd-strength
|
||||
Usage: optional
|
||||
Value type: <u32>
|
||||
Definition: Pull-down strength. Possible values are:
|
||||
0 - Weak pull-down
|
||||
1 - Strong pull-down
|
||||
|
||||
- qcom,ldo-ilim-ma
|
||||
Usage: optional
|
||||
Value type: <u32>
|
||||
Definition: Current limit (in mA) of the LDO bias.
|
||||
Possible values are 110, 160, 210, 260, 310, 360, 410, 460.
|
||||
|
||||
- qcom,ldo-soft-start-us
|
||||
Usage: optional
|
||||
Value type: <u32>
|
||||
Definition: Soft-start time (in uS) of the LDO bias.
|
||||
Possible values are 0, 500, 1000, 2000.
|
||||
|
||||
|
||||
NCP subnode properties:
|
||||
|
||||
Properties below are specific to NCP bias only.
|
||||
|
||||
- qcom,ncp-voltage-mv
|
||||
Usage: optional
|
||||
Value type: <u32>
|
||||
Definition: Voltage (in mV) progammed for the NCP (VDISN).
|
||||
Possile values are 4000mV to 6000mV. The range
|
||||
4000mV to 4900mV is in 100mV steps and 4900mV to
|
||||
6000mV is in 50mV steps.
|
||||
|
||||
- qcom,ncp-pd
|
||||
Usage: optional
|
||||
Value type: <u32>
|
||||
Definition: Pull-down configuration of NCP. Possible values are:
|
||||
1 - Enable pull-down
|
||||
0 - Disable pull-down
|
||||
|
||||
- qcom,ncp-pd-strength
|
||||
Usage: optional
|
||||
Value type: <u32>
|
||||
Definition: Pull-down strength. Possible values are:
|
||||
0 - Weak pull-down
|
||||
1 - Strong pull-down
|
||||
|
||||
- qcom,ncp-ilim-ma
|
||||
Usage: optional
|
||||
Value type: <u32>
|
||||
Definition: Current limit (in mA) of the NCP bias.
|
||||
Possible values are 260, 460, 640, 810.
|
||||
|
||||
- qcom,ncp-soft-start-us
|
||||
Usage: optional
|
||||
Value type: <u32>
|
||||
Definition: Soft-start time (in uS) of the NCP bias.
|
||||
Possible values are 0, 500, 1000, 2000.
|
||||
|
||||
|
||||
BOOST subnode properties:
|
||||
|
||||
Properties below are specific to BOOST subnode only.
|
||||
|
||||
- qcom,bst-pd
|
||||
Usage: optional
|
||||
Value type: <bool>
|
||||
Definition: Pull-down configuration of BOOST. Possible values are:
|
||||
1 - Enable pull-down
|
||||
0 - Disable pull-down
|
||||
|
||||
- qcom,bst-pd-strength
|
||||
Usage: optional
|
||||
Value type: <u32>
|
||||
Definition: Pull-down strength. Possible values are:
|
||||
0 - Weak pull-down
|
||||
1 - Strong pull-down
|
||||
|
||||
- qcom,bst-ps
|
||||
Usage: optional
|
||||
Value type: <u32>
|
||||
Definition: Pulse-skip configuration for boost. Possible values are:
|
||||
1 - Enable Pulse-skip
|
||||
0 - Disable Pulse-skip
|
||||
|
||||
- qcom,bst-ps-threshold-ma
|
||||
Usage: optional
|
||||
Value type: <u32>
|
||||
Definition: Current threshold (in mA) at which pulse-skip is entered.
|
||||
Possible values are 50, 60, 70, 80.
|
||||
|
||||
- qcom,bst-ilim-ma
|
||||
Usage: optional
|
||||
Value type: <u32>
|
||||
Definition: Current limit (in mA) of the BOOST rail.
|
||||
Possible values are 200 to 1600mA in 200mA steps.
|
||||
|
||||
=======
|
||||
Example
|
||||
=======
|
||||
|
||||
pm2falcon_lcdb: qpnp-lcdb@ec00 {
|
||||
compatible = "qcom,qpnp-lcdb-regulator";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0xec00 0x100>;
|
||||
|
||||
qcom,ttw-enable;
|
||||
|
||||
lcdb_ldo_vreg: ldo {
|
||||
label = "ldo";
|
||||
regulator-name = "lcdb_ldo";
|
||||
regulator-min-microvolt = <4000000>;
|
||||
regulator-max-microvolt = <6000000>;
|
||||
|
||||
qcom,ldo-voltage-mv = <5400>;
|
||||
qcom,ldo-pd = <1>;
|
||||
qcom,ldo-pd-strength = <1>;
|
||||
};
|
||||
|
||||
lcdb_ncp_vreg: ncp {
|
||||
label = "ncp";
|
||||
regulator-name = "lcdb_ncp";
|
||||
regulator-min-microvolt = <4000000>;
|
||||
regulator-max-microvolt = <6000000>;
|
||||
|
||||
qcom,ncp-voltage-mv = <5400>;
|
||||
qcom,ncp-pd = <1>;
|
||||
qcom,ncp-pd-strength = <1>;
|
||||
};
|
||||
|
||||
lcdb_bst: bst {
|
||||
label = "bst";
|
||||
|
||||
qcom,bst-pd = <1>;
|
||||
qcom,bst-pd-strength = <1>;
|
||||
qcom,bst-ps = <1>;
|
||||
qcom,bst-ps-threshold-ma = <50>;
|
||||
};
|
||||
};
|
|
@ -346,6 +346,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
|||
CONFIG_REGULATOR_RPM_SMD=y
|
||||
CONFIG_REGULATOR_QPNP=y
|
||||
CONFIG_REGULATOR_QPNP_LABIBB=y
|
||||
CONFIG_REGULATOR_QPNP_LCDB=y
|
||||
CONFIG_REGULATOR_SPM=y
|
||||
CONFIG_REGULATOR_CPR3_HMSS=y
|
||||
CONFIG_REGULATOR_CPR3_MMSS=y
|
||||
|
|
|
@ -346,6 +346,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
|||
CONFIG_REGULATOR_RPM_SMD=y
|
||||
CONFIG_REGULATOR_QPNP=y
|
||||
CONFIG_REGULATOR_QPNP_LABIBB=y
|
||||
CONFIG_REGULATOR_QPNP_LCDB=y
|
||||
CONFIG_REGULATOR_SPM=y
|
||||
CONFIG_REGULATOR_CPR3_HMSS=y
|
||||
CONFIG_REGULATOR_CPR3_MMSS=y
|
||||
|
|
|
@ -348,6 +348,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
|||
CONFIG_REGULATOR_RPM_SMD=y
|
||||
CONFIG_REGULATOR_QPNP=y
|
||||
CONFIG_REGULATOR_QPNP_LABIBB=y
|
||||
CONFIG_REGULATOR_QPNP_LCDB=y
|
||||
CONFIG_REGULATOR_SPM=y
|
||||
CONFIG_REGULATOR_CPR3_HMSS=y
|
||||
CONFIG_REGULATOR_CPR3_MMSS=y
|
||||
|
|
|
@ -826,6 +826,15 @@ config REGULATOR_QPNP_LABIBB
|
|||
negative boost regulator. LAB/IBB regulators can also be used
|
||||
together for LCD or AMOLED.
|
||||
|
||||
config REGULATOR_QPNP_LCDB
|
||||
depends on SPMI
|
||||
tristate "Qualcomm Technologies, Inc QPNP LCDB support"
|
||||
help
|
||||
Supports the LCDB module in the Qualcomm Technologies, Inc
|
||||
QPNP PMIC. Exposes regulators to control the positive and
|
||||
negative voltage bias for the LCD display panel. It also
|
||||
allows configurability for the various bias-voltage parameters.
|
||||
|
||||
config REGULATOR_SPM
|
||||
bool "SPM regulator driver"
|
||||
depends on SPMI
|
||||
|
|
|
@ -115,6 +115,7 @@ obj-$(CONFIG_REGULATOR_CPR3_MMSS) += cpr3-mmss-regulator.o
|
|||
obj-$(CONFIG_REGULATOR_CPR4_APSS) += cpr4-apss-regulator.o
|
||||
obj-$(CONFIG_REGULATOR_CPRH_KBSS) += cprh-kbss-regulator.o
|
||||
obj-$(CONFIG_REGULATOR_QPNP_LABIBB) += qpnp-labibb-regulator.o
|
||||
obj-$(CONFIG_REGULATOR_QPNP_LCDB) += qpnp-lcdb-regulator.o
|
||||
obj-$(CONFIG_REGULATOR_STUB) += stub-regulator.o
|
||||
obj-$(CONFIG_REGULATOR_KRYO) += kryo-regulator.o
|
||||
obj-$(CONFIG_REGULATOR_CPR2_GFX) += cpr2-gfx-regulator.o
|
||||
|
|
1692
drivers/regulator/qpnp-lcdb-regulator.c
Normal file
1692
drivers/regulator/qpnp-lcdb-regulator.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue