Merge "regulator: qpnp-labibb: Add support for PM660A"
This commit is contained in:
commit
048afaa352
2 changed files with 1724 additions and 823 deletions
|
@ -26,7 +26,7 @@ Main node optional properties:
|
||||||
in LAB and IBB modules. Make sure the
|
in LAB and IBB modules. Make sure the
|
||||||
hardware has needed support before
|
hardware has needed support before
|
||||||
enabling this property.
|
enabling this property.
|
||||||
- qcom,swire-control: A bool property which indicates if the LAB/IBB is
|
- qcom,swire-control: A boolean property which indicates if the LAB/IBB is
|
||||||
controlled by the SWIRE interface. Enable only
|
controlled by the SWIRE interface. Enable only
|
||||||
if qcom,qpnp-labibb-mode = "amoled".
|
if qcom,qpnp-labibb-mode = "amoled".
|
||||||
- qcom,labibb-ttw-force-lab-on: A boolean property which forces LAB to be
|
- qcom,labibb-ttw-force-lab-on: A boolean property which forces LAB to be
|
||||||
|
@ -53,6 +53,15 @@ Main node optional properties:
|
||||||
needed when LAB and IBB are operating
|
needed when LAB and IBB are operating
|
||||||
in standalone mode to vote for MBG.
|
in standalone mode to vote for MBG.
|
||||||
|
|
||||||
|
Following properties are available only for PM660A:
|
||||||
|
|
||||||
|
- qcom,pbs-control: A boolean property which indicates if
|
||||||
|
the LAB/IBB is controlled by the PBS
|
||||||
|
sequencer. If this mode is enabled the
|
||||||
|
PBS sequencer does the SWIRE remapping
|
||||||
|
and program the voltages based on the
|
||||||
|
SWIRE count.
|
||||||
|
|
||||||
LAB subnode required properties:
|
LAB subnode required properties:
|
||||||
|
|
||||||
- reg: Specifies the SPMI address and size for this peripheral.
|
- reg: Specifies the SPMI address and size for this peripheral.
|
||||||
|
@ -72,29 +81,9 @@ LAB subnode required properties:
|
||||||
is configured in amoled mode.
|
is configured in amoled mode.
|
||||||
- qcom,qpnp-lab-init-lcd-voltage: The default output voltage when LAB regulator
|
- qcom,qpnp-lab-init-lcd-voltage: The default output voltage when LAB regulator
|
||||||
is configured in lcd mode.
|
is configured in lcd mode.
|
||||||
- qcom,qpnp-lab-soft-start: The soft start time in us of LAB regulator.
|
|
||||||
Supported value are 200, 400, 600 and 800.
|
|
||||||
|
|
||||||
- qcom,qpnp-lab-ps-threshold: The threshold in mA of Pulse Skip Mode for
|
- qcom,qpnp-lab-ps-threshold: The threshold in mA of Pulse Skip Mode for
|
||||||
LAB regulator. Supported values are 20, 30,
|
LAB regulator. Supported values are 20, 30,
|
||||||
40 and 50.
|
40 and 50.
|
||||||
- qcom,qpnp-lab-pfet-size: PFET size in percentage. Supported values
|
|
||||||
are 25, 50, 75 and 100.
|
|
||||||
- qcom,qpnp-lab-nfet-size: NFET size in percentage. Supported values
|
|
||||||
are 25, 50, 75 and 100.
|
|
||||||
- qcom,qpnp-lab-max-precharge-time: Precharge time in uS for LAB regulator.
|
|
||||||
Supported values are 200, 300, 400 and 500.
|
|
||||||
Suggested values for LCD and AMOLED mode
|
|
||||||
are 500 and 300uS respectively.
|
|
||||||
- qcom,qpnp-lab-switching-clock-frequency: The PWM switching clock frequency in
|
|
||||||
kHz of Lab regulator, Supported values
|
|
||||||
are: 3200, 2740, 2400, 2130, 1920,
|
|
||||||
1750, 1600, 1480, 1370, 1280, 1200,
|
|
||||||
1130, 1070, 1010, 960, 910.
|
|
||||||
- qcom,qpnp-lab-limit-maximum-current: The maximum inductor current limit in
|
|
||||||
mA of LAB regulator. Supported values
|
|
||||||
are 200, 400, 600, 800, 1000, 1200,
|
|
||||||
1400 and 1600.
|
|
||||||
- interrupts: Specify the interrupts as per the interrupt
|
- interrupts: Specify the interrupts as per the interrupt
|
||||||
encoding.
|
encoding.
|
||||||
Currently "lab-vreg-ok" is required for
|
Currently "lab-vreg-ok" is required for
|
||||||
|
@ -125,9 +114,9 @@ LAB subnode optional properties:
|
||||||
- qcom,qpnp-lab-pull-down-enable: A boolean property which upon set will enable
|
- qcom,qpnp-lab-pull-down-enable: A boolean property which upon set will enable
|
||||||
the pull down for LAB regulator. Otherwise,
|
the pull down for LAB regulator. Otherwise,
|
||||||
it is disabled.
|
it is disabled.
|
||||||
- qcom,qpnp-lab-max-precharge-enable: A boolean property which upon set will
|
- qcom,qpnp-lab-max-precharge-enable: A boolean property which upon set will
|
||||||
enable fast precharge. Otherwise, it is
|
enable fast precharge. Otherwise, it is
|
||||||
disabled.
|
disabled.
|
||||||
- qcom,qpnp-lab-ring-suppression-enable: A boolean property which upon set will
|
- qcom,qpnp-lab-ring-suppression-enable: A boolean property which upon set will
|
||||||
enable ring suppression for LAB
|
enable ring suppression for LAB
|
||||||
regulator. Otherwise, it is disabled.
|
regulator. Otherwise, it is disabled.
|
||||||
|
@ -135,14 +124,65 @@ LAB subnode optional properties:
|
||||||
enforce maximum inductor current constraint
|
enforce maximum inductor current constraint
|
||||||
for LAB regulator. Otherwise, there is no
|
for LAB regulator. Otherwise, there is no
|
||||||
maximum current constraint.
|
maximum current constraint.
|
||||||
- qcom,qpnp-lab-use-default-voltage: A boolean property which upon set will
|
- qcom,qpnp-lab-switching-clock-frequency: The PWM switching clock frequency in
|
||||||
use the value specified in
|
kHz of Lab regulator, Supported values
|
||||||
qcom,qpnp-lab-init-voltage property.
|
are: 3200, 2740, 2400, 2130, 1920,
|
||||||
This will be used only if the bootloader
|
1750, 1600, 1480, 1370, 1280, 1200,
|
||||||
doesn't configure the output voltage
|
1130, 1070, 1010, 960, 910.
|
||||||
already. If it it not specified, then
|
- qcom,qpnp-lab-limit-maximum-current: The maximum inductor current limit in
|
||||||
output voltage can be configured to
|
mA of LAB regulator. Supported values
|
||||||
any value in the allowed limit.
|
are 200, 400, 600, 800, 1000, 1200,
|
||||||
|
1400 and 1600.
|
||||||
|
- qcom,qpnp-lab-pfet-size: PFET size in percentage. Supported values
|
||||||
|
are 25, 50, 75 and 100.
|
||||||
|
- qcom,qpnp-lab-nfet-size: NFET size in percentage. Supported values
|
||||||
|
are 25, 50, 75 and 100.
|
||||||
|
- qcom,qpnp-lab-max-precharge-time: Precharge time in uS for LAB regulator.
|
||||||
|
Supported values are 200, 300, 400 and 500.
|
||||||
|
Suggested values for LCD and AMOLED mode
|
||||||
|
are 500 and 300uS respectively.
|
||||||
|
- qcom,qpnp-lab-use-default-voltage: A boolean property which upon set will
|
||||||
|
use the value specified in
|
||||||
|
qcom,qpnp-lab-init-voltage property.
|
||||||
|
This will be used only if the bootloader
|
||||||
|
doesn't configure the output voltage
|
||||||
|
already. If it it not specified, then
|
||||||
|
output voltage can be configured to
|
||||||
|
any value in the allowed limit.
|
||||||
|
|
||||||
|
Following properties are available only for PM660A:
|
||||||
|
|
||||||
|
- qcom,qpnp-lab-soft-start: The soft start time in us of LAB regulator.
|
||||||
|
Supported value are 200, 400, 600 and 800.
|
||||||
|
- qcom,qpnp-lab-ldo-pulldown-enable: This property is used to enable/disable
|
||||||
|
the LDO pull down.
|
||||||
|
1 - enable pulldown
|
||||||
|
0 - disable pulldown
|
||||||
|
- qcom,qpnp-lab-enable-sw-high-psrr: A boolean property to enable the
|
||||||
|
software high psrr
|
||||||
|
(Power Suppy Rejection Rate) mode.
|
||||||
|
- qcom,qpnp-lab-high-psrr-src-select: This property is used to select the LAB
|
||||||
|
HW high psrr source.
|
||||||
|
The supported values are:
|
||||||
|
0 = Either vph_high or high_psrr enable
|
||||||
|
1 = vph_high only
|
||||||
|
2 = high_psrr enable only
|
||||||
|
3 = Either vph_high or high_psrr enable
|
||||||
|
This property is not valid if the
|
||||||
|
qcom,qpnp-lab-enable-sw-high-psrr property
|
||||||
|
is specified.
|
||||||
|
- qcom,qpnp-lab-vref-high-psrr-select: This property is required if the
|
||||||
|
qcom,qpnp-lab-high-psrr-src-select is
|
||||||
|
specified. The supported values (in mV)
|
||||||
|
are 350, 400, 450 and 500. Once the
|
||||||
|
rejection rate crosses the selected
|
||||||
|
high-psrr voltage the LDO is enabled
|
||||||
|
based on the value specified under
|
||||||
|
qcom,qpnp-lab-high-psrr-src-select
|
||||||
|
property.
|
||||||
|
This property is not valid if the
|
||||||
|
qcom,qpnp-lab-enable-sw-high-psrr property
|
||||||
|
is specified.
|
||||||
|
|
||||||
IBB subnode required properties:
|
IBB subnode required properties:
|
||||||
|
|
||||||
|
@ -154,8 +194,6 @@ IBB subnode required properties:
|
||||||
|
|
||||||
- qcom,qpnp-ibb-min-voltage: The minimum voltage in microvolts IBB regulator can support.
|
- qcom,qpnp-ibb-min-voltage: The minimum voltage in microvolts IBB regulator can support.
|
||||||
- qcom,qpnp-ibb-step-size: The step size in microvolts of IBB regulator.
|
- qcom,qpnp-ibb-step-size: The step size in microvolts of IBB regulator.
|
||||||
- qcom,qpnp-ibb-slew-rate: The time in us taken by the regulator to change
|
|
||||||
voltage value in one step.
|
|
||||||
- qcom,qpnp-ibb-soft-start: The soft start time in us of IBB regulator.
|
- qcom,qpnp-ibb-soft-start: The soft start time in us of IBB regulator.
|
||||||
|
|
||||||
- qcom,qpnp-ibb-init-voltage: The default initial voltage when the bootloader does
|
- qcom,qpnp-ibb-init-voltage: The default initial voltage when the bootloader does
|
||||||
|
@ -168,13 +206,41 @@ IBB subnode required properties:
|
||||||
- qcom,qpnp-ibb-discharge-resistor: The discharge resistor in Kilo Ohms which
|
- qcom,qpnp-ibb-discharge-resistor: The discharge resistor in Kilo Ohms which
|
||||||
controls the soft start time. Supported values
|
controls the soft start time. Supported values
|
||||||
are 300, 64, 32 and 16.
|
are 300, 64, 32 and 16.
|
||||||
|
IBB subnode optional properties:
|
||||||
|
|
||||||
|
- qcom,qpnp-ibb-slew-rate: The time (in us) taken by the regulator to change
|
||||||
|
voltage value in one step. This property is not
|
||||||
|
applicable to PM660A.
|
||||||
|
The following properties can be used as an
|
||||||
|
alternate.
|
||||||
|
qcom,qpnp-ibb-slew-rate-config
|
||||||
|
qcom,qpnp-ibb-fast-slew-rate
|
||||||
|
qcom,qpnp-ibb-slow-slew-rate
|
||||||
|
- qcom,qpnp-ibb-ps-enable: A boolean property which upon set will enable
|
||||||
|
pulse skip mode for IBB regulator. Otherwise,
|
||||||
|
it is disabled.
|
||||||
|
- qcom,qpnp-ibb-num-swire-trans: The number of SWIRE transactions
|
||||||
|
after which the pulse skipping is
|
||||||
|
enabled. This property is required when
|
||||||
|
qpnp-ibb-smart-ps-enable property is
|
||||||
|
set.
|
||||||
|
- qcom,qpnp-ibb-neg-curr-limit: This property must be set when the
|
||||||
|
qpnp-ibb-smart-ps-enable is specified.
|
||||||
|
The supported values in mA are 1, 2, 3,
|
||||||
|
4, 5, 6 and 7. The recommended value is
|
||||||
|
- qcom,qpnp-ibb-full-pull-down: A boolean property which upon set will
|
||||||
|
enable the pull down strength of IBB
|
||||||
|
regulator to full. Otherwise, the pull
|
||||||
|
down strength is configured to half.
|
||||||
|
- qcom,qpnp-ibb-pull-down-enable: A boolean property which upon set will enable
|
||||||
|
the pull down for IBB regulator. Otherwise,
|
||||||
|
it is disabled.
|
||||||
- qcom,qpnp-ibb-lab-pwrup-delay: Power up delay (in us) for IBB regulator when
|
- qcom,qpnp-ibb-lab-pwrup-delay: Power up delay (in us) for IBB regulator when
|
||||||
it is enabled or turned on. Supported values
|
it is enabled or turned on. Supported values
|
||||||
are 1000, 2000, 4000 and 8000.
|
are 1000, 2000, 4000 and 8000.
|
||||||
- qcom,qpnp-ibb-lab-pwrdn-delay: Power down delay (in us) for IBB regulator
|
- qcom,qpnp-ibb-lab-pwrdn-delay: Power down delay (in us) for IBB regulator
|
||||||
when it is disabled or turned off. Supported
|
when it is disabled or turned off. Supported
|
||||||
values are 1000, 2000, 4000 and 8000.
|
values are 1000, 2000, 4000 and 8000.
|
||||||
|
|
||||||
- qcom,qpnp-ibb-switching-clock-frequency: The PWM switching clock frequency in
|
- qcom,qpnp-ibb-switching-clock-frequency: The PWM switching clock frequency in
|
||||||
kHz of IBB regulator. Supported values
|
kHz of IBB regulator. Supported values
|
||||||
are: 3200, 2740, 2400, 2130, 1920,
|
are: 3200, 2740, 2400, 2130, 1920,
|
||||||
|
@ -182,26 +248,13 @@ IBB subnode required properties:
|
||||||
1130, 1070, 1010, 960, 910.
|
1130, 1070, 1010, 960, 910.
|
||||||
- qcom,qpnp-ibb-limit-maximum-current: The maximum inductor current limit in
|
- qcom,qpnp-ibb-limit-maximum-current: The maximum inductor current limit in
|
||||||
mA of IBB regulator. Supported values
|
mA of IBB regulator. Supported values
|
||||||
are: 0, 50, 100, 150, 200, 250, 300,
|
are: 0, 50, 100, 150, 200, 250, 300,
|
||||||
350, 400, 450, 500, 550, 600, 650, 700,
|
350, 400, 450, 500, 550, 600, 650, 700,
|
||||||
750, 800, 850, 900, 950, 1000, 1050,
|
750, 800, 850, 900, 950, 1000, 1050,
|
||||||
1100, 1150, 1200, 1250, 1300, 1350,
|
1100, 1150, 1200, 1250, 1300, 1350,
|
||||||
1400, 1450, 1500 and 1550.
|
1400, 1450, 1500 and 1550.
|
||||||
- qcom,qpnp-ibb-debounce-cycle: The debounce cycle of IBB regulator.
|
- qcom,qpnp-ibb-debounce-cycle: The debounce cycle of IBB regulator.
|
||||||
Supported values are 8, 16, 32 and 64.
|
Supported values are 8, 16, 32 and 64.
|
||||||
|
|
||||||
IBB subnode optional properties:
|
|
||||||
|
|
||||||
- qcom,qpnp-ibb-ps-enable: A boolean property which upon set will enable
|
|
||||||
pulse skip mode for IBB regulator. Otherwise,
|
|
||||||
it is disabled.
|
|
||||||
- qcom,qpnp-ibb-full-pull-down: A boolean property which upon set will enable
|
|
||||||
the pull down strength of IBB regulator to
|
|
||||||
full. Otherwise, the pull down strength is
|
|
||||||
configured to half.
|
|
||||||
- qcom,qpnp-ibb-pull-down-enable: A boolean property which upon set will enable
|
|
||||||
the pull down for IBB regulator. Otherwise,
|
|
||||||
it is disabled.
|
|
||||||
- qcom,qpnp-ibb-en-discharge: A boolean property which upon set will
|
- qcom,qpnp-ibb-en-discharge: A boolean property which upon set will
|
||||||
enable discharge for IBB regulator.
|
enable discharge for IBB regulator.
|
||||||
Otherwise, it is kept disabled.
|
Otherwise, it is kept disabled.
|
||||||
|
@ -220,12 +273,58 @@ IBB subnode optional properties:
|
||||||
already. If it it not specified, then
|
already. If it it not specified, then
|
||||||
output voltage can be configured to
|
output voltage can be configured to
|
||||||
any value in the allowed limit.
|
any value in the allowed limit.
|
||||||
- qcom,output-voltage-one-pulse The expected voltage (in mV) of VDISN signal
|
- qcom,output-voltage-one-pulse: The expected voltage (in mV) of VDISN signal
|
||||||
on the first SWIRE pulse. This property
|
on the first SWIRE pulse. This property
|
||||||
can be specified only if 'qcom,swire-control'
|
can be specified only if 'qcom,swire-control'
|
||||||
is defined. The minimum and maximum values
|
is defined. The minimum and maximum values
|
||||||
are 1400mV and 7700mV.
|
are 1400mV and 7700mV.
|
||||||
|
|
||||||
|
Following properties are available only for PM660A:
|
||||||
|
|
||||||
|
- qcom,qpnp-ibb-smart-ps-enable: A boolean property which upon set
|
||||||
|
enables smart pulse skip mode for IBB
|
||||||
|
regulator. Otherwise, it is disabled.
|
||||||
|
This property is only applicable to
|
||||||
|
PM660A.
|
||||||
|
- qcom,qpnp-ibb-enable-pfm-mode: A boolean property which enables the IBB to work
|
||||||
|
in pfm mode.
|
||||||
|
- qcom,qpnp-ibb-pfm-peak-curr: The PFM peak current limit settings in mA.
|
||||||
|
Supported values are 150, 200, 250, 300,
|
||||||
|
350, 400, 450 and 500. This property is
|
||||||
|
required if the qcom,qpnp-ibb-enable-pfm-mode
|
||||||
|
is true.
|
||||||
|
- qcom,qpnp-ibb-pfm-hysteresis: The PFM hysteresis voltage threshold in mV.
|
||||||
|
Supported values are 0, 25 and 50.
|
||||||
|
This property is required if the
|
||||||
|
qcom,qpnp-ibb-enable-pfm-mode is specified.
|
||||||
|
- qcom,qpnp-ibb-overload-blank: A boolean property which upon set enables
|
||||||
|
the IBB overload blanking.
|
||||||
|
- qcom,qpnp-ibb-overload-debounce: The expected overload debounce time (in ms)
|
||||||
|
values are 1, 2, 4 and 8.
|
||||||
|
This property is required only when the
|
||||||
|
qcom,qpnp-ibb-overload-blank is set.
|
||||||
|
- qcom,qpnp-ibb-vreg-ok-debounce: The expected vreg-ok-debounce time (us)
|
||||||
|
values are 4, 8, 16 and 32.
|
||||||
|
This property is required only when the
|
||||||
|
qcom,qpnp-ibb-overload-blank is set.
|
||||||
|
- qcom,qpnp-ibb-slew-rate-config: A boolean property to configure the
|
||||||
|
ibb fast/slow slew rate.
|
||||||
|
Either qcom,qpnp-ibb-fast-slew-rate or
|
||||||
|
qcom,qpnp-ibb-slow-slew-rate has to be
|
||||||
|
specified. Otherwise the
|
||||||
|
qcom,qpnp-ibb-slow-slew-rate takes precedence
|
||||||
|
over the qcom,qpnp-ibb-fast-slew-rate.
|
||||||
|
- qcom,qpnp-ibb-fast-slew-rate: This property is required if the qcom,
|
||||||
|
qpnp-ibb-slew-rate-config property is
|
||||||
|
specified. Supported values (in us) are
|
||||||
|
100, 200, 500, 1000, 2000, 10000, 12000
|
||||||
|
and 15000.
|
||||||
|
- qcom,qpnp-ibb-slow-slew-rate: This property is required if the qcom,
|
||||||
|
qpnp-ibb-slew-rate-config property is
|
||||||
|
specified. Supported values (in us) are
|
||||||
|
100, 200, 500, 1000, 2000, 10000, 12000
|
||||||
|
and 15000.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
qcom,pmi8994@3 {
|
qcom,pmi8994@3 {
|
||||||
qpnp-labibb-regulator {
|
qpnp-labibb-regulator {
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue