268 lines
11 KiB
Plaintext
268 lines
11 KiB
Plaintext
QTI's LAB (LCD/AMOLED BOOST)/IBB (Inverting Buck-Boost) Regulator
|
|
|
|
LAB can be used as a standalone positive boost power supply for general purpose
|
|
applications. IBB can be used as a standalone negative power supply for general
|
|
applications. Also, LAB and IBB can be used together to provide power supply for
|
|
display panels, LCD or AMOLED.
|
|
|
|
Main node required properties:
|
|
|
|
- compatible: Must be "qcom,qpnp-labibb-regulator"
|
|
- spmi-dev-container: Must be present.
|
|
- qpnp,qpnp-labibb-mode: A string used to specify the working mode of LAB/IBB
|
|
regulators when bootloader does not turned on the
|
|
display panel. Could be "lcd", "amoled" or
|
|
"stand-alone".
|
|
"lcd" means using LAB and IBB regulators are
|
|
configured for LCD mode together.
|
|
"amoled" means using LAB and IBB regulators are
|
|
configured for AMOLED mode together.
|
|
"stand-alone" means using LAB and IBB regulators
|
|
as stand alone regulators.
|
|
|
|
Main node optional properties:
|
|
|
|
- qcom,qpnp-labibb-touch-to-wake-en: A boolean property which upon set will
|
|
enable support for touch-to-wake mode
|
|
by configuring the required settings
|
|
in LAB and IBB modules. Make sure the
|
|
hardware has needed support before
|
|
enabling this property.
|
|
- qpnp,swire-control: A bool property which indicates if the LAB/IBB is
|
|
controlled by the SWIRE interface. Enable only
|
|
if qpnp,qpnp-labibb-mode = "amoled".
|
|
|
|
LAB subnode required properties:
|
|
|
|
- reg: Specifies the SPMI address and size for this peripheral.
|
|
- reg-names: Register names. Must be "lab".
|
|
- regulator-name: A string used to describe the regulator.
|
|
- regulator-min-microvolt: Minimum voltage in microvolts supported by this regulator.
|
|
- regulator-max-microvolt: Maximum voltage in microvolts supported by this regulator.
|
|
|
|
- qcom,qpnp-lab-min-voltage: The minimum voltage in microvolts LAB regulator can support.
|
|
- qcom,qpnp-lab-step-size: The step size in microvolts of LAB regulator.
|
|
- qcom,qpnp-lab-slew-rate: The time in us taken by the regulator to change
|
|
voltage value in one step.
|
|
|
|
- qcom,qpnp-lab-init-voltage: The default initial voltage when the bootloader
|
|
does not turn on LAB regulator.
|
|
- qcom,qpnp-lab-init-amoled-voltage: The default output voltage when LAB regulator
|
|
is configured in amoled mode.
|
|
- qcom,qpnp-lab-init-lcd-voltage: The default output voltage when LAB regulator
|
|
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
|
|
LAB regulator. Supported values are 20, 30,
|
|
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 of LAB regulator.
|
|
Supported values are 200, 300, 400 and 500.
|
|
- 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 and 800.
|
|
|
|
LAB subnode optional properties:
|
|
|
|
- qpnp,qpnp-lab-current-sense: If this property is specified, the LAB current
|
|
sense gain will be programmed for LAB regulator.
|
|
Otherwise, LAB current sense gain will be
|
|
default to "1x". A string is used to specify the
|
|
LAB current sense gain. Could be "0.5x" or "1x"
|
|
or "1.5x" or "2x". For e.g. "0.5x" means current
|
|
sense gain is 0.5.
|
|
- qcom,qpnp-lab-ps-enable: A boolean proerty which upon set will enable
|
|
pulse skip mode for LAB regulator. Otherwise,
|
|
it is disabled.
|
|
- qcom,qpnp-lab-full-pull-down: A boolean property which upon set will enable
|
|
the pull down strength of LAB regulator to
|
|
full. Otherwise, the pull down strength is
|
|
configured to half.
|
|
- qcom,qpnp-lab-pull-down-enable: A boolean property which upon set will enable
|
|
the pull down for LAB regulator. Otherwise,
|
|
it is disabled.
|
|
- qcom,qpnp-lab-max-precharge-enable: A boolean property which upon set will
|
|
enable fast precharge. Otherwise, it is
|
|
disabled.
|
|
- qcom,qpnp-lab-ring-suppression-enable: A boolean property which upon set will
|
|
enable ring suppression for LAB
|
|
regulator. Otherwise, it is disabled.
|
|
- qcom,qpnp-lab-limit-max-current-enable: A boolean property which upon set will
|
|
enforce maximum inductor current constraint
|
|
for LAB regulator. Otherwise, there is no
|
|
maximum current constraint.
|
|
- 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.
|
|
|
|
IBB subnode required properties:
|
|
|
|
- reg: Specifies the SPMI address and size for this peripheral.
|
|
- reg-names: Register names. Must be "ibb".
|
|
- regulator-name: A string used to describe the regulator.
|
|
- regulator-min-microvolt: Minimum voltage in microvolts supported by this regulator.
|
|
- regulator-max-microvolt: Maximum voltage in microvolts supported by this regulator.
|
|
|
|
- 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-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-init-voltage: The default initial voltage when the bootloader does
|
|
not turn on IBB regulator.
|
|
- qcom,qpnp-ibb-init-amoled-voltage: The default output voltage when IBB regulator
|
|
is configured in amoled mode.
|
|
- qcom,qpnp-ibb-init-lcd-voltage: The default output voltage when IBB regulator
|
|
is configured in lcd mode.
|
|
|
|
- qcom,qpnp-ibb-discharge-resistor: The discharge resistor in Kilo Ohms which
|
|
controls the soft start time. Supported values
|
|
are 300, 64, 32 and 16.
|
|
- qcom,qpnp-ibb-lab-pwrup-delay: Power up delay (in us) for IBB regulator when
|
|
it is enabled or turned on. Supported values
|
|
are 1000, 2000, 4000 and 8000.
|
|
- qcom,qpnp-ibb-lab-pwrdn-delay: Power down delay (in us) for IBB regulator
|
|
when it is disabled or turned off. Supported
|
|
values are 1000, 2000, 4000 and 8000.
|
|
|
|
- qcom,qpnp-ibb-switching-clock-frequency: The PWM switching clock frequency in
|
|
kHz of IBB regulator. Supported values
|
|
are: 3200, 2740, 2400, 2130, 1920,
|
|
1750, 1600, 1480, 1370, 1280, 1200,
|
|
1130, 1070, 1010, 960, 910.
|
|
- qcom,qpnp-ibb-limit-maximum-current: The maximum inductor current limit in
|
|
mA of IBB regulator. Supported values
|
|
are: 0, 50, 100, 150, 200, 250, 300,
|
|
350, 400, 450, 500, 550, 600, 650, 700,
|
|
750, 800, 850, 900, 950, 1000, 1050,
|
|
1100, 1150, 1200, 1250, 1300, 1350,
|
|
1400, 1450, 1500 and 1550.
|
|
- qcom,qpnp-ibb-debounce-cycle: The debounce cycle of IBB regulator.
|
|
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
|
|
enable discharge for IBB regulator.
|
|
Otherwise, it is kept disabled.
|
|
- qcom,qpnp-ibb-ring-suppression-enable: A boolean property which upon set will
|
|
enable ring suppression for IBB
|
|
regulator. Otherwise, it is disabled.
|
|
- qcom,qpnp-ibb-limit-max-current-enable: A boolean property which upon set will
|
|
enforce maximum inductor current constraint
|
|
for IBB regulator. Otherwise, there is no
|
|
maximum current constraint.
|
|
- qcom,qpnp-ibb-use-default-voltage: A boolean property which upon set will
|
|
use the value specified in
|
|
qcom,qpnp-ibb-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.
|
|
- qcom,output-voltage-one-pulse The expected voltage (in mV) of VDISN signal
|
|
on the first SWIRE pulse. This property
|
|
can be specified only if 'qpnp,swire-control'
|
|
is defined. The minimum and maximum values
|
|
are 1400mV and 7700mV.
|
|
|
|
Example:
|
|
qcom,pmi8994@3 {
|
|
qpnp-labibb-regulator {
|
|
spmi-dev-container;
|
|
compatible = "qcom,qpnp-labibb-regulator";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
qpnp,qpnp-labibb-mode = "lcd";
|
|
|
|
lab_regulator: qcom,lab@de00 {
|
|
reg = <0xde00 0x100>;
|
|
reg-names = "lab";
|
|
regulator-name = "lab_reg";
|
|
|
|
regulator-min-microvolt = <4600000>;
|
|
regulator-max-microvolt = <6000000>;
|
|
|
|
qcom,qpnp-lab-min-voltage = <4600000>;
|
|
qcom,qpnp-lab-step-size = <100000>;
|
|
qcom,qpnp-lab-slew-rate = <5000>;
|
|
qcom,qpnp-lab-use-default-voltage;
|
|
qcom,qpnp-lab-init-voltage = <5500000>;
|
|
qcom,qpnp-lab-init-amoled-voltage = <4600000>;
|
|
qcom,qpnp-lab-init-lcd-voltage = <5500000>;
|
|
|
|
qcom,qpnp-lab-soft-start = <400>;
|
|
|
|
qcom,qpnp-lab-full-pull-down;
|
|
qcom,qpnp-lab-pull-down-enable;
|
|
qcom,qpnp-lab-switching-clock-frequency = <1600>;
|
|
qcom,qpnp-lab-limit-maximum-current = <800>;
|
|
qcom,qpnp-lab-limit-max-current-enable;
|
|
qcom,qpnp-lab-ps-threshold = <40>;
|
|
qcom,qpnp-lab-ps-enable;
|
|
qcom,qpnp-lab-nfet-size = <100>;
|
|
qcom,qpnp-lab-pfet-size = <100>;
|
|
qcom,qpnp-lab-max-precharge-time = <200>;
|
|
};
|
|
|
|
ibb_regulator: qcom,ibb@dc00 {
|
|
reg = <0xdc00 0x100>;
|
|
reg-names = "ibb_reg";
|
|
regulator-name = "ibb_reg";
|
|
|
|
regulator-min-microvolt = <4600000>;
|
|
regulator-max-microvolt = <6000000>;
|
|
|
|
qcom,qpnp-ibb-min-voltage = <1400000>;
|
|
qcom,qpnp-ibb-step-size = <100000>;
|
|
qcom,qpnp-ibb-slew-rate = <2000000>;
|
|
qcom,qpnp-ibb-use-default-voltage;
|
|
qcom,qpnp-ibb-init-voltage = <5500000>;
|
|
qcom,qpnp-ibb-init-amoled-voltage = <4000000>;
|
|
qcom,qpnp-ibb-init-lcd-voltage = <5500000>;
|
|
|
|
qcom,qpnp-ibb-soft-start = <400>;
|
|
|
|
qcom,qpnp-ibb-discharge-resistor = <300>;
|
|
qcom,qpnp-ibb-lab-pwrup-delay = <8000>;
|
|
qcom,qpnp-ibb-lab-pwrdn-delay = <8000>;
|
|
qcom,qpnp-ibb-en-discharge;
|
|
|
|
qcom,qpnp-ibb-full-pull-down;
|
|
qcom,qpnp-ibb-pull-down-enable;
|
|
qcom,qpnp-ibb-switching-clock-frequency = <1480>;
|
|
qcom,qpnp-ibb-limit-maximum-current = <1550>;
|
|
qcom,qpnp-ibb-debounce-cycle = <16>;
|
|
qcom,qpnp-ibb-limit-max-current-enable;
|
|
qcom,qpnp-ibb-ps-enable;
|
|
};
|
|
|
|
};
|
|
};
|