# Power Management Integrated Circuit (PMIC) The PMIC is a specialized electronic component that manages various power supply requirements within a device. The PMIC oversees power supply requirements, including the following: - Battery management tasks such as charging and gauging. - User interface components such as flash, display, and RGB color space. - System-on-chip (SoC) infrastructure elements such as clocks, analog-to-digital converters (ADC), and power-on (PON) functions. Some PMIC resources can be customized in XBL through the `XBL_CFG` image. Configuring the PMIC XBL DT properties ensures optimal performance and integration. You can perform these customizations using a DT framework. The PMIC DTSI files for the Linux device are at `boot_images/boot/Settings/Soc//Core/PMIC/pm.dtsi, access.dtsi`. The table lists the PMIC DT properties: | Property name | Property description | Data type | Possible values/value range | Device behavior | | --- | --- | --- | --- | --- | |
`s2-kpdpwr` | Enable: PMIC power key pin reset configuration. | Boolean | | The power key is configured to reset or shut down the device when it is asserted for a specific duration specified in `s1-ms` and `s2-ms` properties.


The property allows the DT setting to take effect. For PM\_FALSE, the default hardware settings are programmed. | |
`s2-kpdpwr` | `reset-type`: Select the reset type. | UINT8 | | | |
`s2-kpdpwr` | `s1-ms`: Assertion time (to be chosen from the possible values). | UINT32 | | `KPDPWR_N_RESET_S1_TIMER` in ms. | |
`s2-kpdpwr` | `s2-ms`: Assertion time (to be chosen from the possible values). | UINT32 | | `KPDPWR_N_RESET_S2_TIMER` in ms. | |
`s2-kpdpwr-resin` | Enable: Configuration to update the PMIC power and Resin key combination. | Boolean | | Both power and Resin key combinations for the duration specified in the `s1-ms` and `s2-ms` properties.


The property allows the DT setting to take effect. For `PM_FALSE`, the hardware default settings are programmed. | |
`s2-kpdpwr-resin` | `reset-type`: Select the reset type. | UINT32 | | | |
`s2-kpdpwr-resin` | `s1-ms`: Assertion time value must be chosen from the possible values. | UINT32 | | `RESIN_AND_KPDPWR_RESET_S1_TIMER` in ms. | |
`s2-kpdpwr-resin` | `s2-ms`: Assertion time value must be chosen from the possible values. | UINT32 | | `RESIN_AND_KPDPWR_RESET_S2_TIMER` in ms. | |
`s2-resin` | Enable: PMIC Resin key pin used as volume down key. | Boolean | | The resin key can be configured to reset or shut down the device when it is asserted for the duration specified in the `s1-ms` and `s2-ms`.


The property allows the DT setting to take effect. If the value is `PM_FALSE`, the hardware default settings are programmed. | |
`s2-resin` | `reset-type`: Select the reset type. | UINT8 | | | |
`s2-resin` | `s1-ms`: Assertion time value must be chosen from the possible values. | UINT32 | | `RESIN_N_RESET_S1_TIMER` in ms. | |
`s2-resin` | `s2-ms`: Assertion time value must be chosen from the possible values. | UINT32 | | `RESIN_N_RESET_S2_TIMER` in ms. | |
`s3-reset` | Enable: Configure the S3 reset. | Boolean | | | |
`s3-reset` | `s3-src`: Select the reset source. | UINT8 | | S3 reset source can be the power key or the Resin key, or a combination of both. | |
`s3-reset` | `timervalue-ms`: Assertion time value must be chosen from the possible values. | UINT32 | | `RESET_S3_TIMER_n` in ms. | |
uvlo-config | `PMIC_INDEX`: Configure the under voltage lockout threshold of various PMICs. | UINT8 | | When the input voltage of PMIC reaches the under voltage lockout (UVLO) threshold, the device shuts down abruptly. For each PMIC present in the Qualcomm reference device, configure the UVLO threshold.
The `pmic_index` is used to select the PMIC for which the threshold should be changed. | |
uvlo-config | `uvlo_thresh` | UINT32 | mV | UVLO threshold in millivolts. | |
uvlo-config | `uvlo_hyst` | UINT32 | mV | UVLO hysteresis in millivolts. | |
uvlo-config | `uvlo_enable` | Boolean | `PM_ENABLE`


`PM_DISABLE` | The property allows the DT setting to take effect. For `PM_ DISABLE`, the hardware default settings are programmed. | |
ovlo-config | `PMIC_INDEX`: Configure the over voltage lockout threshold of various PMICs. | `PMIC_INDEX` | | When the input voltage of PMIC reaches the over voltage lockout (OVLO) threshold, the device shuts down abruptly. For each PMIC present in the Qualcomm reference device, configure the OVLO threshold.
The `pmic_index` is used to select the PMIC for which the threshold has to be changed. | |
ovlo-config | `ovlo_thresh` | – | mV | OVLO threshold in millivolts. | |
ovlo-config | `ovlo_hyst` | – | mV | OVLO hysteresis in millivolts. | |
ovlo-config | `ovlo_enable` | – | | The property allows the DT setting to take effect. For `PM_ DISABLE`, the hardware default settings are programmed. | |
Long-pwrkey-dbnc-chk | `dbnc-time-ms`: The power key debounces time to check for a valid keypress to bootup the device. | UINT32 | msec | If the power key is not pressed for the configured `dbnc-time-ms` duration, the device shuts down in XBL or UEFI based on the config `chk-at` during bootup. | |
Long-pwrkey-dbnc-chk | `chk-at`: Check for keypress at the XBL or UEFI stage. | UINT8 | 0, 1, 2 | | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | Verbose: Select PON log level. | UINT32 | | PON log indicates the various reasons for device power-on, off, and faults.



>
>
> | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_LDO_SET_ENABLE`: Enable the LDO. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_LDO_SET_VOLT`: Set LDO for the voltage. | UINT32 | mV |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_LDO_SET_MODE`: Set the LDO mode. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_LDO_SET_PD_CTR`: Set the pull down on the LDO. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_LDO_SET_PIN_CTRL`: Enable pin control for the LDO. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_LDO_SET_OCP_BROADCAST`: Enable LDO OCP broadcast so that the device can shut down during OCP. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_LDO_SET_AHC`: Enable LDO automatic head room control. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_LDO_SET_ULS`: Set the upper limit for the LDO voltage. | UINT32 | mV |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_SMPS_SET_AHC_HR`: Configure the SMPS AHC reserved head room. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_SMPS_SET_ENABLE`: Enable the SMPS. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_SMPS_SET_VOLT`: Set the SMPS for the voltage. | UINT32 | mV |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_SMPS_SET_MODE`: Set the SMPS mode. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_SMPS_SET_PD_CTRL`: Set the pull down on the SMPS. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_SMPS_SET_PIN_CTRL`: Enable pin control for the SMPS. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_SMPS_SET_OCP_BROADCAST`: Enable SMPS OCP broadcast so that the device can shut down during OCP. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_SMPS_SET_AHC`: Enable SMPS automatic head room control. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_SMPS_SET_ULS`: Set the upper limit to the SMPS voltage. | UINT32 | mV |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_GPIO_SET_ENABLE`: Enable GPIO. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_GPIO_SET_CFG_MODE`: Configure GPIO mode. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_GPIO_SET_OUTPUT_LVL`: Set the GPIO output level. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_GPIO_SET_VOLT_SRC`: Select GPIO voltage source as 1.8V or 3.6V. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_GPIO_SET_OUT_BUFF_CONFIG`: Select GPIO output buffer configuration. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_GPIO_SET_OUT_SRC_CFG`: Select GPIO output source configuration. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_GPIO_SET_OUT_DRV_STR`: Select GPIO pin drive strength. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_GPIO_SET_PULL_SEL`: Select GPIO pull settings. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_SET_DELAY`: Add delay between any 2 API calls. | UINT32 | Delay in µS. |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_CLK_ENABLE`: Enable the clocks such as `ln_bb_clk, rf_clk`. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_CLK_DRV_STR`: Select the drive strength of the clock. | UINT32 | 0-63 |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_SPMI_CLK_DATA_CFG`: Select the SPMI drive strength. | UINT32 | |
Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html#section-m4y-zkw-51c). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PM_BUSID`: Select SPMI bus. | UINT32 | `PM_BUSID_0` | Must be PM\_BUSID\_0. | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PMIC_Index`: Select the PMIC. | UINT32 | | See `/boot_images/boot/Settings/ Include/pm_defines.h`. | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | `PMIC_Peripheral`: Select the LDO, SMPS, clock, GPIO number. | UINT32 | | See


`/boot_images/boot/Settings/Include/ pm_defines.h` and `/boot_images/boot/QcomPkg/`.


Include `/api/pmic/pm/pm_gpio.h` (for GPIO enums). | |
sw-config


To modify PMIC software configuration during bootup time for various LDOs, SMPSs, Clocks, GPIOs | API parameter argument. | UINT32 | `PM_TRUE`, `PM_FALSE`


OR


`Integer`


OR


`Enum` | See `/boot_images/boot/Settings/Include/ pm_defines.h`


`/boot_images/boot/QcomPkg/`


Include `/api/pmic/pm/pm_gpio.h` (for GPIO enums). | |
Access (access.dtsi)


To modify/enable the write access to PMIC peripheral for different subsystems such as AOP, APSS, UEFI, TZ, MSS BUSID: Select SPMI bus. | `UINT32` | | | – | |
Access (access.dtsi)


To modify/enable the write access to PMIC peripheral for different subsystems such as AOP, APSS, UEFI, TZ, MSS BUSID: Select SPMI bus. | `SecondaryID`: Select the secondary ID. | UINT32 | | – | |
Access (access.dtsi)


To modify/enable the write access to PMIC peripheral for different subsystems such as AOP, APSS, UEFI, TZ, MSS BUSID: Select SPMI bus. | `PERIPH (PPID)`: Select the peripheral within PMIC. | UINT32 | PMIC Peripheral Register base.


0x1 to 0xFF | PMIC peripheral register base.


Example:



>
>
> | |
Access (access.dtsi)


To modify/enable the write access to PMIC peripheral for different subsystems such as AOP, APSS, UEFI, TZ, MSS BUSID: Select SPMI bus. | `OPERATION`: Add or remove the channel with permission. | UINT32 | |


>
>
> Note
>
>
> There can only be one IRQ DRV owner, while multiple write-access DRVs are allowed. | |
Charger | pmic-index-charger: Select the charger PMIC index. | UINT32 | `PMIC_D` or `PMIC_I` | Index of the primary charger PMIC. | |
Charger | `Dead-battery-threshold`: Set the dead battery threshold. | UINT32 | 2800 - 3300 | Dead battery threshold in millivolts. XBL allows you to boot to UEFI post the event. | |
Charger | `ichg-fs-cfg-enable`: Increase the charge current range up to 20 A. | UINT8 | | Flag to check if the full scale charging current setting should be applied. | |
Charger | `ichg-fs-cfg-value` | UINT32 | | Supported full-scale charging current - 0: 10 A; 1: 20 A. | |
Charger | `pm-chg-batt-cfg-enable`: Select the battery type as 1S or 2S. | UINT8 | | Flag to check if the 1S or 2S battery configuration should be applied. | |
Charger | `pm-chg-batt-cfg-is_1s_battery` | UINT8 | | To indicate if a 1S or 2S battery is present. | |
Charger | `dbg-board-id-cfg-min-id-ohms`: Minimum `batt_id` in ohms for debug board detection. | UINT32 | 2000 |
Battery less platform with debug board, the `batt_id` should be within this min and max range to skip the battery charging. | |
Charger | `dbg-board-id-cfg-max-id-ohms`: Maximum `batt_id` in ohms for debug board detection. | UINT32 | 14000 |
Battery less platform with debug board, the `batt_id` should be within this min and max range to skip the battery charging. | |
Charger | `afp-cfg-too-hot-threshold`: Set the AFP threshold temperature for a hot temperature. | UINT32 | Temperature in degree C. | If the battery temperature crosses any of the AFP thresholds, the device shuts down automatically.


For example, 75 C. | |
Charger | `afp-cfg-too-hot-enable`: Enable/Disable AFP for hot temperature threshold config. | UINT8 | | Enable/Disable AFP when the hot temperature threshold is reached.


For `PM_FALSE`, the hardware default settings are programmed. | |
Charger | `afp-cfg-too-cold-threshold`: AFP threshold temp for cold temperatures. | UINT32 | Temperature in degree C | For example, -20 C | |
Charger | `afp-cfg-too-cold-enable`: Enable/Disable AFP for cold temperature threshold config. | UINT8 | | | |
Charger | `no-batt-cfg-enable`: Enable the battery-less configuration. | UINT8 | | For `PM_TRUE` value, the device boots up automatically if the battery is not detected. | |
Charger | `no-batt-cfg-boot-without-batt`: Continue to boot when the battery is not detected. | UINT8 | | For `PM_FALSE` value, the device shuts down automatically if the battery is not detected. | |
Charger | `no-batt-cfg-icl-value_ma`: Set the input current limit for a battery-less platform. | UINT32 | 0-5000 | Input current limit value in mA. | |
Charger | `float-voltage-cfg-enable`: Configure the maximum battery voltage. | UINT8 | | For `PM_FALSE` value, the hardware default settings are programmed. | |
Charger | `float-voltage-cfg-value-mv` | UINT8 | 0-4500 | Maximum battery voltage for charging. | |
Charger | `pre-charging-current-cfg-enable`: Configure the precharge current. | UINT8 | | For `PM_FALSE` value, the hardware default settings are programmed. | |
Charger | `pre-charging-current-cfg-value-ma` | UINT32 | 0 - 600 | Precharge current in mA when battery voltage is < Vsys\_min.


For example, 3 V. | |
Charger | `fast-charging-current-enable`: Configure the fast-charge current. | UINT8 | | For `PM_FALSE` value, the hardware default settings are programmed. | |
Charger | `fast-charging-current-value-ma` | UINT32 | 0 - 10000 | Present value for fast charge. | |
Charger | `usbin-input-current-enable`: Configure the USB input current limit. | UINT8 | | For `PM_FALSE` value, the hardware default settings are programmed. | |
Charger | `usbin-input-current-value-ma` | UINT32 | 0 - 5000 | USB input current configuration. | |
Charger | `dam-cable-chg-enable`: Enable charging for DAM cable. | UINT8 | | For `PM_FALSE` value, the hardware default settings are programmed.


By default, the hardware disables the DAM cable charging. | |
Charger | `dam-cable-aicl-enable`: Enable AICL for DAM cable. | UINT8 | | For `PM_FALSE` value, the hardware default settings are programmed.


By default, the hardware disables the DAM cable AICL. | |
Charger | Secondary-charger-present: Indicate the Qualcomm secondary charger presence. | UINT8 | | Secondary charger settings. | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ## SMPS/LDO/CLK sample code driver-post-init = < // PM_SMPS_SET_AHC_HR PM_BUSID_0 PMIC_C PM_SMPS_1 0x57 // PM_SMPS_SET_ULS PM_BUSID_0 PMIC_F PM_SMPS_6 1375000 /*The Voltage is in microVolts*/ // PM_LDO_SET_ULS PM_BUSID_0 PMIC_F PM_SMPS_6 1375000 /*The Voltage is in microVolts*/ // PM_CLK_ENABLE PM_BUSID_0 PMIC_A PM_CLK_RF_1 PM_TRUE // PM_SMPS_SET_VOLT PM_BUSID_0 PMIC_B PM_SMPS_1 1200 // PM_SMPS_SET_AHC PM_BUSID_0 PMIC_B PM_SMPS_1 PM_FALSE // PM_LDO_SET_AHC PM_BUSID_0 PMIC_B PM_LDO_1 PM_FALSE // PM_LDO_SET_VOLT PM_BUSID_0 PMIC_B PM_LDO_1 1200 // PM_LDO_SET_MODE PM_BUSID_0 PMIC_B PM_LDO_1 PM_SW_MODE_NPM // PM_SMPS_SET_MODE PM_BUSID_0 PMIC_B PM_SMPS_1 PM_SW_MODE_NPM // PM_SMPS_SET_PD_CTRL PM_BUSID_0 PMIC_B PM_SMPS_1 PM_TRUE // PM_SMPS_SET_PIN_CTRL PM_BUSID_0 PMIC_B PM_SMPS_1 PM_TRUE // PM_SMPS_SET_OCP_BROADCAST PM_BUSID_0 PMIC_B PM_SMPS_1 PM_TRUE // PM_LDO_SET_PD_CTRL PM_BUSID_0 PMIC_B PM_LDO_1 PM_TRUE // PM_LDO_SET_PIN_CTRL PM_BUSID_0 PMIC_B PM_LDO_1 PM_TRUE // PM_LDO_SET_OCP_BROADCAST PM_BUSID_0 PMIC_B PM_LDO_1 PM_TRUE // PM_CLK_DRV_STR PM_BUSID_0 PMIC_A PM_CLK_RF_1 3 // PM_SMPS_SET_ENABLE PM_BUSID_0 PMIC_B PM_SMPS_1 PM_TRUE // PM_LDO_SET_ENABLE PM_BUSID_0 PMIC_B PM_LDO_1 PM_TRUE // PM_SPMI_CLK_DATA_CFG PM_BUSID_0 PMIC_A 0x2 0x2 /*BUS_ID, PMIC_ID, CLK buff Config, DATA buff Config*/ PM_DELAY(10) > ; Copy to clipboard Last Published: Jul 20, 2026 [Previous Topic Boot Devicetree](https://docs.qualcomm.com/bundle/publicresource/80-70030-4/topics/boot-developer-touchpoints.md) [Next Topic GPIO functions - Top-level mode multiplexer (TLMM)](https://docs.qualcomm.com/bundle/publicresource/80-70030-4/topics/tlmm-developer-touchpoints.md) Source: [https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html](https://docs.qualcomm.com/doc/80-70030-4/topic/pmic-developer-touchpoints.html)