# PMIC

Source: [https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html)

The power management integrated circuit (PMIC) is a specialized electronic component
        that manages various power supply requirements within a device.

The PMIC oversees various power supply requirements, including:

- 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 XB\_CFG image. Configuring the
            PMIC XBL DT properties ensure optimal performance and integration. These customizations
            can be performed using a DT framework.

The PMIC DTSI files for the Linux host machine are at
                boot\_images/boot/Settings/Soc/&lt;Chipset&gt;/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 | <ul class="ul" id="pmic-developer-touchpoints__ul_dvl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | The power key is configured to reset or shut down the device when it<br>                                is asserted for a specific duration specified in<br>                                    `s1-ms` and `s2-ms`<br>                                properties.<br><br><br>                            <br>Property to allow the DT setting to take effect. If PM\_FALSE, the<br>                                default hardware settings are programmed. |
| `s2-kpdpwr` | `reset-type`: Select the reset type. | UINT8 | <ul class="ul" id="pmic-developer-touchpoints__ul_evl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_WARM_RESET</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_HARD_RESET</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_SHUTDOWN</code></li><br><br>                            </ul> | <ul class="ul" id="pmic-developer-touchpoints__ul_fvl_vjk_l1c"><br>                                <li class="li">WARM_RESET is used for crash dump collection.</li><br><br>                                <li class="li">HARD_RESET is used for rebooting the device.</li><br><br>                            </ul><ul class="ul" id="pmic-developer-touchpoints__ul_gvl_vjk_l1c"><br>                                <li class="li">SHUTDOWN is used for shutting down the device</li><br><br>                            </ul> |
| `s2-kpdpwr` | `s1-ms`: Assertion time (to be chosen from the<br>                                possible values). | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_hvl_vjk_l1c"><br>                                <li class="li">0</li><br><br>                                <li class="li">32</li><br><br>                                <li class="li">56</li><br><br>                                <li class="li">80</li><br><br>                                <li class="li">128</li><br><br>                                <li class="li">184</li><br><br>                                <li class="li">272</li><br><br>                                <li class="li">408</li><br><br>                                <li class="li">608</li><br><br>                                <li class="li">904</li><br><br>                                <li class="li">1352</li><br><br>                                <li class="li">2048</li><br><br>                                <li class="li">3072</li><br><br>                                <li class="li">4480</li><br><br>                                <li class="li">6720</li><br><br>                                <li class="li">10256</li><br><br>                            </ul> | `KPDPWR_N_RESET_S1_TIMER` in ms. |
| `s2-kpdpwr` | `s2-ms`: Assertion time (to be chosen from the<br>                                possible values). | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_ivl_vjk_l1c"><br>                                <li class="li">0</li><br><br>                                <li class="li">10</li><br><br>                                <li class="li">50</li><br><br>                                <li class="li">100</li><br><br>                                <li class="li">250</li><br><br>                                <li class="li">500</li><br><br>                                <li class="li">1000</li><br><br>                                <li class="li">2000</li><br><br>                            </ul> | `KPDPWR_N_RESET_S2_TIMER` in ms. |
| `s2-kpdpwr-resin` | Enable: Configuration to update the PMIC power and Resin key<br>                                combination. | Boolean | <ul class="ul" id="pmic-developer-touchpoints__ul_jvl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | Both power and Resin key combinations for the duration specified in<br>                                the `s1-ms` and `s2-ms` properties.<br>                                .<br><br><br>                            <br>The property allows the DT setting to take effect. If<br>                                    `PM_FALSE`, the hardware default settings are<br>                                programmed. |
| `s2-kpdpwr-resin` | `reset-type`: Select the reset type. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_kvl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_WARM_RESET</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_HARD_RESET</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_SHUTDOWN</code></li><br><br>                            </ul> | <ul class="ul" id="pmic-developer-touchpoints__ul_lvl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">WARM_RESET</code> is used for crash dump<br>                                    collection.</li><br><br>                                <li class="li"><code class="ph codeph">HARD_RESET</code> is used for rebooting the<br>                                    device.</li><br><br>                                <li class="li"><code class="ph codeph">SHUTDOWN</code> is used for shutting down the<br>                                    device</li><br><br>                            </ul> |
| `s2-kpdpwr-resin` | `s1-ms`: Assertion time value must choose from<br>                                possible values. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_nvl_vjk_l1c"><br>                                <li class="li">0</li><br><br>                                <li class="li">32</li><br><br>                                <li class="li">56</li><br><br>                                <li class="li">80</li><br><br>                                <li class="li">128</li><br><br>                                <li class="li">184</li><br><br>                                <li class="li">272</li><br><br>                                <li class="li">408</li><br><br>                                <li class="li">608</li><br><br>                                <li class="li">904</li><br><br>                                <li class="li">1352</li><br><br>                                <li class="li">2048</li><br><br>                                <li class="li">3072</li><br><br>                                <li class="li">4480</li><br><br>                                <li class="li">6720</li><br><br>                                <li class="li">10256</li><br><br>                            </ul> | `RESIN_AND_KPDPWR_RESET_S1_TIMER` in ms |
| `s2-kpdpwr-resin` | `s2-ms`: Assertion time value must choose from<br>                                possible values. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_ovl_vjk_l1c"><br>                                <li class="li">0</li><br><br>                                <li class="li">10</li><br><br>                                <li class="li">50</li><br><br>                                <li class="li">100</li><br><br>                                <li class="li">250</li><br><br>                                <li class="li">500</li><br><br>                                <li class="li">1000</li><br><br>                                <li class="li">2000</li><br><br>                            </ul> | `RESIN_AND_KPDPWR_RESET_S2_TIMER` in ms |
| `s2-resin` | Enable: PMIC Resin key pin used as volume down key. | Boolean | <ul class="ul" id="pmic-developer-touchpoints__ul_pvl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | The resin key can be configured to reset or shut down the device when<br>                                it is asserted for the duration specified in the<br>                                    `s1-ms` and `s2-ms`.<br><br><br>                            <br>The property allows the DT setting to take effect. If the value is<br>                                    `PM_FALSE`, the hardware default settings are<br>                                programmed. |
| `s2-resin` | `reset-type`: Select the reset type. | UINT8 | <ul class="ul" id="pmic-developer-touchpoints__ul_qvl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_WARM_RESET</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_HARD_RESET</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_SHUTDOWN</code></li><br><br>                            </ul> | <ul class="ul" id="pmic-developer-touchpoints__ul_rvl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">WARM_RESET</code> is used for crash dump<br>                                    collection.</li><br><br>                                <li class="li"><code class="ph codeph">HARD_RESET</code> is used for rebooting the<br>                                    device.</li><br><br>                                <li class="li"><code class="ph codeph">SHUTDOWN</code> is used for shutting down the<br>                                    device.</li><br><br>                            </ul> |
| `s2-resin` | `s1-ms`: Assertion time value must choose from<br>                                possible values. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_tvl_vjk_l1c"><br>                                <li class="li">0</li><br><br>                                <li class="li">32</li><br><br>                                <li class="li">56</li><br><br>                                <li class="li">80</li><br><br>                                <li class="li">128</li><br><br>                                <li class="li">184</li><br><br>                                <li class="li">272</li><br><br>                                <li class="li">408</li><br><br>                                <li class="li">608</li><br><br>                                <li class="li">904</li><br><br>                                <li class="li">1352</li><br><br>                                <li class="li">2048</li><br><br>                                <li class="li">3072</li><br><br>                                <li class="li">4480</li><br><br>                                <li class="li">6720</li><br><br>                                <li class="li">10256</li><br><br>                            </ul> | `RESIN_N_RESET_S1_TIMER` in ms |
| `s2-resin` | `s2-ms`: Assertion time value must choose from<br>                                possible values. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_uvl_vjk_l1c"><br>                                <li class="li">0</li><br><br>                                <li class="li">10</li><br><br>                                <li class="li">50</li><br><br>                                <li class="li">100</li><br><br>                                <li class="li">250</li><br><br>                                <li class="li">500</li><br><br>                                <li class="li">1000</li><br><br>                                <li class="li">2000</li><br><br>                            </ul> | `RESIN_N_RESET_S2_TIMER` in ms |
| `s3-reset` | Enable: Configure the S3 reset. | Boolean | <ul class="ul" id="pmic-developer-touchpoints__ul_vvl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | <ul class="ul" id="pmic-developer-touchpoints__ul_sbh_n3z_s1c"><br>                                <li class="li">If the device is stuck and cannot be restored with S2 reset, S3<br>                                    reset does a fail-safe reset or factory reset.</li><br><br>                                <li class="li">S3 reset is triggered when the key is asserted for the duration<br>                                    specified in the timer value-ms.</li><br><br>                                <li class="li">The property allows the DT setting to take effect. If the value<br>                                    is <code class="ph codeph">PM_FALSE</code>, the default hardware settings are<br>                                    programmed.</li><br><br>                            </ul> |
| `s3-reset` | `s3-src`: Select the reset source. | UINT8 | <ul class="ul" id="pmic-developer-touchpoints__ul_wvl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_PON_RESET_SOURCE_KPDPWR</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_PON_RESET_SOURCE_RESIN</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_PON_RESET_SOURCE_RESIN_AND_KPDPWR</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_PON_RESET_SOURCE_RESIN_OR_KPDPWR</code></li><br><br>                            </ul> | S3 reset source can be the power key or the Resin key, or a<br>                            combination of both. |
| `s3-reset` | `timervalue-ms`: Assertion time value must choose from<br>                                possible values. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_xvl_vjk_l1c"><br>                                <li class="li">0 (Immediate)</li><br><br>                                <li class="li">8</li><br><br>                                <li class="li">16</li><br><br>                                <li class="li">32</li><br><br>                                <li class="li">63</li><br><br>                                <li class="li">125</li><br><br>                                <li class="li">240</li><br><br>                                <li class="li">500</li><br><br>                                <li class="li">1000</li><br><br>                                <li class="li">2000</li><br><br>                                <li class="li">4000</li><br><br>                                <li class="li">8000</li><br><br>                                <li class="li">16000</li><br><br>                                <li class="li">32000</li><br><br>                                <li class="li">64000</li><br><br>                                <li class="li">128000</li><br><br>                            </ul> | `RESET_S3_TIMER_n` in ms |
| uvlo-config | `PMIC_INDEX`: Configure the under voltage lockout<br>                                threshold of various PMICs. | UINT8 | <ul class="ul" id="pmic-developer-touchpoints__ul_yvl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PMIC_A (PMK7325)</code></li><br><br>                                <li class="li"><code class="ph codeph">PMIC_B (PM7325)</code></li><br><br>                                <li class="li"><code class="ph codeph">PMIC_C (PM7350C)</code></li><br><br>                                <li class="li"><code class="ph codeph">PMIC_D (PM7325B)</code></li><br><br>                                <li class="li"><code class="ph codeph">PMIC_E (PMR735A)</code></li><br><br>                                <li class="li"><code class="ph codeph">PMIC_I (PM7250B)</code></li><br><br>                                <li class="li"><code class="ph codeph">PMIC_K (PMG1110)</code></li><br><br>                            </ul> | When the input voltage of PMIC reaches the under voltage lockout<br>                            (UVLO) threshold, the device shuts down abruptly. For each PMIC present<br>                            in the Qualcomm reference device, configure the UVLO threshold. The<br>                                `pmic_index` is used to select the PMIC for which the<br>                            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`<br><br><br>                            <br>`PM_DISABLE` | The property allows the DT setting to take into effect. If `<br>                                PM_ DISABLE`, the hardware default settings are<br>                            programmed. |
| ovlo-config | `PMIC_INDEX`: Configure the over voltage lockout<br>                                threshold of various PMICs. | `PMIC_INDEX` | <ul class="ul" id="pmic-developer-touchpoints__ul_zvl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PMIC_A (PMK7325)</code></li><br><br>                                <li class="li"><code class="ph codeph">PMIC_B (PM7325)</code></li><br><br>                                <li class="li"><code class="ph codeph">PMIC_C (PM7350C)</code></li><br><br>                                <li class="li"><code class="ph codeph">PMIC_D (PM7325B)</code></li><br><br>                                <li class="li"><code class="ph codeph">PMIC_E (PMR735A)</code></li><br><br>                                <li class="li"><code class="ph codeph">PMIC_I (PM7250B)</code></li><br><br>                                <li class="li"><code class="ph codeph">PMIC_K (PMG1110)</code></li><br><br>                            </ul> | When the input voltage of PMIC reaches the over voltage lockout<br>                            (OVLO) threshold, the device shuts down abruptly. For each PMIC present<br>                            in the Qualcomm reference device, configure the OVLO threshold. The<br>                                `pmic_index ` is used to select the PMIC for which<br>                            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` | – | <ul class="ul" id="pmic-developer-touchpoints__ul_awl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_ ENABLE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_ DISABLE</code></li><br><br>                            </ul> | The property allows the DT setting to take into effect. If<br>                                `PM_ DISABLE`, the hardware default settings are<br>                            programmed. |
| Long-pwrkey-dbnc-chk | `dbnc-time-ms`: The power key debounces time to check<br>                                for a valid keypress to boot up the device. | UINT32 | msec | If the power key is not pressed for the configured<br>                                `dbnc-time-ms` duration, the device shuts down in XBL<br>                            or UEFI based on the config `chk-at` during boot<br>                            up. |
| Long-pwrkey-dbnc-chk | `chk-at`: Check for keypress at the XBL or UEFI<br>                                stage. | UINT8 | 0, 1, 2 | <ul class="ul" id="pmic-developer-touchpoints__ul_bwl_vjk_l1c"><br>                                <li class="li">0 = Do not check</li><br><br>                                <li class="li">1 = Check-in XBL Loader stage</li><br><br>                                <li class="li">2 = Check-in XBL core (UEFI)</li><br><br>                            </ul> |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | Verbose: Select PON log level. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_cwl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_EVENT_LOG_LEVEL_MIN</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_EVENT_LOG_LEVEL_VERBOSE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_EVENT_LOG_LEVEL_RAWDATA</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_EVENT_LOG_LEVEL_MAX</code></li><br><br>                            </ul> | PON log indicates the various reasons for device power-on, OFF, and<br>                                faults.<br><ul class="ul" id="pmic-developer-touchpoints__ul_dwl_vjk_l1c"><br>                                <li class="li">Minimal version of PON logs printed in UART logs</li><br><br>                                <li class="li">Verbose PON logs printed in UART logs</li><br><br>                                <li class="li">Verbose PON logs along with raw SDAM register data printed in<br>                                    UART logs</li><br><br>                            </ul> |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_LDO_SET_ENABLE`: Enable the LDO. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_ewl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                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-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_LDO_SET_MODE`: Set the LDO mode. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_iwl_vjk_l1c"><br>                                <li class="li"> 0: Low power </li><br><br>                                <li class="li">1: Bypass </li><br><br>                                <li class="li">3: Normal power mode </li><br><br>                                <li class="li">4: Retention mode</li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_LDO_SET_PD_CTR`: Set the pull down on the LDO. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_jwl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_LDO_SET_PIN_CTRL`: Enable pin control for the<br>                                LDO. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_kwl_vjk_l1c"><br>                                <li class="li">0: HWEN0</li><br><br>                                <li class="li">1: HWEN1</li><br><br>                                <li class="li">2: HWEN2</li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_LDO_SET_OCP_BROADCAST`: Enable LDO OCP broadcast<br>                                so that the device can shut down during OCP. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_lwl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_LDO_SET_AHC`: Enable LDO automatic head room<br>                                control. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_mwl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_LDO_SET_ULS`: Set the upper limit for the LDO<br>                                voltage. | UINT32 | mV | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_SMPS_SET_AHC_HR`: Configure the SMPS AHC reserved<br>                                head room. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_owl_vjk_l1c"><br>                                <li class="li">0x0: 0&nbsp;mV</li><br><br>                                <li class="li">0x1: 8&nbsp;mV</li><br><br>                                <li class="li">0x2: 16&nbsp;mV</li><br><br>                                <li class="li">0x3: 24&nbsp;mV</li><br><br>                                <li class="li">0x4: 32&nbsp;mV (DEFAULT)</li><br><br>                                <li class="li">0x5: 40&nbsp;mV</li><br><br>                                <li class="li">0x6: 48&nbsp;mV</li><br><br>                                <li class="li">0x7: 56&nbsp;mV</li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_SMPS_SET_ENABLE`: Enable the SMPS. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_pwl_vjk_l1c"><br>                                <li class="li">PM_TRUE</li><br><br>                                <li class="li">PM_FALSE</li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                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-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_SMPS_SET_MODE`: Set the SMPS mode. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_rwl_vjk_l1c"><br>                                <li class="li">0: Low power </li><br><br>                                <li class="li">2: Auto mode</li><br><br>                                <li class="li">3: Normal power mode </li><br><br>                                <li class="li">4: Retention mode </li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_SMPS_SET_PD_CTRL`: Set the pull down on the<br>                                SMPS. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_swl_vjk_l1c"><br>                                <li class="li">PM_TRUE</li><br><br>                                <li class="li">PM_FALSE</li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_SMPS_SET_PIN_CTRL`: Enable Pin control for the<br>                                SMPS. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_twl_vjk_l1c"><br>                                <li class="li">0: HWEN0</li><br><br>                                <li class="li">1: HWEN1</li><br><br>                                <li class="li">2: HWEN2</li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_SMPS_SET_OCP_BROADCAST`: Enable SMPS OCP broadcast<br>                                so that the device can shut down during OCP. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_uwl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `T PM_SMPS_SET_AHC`: Enable SMPS automatic head room<br>                                control. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_vwl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_SMPS_SET_ULS`: Set the upper limit to the SMPS<br>                                voltage. | UINT32 | mV | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_GPIO_SET_ENABLE`: Enable GPIO. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_xwl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_GPIO_SET_CFG_MODE`: Configure GPIO mode. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_ywl_vjk_l1c"><br>                                <li class="li">0: <code class="ph codeph">PM_GPIO_DIG_IN</code></li><br><br>                                <li class="li"> 1: <code class="ph codeph">PM_GPIO_DIG_OUT</code></li><br><br>                                <li class="li"> 2: <code class="ph codeph">PM_GPIO_DIG_IN_OUT</code></li><br><br>                                <li class="li"> 3: <code class="ph codeph">PM_GPIO_ANA_PASS_THRU</code></li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_GPIO_SET_OUTPUT_LVL`: Set the GPIO output<br>                                level. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_zwl_vjk_l1c"><br>                                <li class="li">0: Level of pin is low</li><br><br>                                <li class="li">1: Level of pin is high</li><br><br>                                <li class="li">2 - Level of pin is Hi-Z</li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_GPIO_SET_VOLT_SRC`: Select GPIO voltage source as<br>                            1.8 V or 3.6 V. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_axl_vjk_l1c"><br>                                <li class="li">0: <code class="ph codeph">PM_GPIO_VIN0</code></li><br><br>                                <li class="li"> 1: <code class="ph codeph">PM_GPIO_VIN1</code></li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_GPIO_SET_OUT_BUFF_CONFIG`: Select GPIO output<br>                            buffer config. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_bxl_vjk_l1c"><br>                                <li class="li">0: CMOS output. </li><br><br>                                <li class="li">1:Open drain NMOS output</li><br><br>                                <li class="li">2: Open drain PMOS output</li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_GPIO_SET_OUT_SRC_CFG`: Select GPIO output source<br>                            config. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_cxl_vjk_l1c"><br>                                <li class="li">0: Ground</li><br><br>                                <li class="li">1:  Paired GPIO</li><br><br>                                <li class="li"> 2:  Special function 1</li><br><br>                                <li class="li"> 3:  Special function 2</li><br><br>                                <li class="li"> 4: Special function 3</li><br><br>                                <li class="li"> 5: Special function 4</li><br><br>                                <li class="li">6: D-test 1</li><br><br>                                <li class="li"> 7: D-test 2</li><br><br>                                <li class="li"> 8: D-test 3</li><br><br>                                <li class="li"> 9:L D-test 4</li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_GPIO_SET_OUT_DRV_STR`: Select GPIO pin drive<br>                                strength. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_dxl_vjk_l1c"><br>                                <li class="li">0:  Output buffer strength low. </li><br><br>                                <li class="li">1: Output buffer strength medium. </li><br><br>                                <li class="li">2: Output buffer strength high. </li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_GPIO_SET_PULL_SEL`: Select GPIO pull settings. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_exl_vjk_l1c"><br>                                <li class="li">0:&nbsp;30&nbsp;µA constant pulls up</li><br><br>                                <li class="li">1: 1.5&nbsp;µA constant pulls up</li><br><br>                                <li class="li">2:&nbsp;31.5&nbsp;µA constant pulls up</li><br><br>                                <li class="li">3:&nbsp;1.5&nbsp;µA constant pulls up combined with 30&nbsp;µA boost</li><br><br>                                <li class="li">4:&nbsp;10&nbsp;µA constant pull down</li><br><br>                                <li class="li">5: No pull</li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                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-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_CLK_ENABLE`: Enable the clocks such as ln\_bb\_clk,<br>                                rf\_clk. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_gxl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_CLK_DRV_STR`: Select the drive strength of the<br>                                clock. | UINT32 | 0-63 | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_SPMI_CLK_DATA_CFG`: Select the SPMI drive<br>                                strength. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_ixl_vjk_l1c"><br>                                <li class="li">0x0: LOW10PF</li><br><br>                                <li class="li">0x1: MID20PF</li><br><br>                                <li class="li">0x2: HIGH40PF</li><br><br>                                <li class="li">0x3: VERYHIGH50PF</li><br><br>                            </ul> | Configures the LDOs. See [SMPS/LDO/CLK sample code](https://docs.qualcomm.com/doc/80-70014-4/topic/pmic-developer-touchpoints.html#pmic-developer-touchpoints__section_m4y_zkw_51c) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PM_BUSID`: Select SPMI bus. | UINT32 | `PM_BUSID_0` | Must be PM\_BUSID\_0 |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PMIC_Index`: Select the PMIC. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_jxl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PMIC_A (PMK7325)</code></li><br><br>                                <li class="li"><code class="ph codeph">PMIC_B (PM7325)</code></li><br><br>                                <li class="li"><code class="ph codeph">PMIC_C (PM7350C)</code></li><br><br>                                <li class="li"><code class="ph codeph">PMIC_D (PM7325B)</code></li><br><br>                                <li class="li"><code class="ph codeph">PMIC_E (PMR735A)</code></li><br><br>                                <li class="li"><code class="ph codeph">PMIC_I (PM7250B)</code></li><br><br>                                <li class="li"><code class="ph codeph">PMIC_K (PMG1110)</code></li><br><br>                            </ul> | See `/boot_images/boot/Settings/<br>                            Include/pm_defines.h` |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | `PMIC_Peripheral`: Select the LDO, SMPS, clock, GPIO<br>                                number. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_kxl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_LDO_x</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_SMPS_x</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_CLK_x</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_GPIO_x</code></li><br><br>                            </ul> | See:<br><br><br>                            <br>`/boot_images/boot/Settings/Include/ pm_defines.h`<br><br><br>                            <br>`/boot_images/boot/QcomPkg/`<br><br><br>                            <br>Include `/api/pmic/pm/pm_gpio.h `(for GPIO enums) |
| sw-config<br><br><br>                            <br>To modify PMIC software configuration during boot up time for various<br>                                LDOs, SMPSs, Clocks, GPIOs | API parameter argument. | UINT32 | `PM_TRUE`,` PM_FALSE`<br><br><br>                            <br>OR<br><br><br>                            <br>`Integer`<br><br><br>                            <br>OR<br><br><br>                            <br>`Enum` | See `/boot_images/boot/Settings/Include/<br>                                pm_defines.h`<br><br><br>                            <br>`/boot_images/boot/QcomPkg/`<br><br><br>                            <br>Include `/api/pmic/pm/pm_gpio.h` (for GPIO enums) |
| Access (access.dtsi)<br><br><br>                            <br>To modify/enable the write access to PMIC peripheral for different<br>                                subsystems such as AOP, APSS, UEFI, TZ, MSS BUSID: Select SPMI<br>                                bus | `UINT32` | <ul class="ul" id="pmic-developer-touchpoints__ul_n51_bjz_s1c"><br>                                <li class="li">PM_BUSID_0</li><br><br>                                <li class="li">PM_BUSID_1</li><br><br>                            </ul> | <ul class="ul" id="pmic-developer-touchpoints__ul_z51_bjz_s1c"><br>                                <li class="li"><code class="ph codeph">PM_BUSID_0</code> – For SPMI0 bus slave devices</li><br><br>                                <li class="li"><code class="ph codeph">PM_BUSID_1</code> – For SPMI1 bus slave devices</li><br><br>                            </ul> | – |
| Access (access.dtsi)<br><br><br>                            <br>To modify/enable the write access to PMIC peripheral for different<br>                                subsystems such as AOP, APSS, UEFI, TZ, MSS BUSID: Select SPMI<br>                                bus | `SLAVEID`: Select the slave ID. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_nxl_vjk_l1c"><br>                                <li class="li">0: <code class="ph codeph">PMIC_A (PMK7325)</code></li><br><br>                                <li class="li">1: <code class="ph codeph">PMIC_B (PM7325)</code></li><br><br>                                <li class="li">2: <code class="ph codeph">PMIC_C (PM7350C)</code></li><br><br>                                <li class="li">3: <code class="ph codeph">PMIC_D (PM7325B)</code></li><br><br>                                <li class="li">4: <code class="ph codeph">PMIC_E (PMR735A)</code></li><br><br>                                <li class="li">8: <code class="ph codeph">PMIC_I (PM7250B)</code></li><br><br>                                <li class="li">9: <code class="ph codeph">PMIC_I (PM7250B)</code></li><br><br>                            </ul> | – |
| Access (access.dtsi)<br><br><br>                            <br>To modify/enable the write access to PMIC peripheral for different<br>                                subsystems such as AOP, APSS, UEFI, TZ, MSS BUSID: Select SPMI<br>                                bus | `PERIPH (PPID)`: Select the peripheral within<br>                            PMIC. | UINT32 | PMIC Peripheral Register base<br><br><br>                            <br>0x1 to 0xFF | PMIC peripheral register base.<br><br><br>                            <br>Example:<br><ul class="ul" id="pmic-developer-touchpoints__ul_oxl_vjk_l1c"><br>                                <li class="li">For PM7325, GPIO_01 PPID is 0x88</li><br><br>                                <li class="li">For PMK7325, PON_PBS PPID is 0x08</li><br><br>                            </ul> |
| Access (access.dtsi)<br><br><br>                            <br>To modify/enable the write access to PMIC peripheral for different<br>                                subsystems such as AOP, APSS, UEFI, TZ, MSS BUSID: Select SPMI<br>                                bus | `OPERATION`: Add or remove the channel with<br>                                permission. | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_pxl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">APPEND</code></li><br><br>                                <li class="li"><code class="ph codeph">REMOVE</code></li><br><br>                                <li class="li"><code class="ph codeph">APPEND_WITH_IRQ</code></li><br><br>                            </ul> | <ul class="ul" id="pmic-developer-touchpoints__ul_qxl_vjk_l1c"><br>                                <li class="li">APPEND: A channel is added for the PMIC peripheral with the<br>                                    defined DRV having the write permission. The default channel<br>                                    setting is retained.</li><br><br>                                <li class="li">REMOVE: The channel is removed for the PMIC peripheral with the<br>                                    defined DRV.</li><br><br>                                <li class="li">APPEND_WITH_IRQ: A channel is added for the PMIC peripheral with<br>                                    the defined DRV, which overrides the default IRQ owner DRV. In<br>                                    this case, the write access DRV is retained from the default<br>                                        setting.<div class="note note" id="pmic-developer-touchpoints__note_onb_r3n_vcc"><span class="notetitle">Note:</span> There can only be one<br>                                        IRQ DRV owner, but multiple write-access DRVs are allowed.<br>                                    </div><br></li><br><br>                            </ul> |
| 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<br>                                threshold. | UINT32 | 2800 -3300 | dBc threshold in millivolts. XBL allows you to boot to UEFI post the<br>                            event. |
| Charger | `ichg-fs-cfg-enable`: Increase the charge current<br>                                range up to 20 A. | UINT8 | <ul class="ul" id="pmic-developer-touchpoints__ul_rxl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | Flag to check if the full scale charging current setting should be<br>                            applied. |
| Charger | `ichg-fs-cfg-value` | UINT32 | <ul class="ul" id="pmic-developer-touchpoints__ul_sxl_vjk_l1c"><br>                                <li class="li">0: 10&nbsp;A </li><br><br>                                <li class="li">1: 20&nbsp;A </li><br><br>                            </ul> | Supported full-scale charging current - 0: 10 A; 1: 20 A. |
| Charger | `pm-chg-batt-cfg-enable`: Select the battery type as 1<br>                                S or 2 S. | UINT8 | <ul class="ul" id="pmic-developer-touchpoints__ul_txl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | Flag to check if the 1S or 2S battery configuration should be<br>                            applied. |
| Charger | `pm-chg-batt-cfg-is_1s_battery` | UINT8 | <ul class="ul" id="pmic-developer-touchpoints__ul_uxl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | To indicate if a 1S or 2S battery is present. |
| Charger | `dbg-board-id-cfg-min-id-ohms`: Minimum<br>                                    `batt_id` in ohms for debug board detection. | UINT32 | 2000 | Battery less platform with debug board, the<br>                                `batt_id` should be within this min and max range to<br>                            skip the battery charging. |
| Charger | `dbg-board-id-cfg-max-id-ohms`: Maximum<br>                                    `batt_id` in ohms for debug board detection. | UINT32 | 14000 | Battery less platform with debug board, the<br>                                `batt_id` should be within this min and max range to<br>                            skip the battery charging. |
| Charger | `afp-cfg-too-hot-threshold`: Set the AFP threshold<br>                                temperature for a hot temperature. | UINT32 | Temperature in degree C | If the battery temperature crosses any of the AFP thresholds, the<br>                                device shuts down automatically.<br><br><br>                            <br>Example: 75 C |
| Charger | `afp-cfg-too-hot-enable`: Enable/Disable AFP for hot<br>                                temperature threshold config. | UINT8 | <ul class="ul" id="pmic-developer-touchpoints__ul_vxl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | Enable/Disable AFP when the hot temperature threshold is reached.<br><br><br>                            <br>If `PM_FALSE`, the hardware default settings are<br>                                programmed. |
| Charger | `afp-cfg-too-cold-threshold`: AFP threshold temp for<br>                                cold temperatures. | UINT32 | Temperature in degree C | Example: -20 C |
| Charger | `afp-cfg-too-cold-enable`: Enable/Disable AFP for cold<br>                                temperature threshold config | UINT8 | <ul class="ul" id="pmic-developer-touchpoints__ul_wxl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | Enable/Disable AFP when the cold temperature threshold is<br>                                reached.<br><br><br>                            <br>If `PM_FALSE`, the hardware default settings are<br>                                programmed. |
| Charger | `no-batt-cfg-enable`: Enable the battery-less<br>                                configuration. | UINT8 | <ul class="ul" id="pmic-developer-touchpoints__ul_xxl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | If `PM_TRUE`, the device boots up automatically if the<br>                            battery is not detected. |
| Charger | `no-batt-cfg-boot-without-batt`: Continue to boot when<br>                                the battery is not detected. | UINT8 | <ul class="ul" id="pmic-developer-touchpoints__ul_yxl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | If `PM_FALSE`, the device shuts down automatically if<br>                                the battery is not detected. |
| Charger | `no-batt-cfg-icl-value_ma`: Set the input current<br>                                limit for a battery-less platform. | UINT32 | 0 - 5000 | Input current limit value in mA |
| Charger | `float-voltage-cfg-enable`: Configure the maximum<br>                                battery voltage. | UINT8 | <ul class="ul" id="pmic-developer-touchpoints__ul_zxl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | If `PM_FALSE`, the hardware default settings are<br>                            programmed. |
| Charger | `float-voltage-cfg-value-mv` | UINT8 | 0 - 4500 | Maximu battery voltage for charging |
| Charger | `pre-charging-current-cfg-enable`: Configure the<br>                                precharge current. | UINT8 | <ul class="ul" id="pmic-developer-touchpoints__ul_byl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | If `PM_FALSE`, the hardware default settings are<br>                            programmed. |
| Charger | `pre-charging-current-cfg-value-ma` | UINT32 | 0 - 600 | Precharge current in mA when battery voltage is &lt; Vsys\_min <br>Ex:<br>                                3 V |
| Charger | `fast-charging-current-enable`: Configure the<br>                                fast-charge current. | UINT8 | <ul class="ul" id="pmic-developer-touchpoints__ul_cyl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | If PM\_FALSE, the hardware default settings are programmed. |
| Charger | `fast-charging-current-value-ma` | UINT32 | 0 - 10000 | – |
| Charger | `usbin-input-current-enable`: Configure the USB input<br>                            current limit. | UINT8 | <ul class="ul" id="pmic-developer-touchpoints__ul_dyl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | If PM\_FALSE, 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<br>                            cable. | UINT8 | <ul class="ul" id="pmic-developer-touchpoints__ul_eyl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | If PM\_FALSE, the hardware default settings are programmed.<br><br><br>                            <br>By default, the hardware disables the DAM cable charging. |
| Charger | `dam-cable-aicl-enable`: Enable AICL for DAM<br>                                cable. | UINT8 | <ul class="ul" id="pmic-developer-touchpoints__ul_fyl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | If PM\_FALSE, the hardware default settings are programmed.<br><br><br>                            <br>By default, the hardware disables the DAM cable AICL. |
| Charger | slave-charger-present: Indicate the Qualcomm slave charger<br>                                presence. | UINT8 | <ul class="ul" id="pmic-developer-touchpoints__ul_gyl_vjk_l1c"><br>                                <li class="li"><code class="ph codeph">PM_TRUE</code></li><br><br>                                <li class="li"><code class="ph codeph">PM_FALSE</code></li><br><br>                            </ul> | Slave 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

**Parent Topic:** [Interfaces](https://docs.qualcomm.com/doc/80-70014-4/topic/interfaces.html)

Last Published: Feb 02, 2026

[Previous Topic
Boot](https://docs.qualcomm.com/bundle/publicresource/80-70014-4/topics/boot-developer-touchpoints.md) [Next Topic
TLMM](https://docs.qualcomm.com/bundle/publicresource/80-70014-4/topics/tlmm-developer-touchpoints.md)