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