M7350/kernel/Documentation/devicetree/bindings/regulator/qpnp-labibb-regulator.txt
2024-09-09 08:57:42 +00:00

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;
};
};
};