SLVUBT8B November   2020  – June 2022 LP8764-Q1 , TPS6594-Q1

 

  1.   Scalable PMIC's GUI User’s Guide
  2.   Trademarks
  3. Introduction
  4. Supported Features
  5. Revisions
  6. Overview
  7. Getting Started
    1. 5.1 Finding the GUI
    2. 5.2 Downloading the Required Software
    3. 5.3 Launching the GUI
    4. 5.4 Connecting to a PMIC
  8. Quick-start Page
    1. 6.1 Device Scan Results
    2. 6.2 Configuration and Monitoring
      1. 6.2.1 System Info
      2. 6.2.2 BUCK
      3. 6.2.3 LDO
      4. 6.2.4 GPIO
      5. 6.2.5 Interrupts
      6. 6.2.6 Miscellaneous Settings
      7. 6.2.7 Advanced
  9. Register Map Page
  10. NVM Configuration Page
    1. 8.1 Creating a Custom Configuration
      1. 8.1.1 Static Configuration
      2. 8.1.2 Pre-Configurable Mission States (PFSM)
        1. 8.1.2.1 Creating a State Diagram
        2. 8.1.2.2 Global Settings
        3. 8.1.2.3 Power Sequence
          1. 8.1.2.3.1 Power Sequence Resources and Commands
          2. 8.1.2.3.2 Sub-sequences
          3. 8.1.2.3.3 Power Sequence Editing Tools
        4. 8.1.2.4 Trigger Settings
        5. 8.1.2.5 Trigger Priority List
        6. 8.1.2.6 PFSM Validation
    2. 8.2 Program
      1. 8.2.1 Program an Existing NVM Configuration
      2. 8.2.2 NVM Configuration Special Use Case: Changing the Communication Interface
      3. 8.2.3 Lock Option During NVM Programming
  11. NVM Validation Page
  12. 10Watchdog Page
  13. 11Additional Resources
  14. 12Appendix A: Troubleshooting
    1. 12.1 Hardware Platform Not Recognized
    2. 12.2 PMIC Device Not Found
    3. 12.3 I2C2 is configured but not connected
  15. 13Appendix B: Advanced Topics
    1. 13.1 Scripting Window
  16. 14Appendix C: Known Limitations
  17. 15Appendix D: Migration Topics
    1. 15.1 Migrating from LP8764-Q1 PG1.0 to PG2.0
    2. 15.2 Update the PFSM to Include the PFSM_START State
    3. 15.3 Update Timing Delays
    4. 15.4 Update Trigger Priority and Settings
  18. 16Revision History
Power Sequence Resources and Commands

This section lists the different commands and resources available. The description is provided with reference to the PMIC instruction set which is described in the device data sheet.

Resources and Commands

Not all commands are available on all devices. Refer to the device data sheet.

  1. BUCKx

    The BUCK resource is an abstraction of the assembly instructions REG_WRITE_VCTRL_IMM and REG_WRITE_VOUT_IMM. Selecting either the VCTRL or the VOUT tab in the update action window will determine which instruction is applied. Within each tab are the various parameters of each instruction.

    BUCKx commands are available for each available BUCK. If BUCKs are multi-phased then the grouping is reflected in the resource name, for example BUCK1_2_3_4, but only the primary BUCK information is shown in the parameter window. In the resulting program, the primary buck will be the only one reflected in the instruction.

  2. BUCKx Monitor

    The BUCK monitors are a special subset of the REG_WRITE_VCTRL_IMM and REG_WRITE_VOUT_IMM instructions. The parameters which are not used for this resource are not selectable. The VIN tab is the same but represents the monitor voltage setting.

  3. VMONx

    Similar to the BUCKx Monitor, the VMONx is a dedicated voltage monitor found on the LP876x-Q1 family of devices. This resource is only available when the GPIO function is configured to the VMONx function. The VMONx is an abstracted REG_WRITE_MASK_IMM to register address 0×2B (VCCA_VMON_CTRL).

  4. LDOx

    Similar to the BUCK and BUCK Monitor Resources, this is an abstraction of the assembly instructions REG_WRITE_VCTRL_IMM and REG_WRITE_VOUT_IMM. Selecting either the VCTRL or the VOUT tab in the update action window will determine which instruction is applied. Within each tab are the parameters of each instruction.

  5. nRSTOUT

    The nRSTOUT command writes or clears the nRSTOUT bit found in the MISC_CTRL register. The command is an abstraction of the REG_WRITE_MASK_IMM assembly instruction to the address 0x81, register MISC_CTRL. The data and mask are determined by the selection of unchanged, high, or low. The use of the unchanged selection has no impact and only serves as a delay of one instruction cycle.

  6. nRSTOUT_SOC

    The nRSTOUT_SOC command writes or clears the nRSTOUT_SOC bit found in the MISC_CTRL register. The command is an abstraction of the REG_WRITE_MASK_IMM assembly instruction to the address 0x81, register MISC_CTRL. The data and mask are determined by the selection of unchanged, high, or low. The use of the unchanged selection has no impact and only serves as a delay of one instruction cycle.

    Note: Both nRSTOUT and nRSTOUT_SOC are found in the MISC_CTRL register. Instead of using two separate commands; nRSTOUT and nRSTOUT_SOC, a single REG_WRITE_MASK_IMM command can be used more efficiently to set and clear both bits.
  7. WAIT

    The wait command provides a conditional branch in the instruction set, similar to an if or while statement. When the timeout is provided, the wait condition is effectively an if statement continuing to the next instruction if the condition is true and jumping to the destination if the condition is false. If the timeout is non-zero, then the PMIC will wait until the condition is true and then execute the next instruction or until the timeout is reached and then jump to the destination. The destination must always be after the wait command because the skip count of the wait instruction is always positive. In version 3.0.0, the timeout value must be achievable with the current PFSM_DELAY_STEP. If the timeout is not achievable the GUI will return an error in the PFSM Validation. Use the PFSM_DELAY_STEP command to update the PFSM_DELAY_STEP.

    Note: Using a timeout is not recommended with multiple devices as the other devices have no information of how long the wait took if the condition was met before the timeout.

  8. JUMP

    The jump command is special implementation of a wait command which has a timeout of 0 and a condition which is always false. The destination must be after the jump command.

  9. RESET_BUCKs

    The RESET_BUCKs command is a direct write to the BUCK_RESET_REG register at address 0×87. In this command the resets are per BUCK and each BUCK must be configured even when the BUCKs are multi-phased. The RESET_BUCKs command is translated into a REG_WRITE_MASK_IMM command to address 0×87 to either clear or set bits 0 through 4, representing BUCKS 1-5.

    CAUTION: The RESET_BUCK command will stop the BUCK switching. This command should only be used in power down sequences.
  10. GO_TO_LP_STANDBY

    The GO_TO_LP_STANDBY command is a direct write of 1 to the LDOINT disable bit found in the LDOINT_CTRL register, address 0×21. LDOINT is a self-clearing bit. The GO_TO_LP_STANDBY command is a translated into a REG_WRITE_MASK_IMM command to address 0×21, with a data value of 0×01 and a mask of 0xFE.

  11. SET_WD_LONGWINDOW

    The SET_WD_LONGWINDOW command is a direct write to the WD_LONGWIN field found in the WD_LONGWIN_CFG register, address 0×405. This field is for programming the duration of the Watchdog Long Window. The SET_WD_LONGWINDOW command is a translated into a REG_WRITE_MASK_IMM command to address 0×405, with a data value range from 0×00 to 0×FF, and a mask of 0×00. A value of 0×00 is approximately 100,ms while a value of 0×FF is approximately 12 minutes.

  12. GO_TO_LONGWIN

    The GO_TO_LONGWIN command is a direct write of 1 to the WD_RETURN_LONGWIN bit found in the WD_MODE_REG register, address 0×406. This command will cause the watchdog to return to the Long-Window after completion of the current watchdog-sequence. The GO_TO_LONGWIN command is a translated into a REG_WRITE_MASK_IMM command to address 0x406, with a data value of 0×01 and a mask of 0xFE.

  13. FIRST_STARTUP_DONE

    The FIRST_STARTUP_DONE command is a direct write of 1 to the FIRST_STARTUP_DONE bit found in the RTC_CTRL_2 register, address 0×C3. The FIRST_STARTUP_DONE command is a translated into a REG_WRITE_MASK_IMM command to address 0×C3, with a data value of 0×80 and a mask of 0×7F.

  14. INCREASE_RECOVERY_COUNT

    The INCREASE_RECOVERY_COUNT command is a direct write of 1 to the INCREASE_RECOVERY_COUNT bit found in the RECOV_CNT_PFSM_INCR, address 0×A5. This bit is self-clearing, so each command increments the recovery counter. The INCREASE_RECOVERY_COUNT command is a translated into a REG_WRITE_MASK_IMM instruction to address 0×A5, with a data value of 0×01 and a mask of 0×FE.

  15. ACTIVATE

    The ACTIVATE command is a composite of several commands associated with a power up sequence. These commands include the following:

    1. REG_WRITE_MASK_IMM to ENABLE_DRV_STAT to clear SPMI_LPM_EN.
    2. REG_WRITE_MASK_IMM to VCCA_VMON_CTRL to either clear or set VCCA_VMON_EN, depending upon the value selected from the ACTIVATE command window.
    3. REG_WRITE_MASK_IMM to MISC_CTRL to either clear or set AMUXOUT_EN/REFOUT_EN and CLKMON_EN, depending upon the value selected from the ACTIVATE command window. Included in this instruction is the clearing of LPM_EN.
  16. DEACTIVATE

    The DEACTIVATE command is a composite of several commands associated with a power down sequence. This command is not recommended for use in multi-PMIC applications. These commands include the following:

    1. REG_WRITE_MASK_IMM to ENABLE_DRV_STAT to set SPMI_LPM_EN.
    2. REG_WRITE_MASK_IMM to VCCA_VMON_CTRL to either clear or set VCCA_VMON_EN, depending upon the value selected from the DEACTIVATE command window.
    3. REG_WRITE_MASK_IMM to MISC_CTRL to either clear or set AMUXOUT_EN/REFOUT_EN, depending upon the value selected from the ACTIVATE command window. Included in this instruction is the setting of LPM_EN.

    The Deactivate command is not recommended for multi-PMIC applications. The control of parameters SPMI_LPM_EN, VCCA_VMON_EN, AMUXOUT_EN/REFOUT_EN, CLKMON_EN, and LPM_EN are abstracted by the ACTIVATE and DEACTIVATE commands. SPMI_LPM_EN sets SPMI in a low power mode which stops SPMI WD (Bus heartbeat). In multi-PMIC applications, the SPMI_LPM_EN must be handled at similar times to prevent SPMI WD failures. Therefore, to mitigate clock variations, setting and clearing of SPMI_LPM_EN must be done early in the sequence of each PMIC.

    The LPM_EN parameter puts the PMIC in a low power mode. The intended use case is for the PFSM to set LPM_EN upon entering a low power consumption state. The end objective is to disable the digital oscillator to reduce power consumption. Refer to the data sheet for functions disabled when LPM_EN is set.

    Table 8-3 SPMI_LPM_EN, FORCE_EN_DRV_LOW, and LPM_EN example assembly instructions
    TO_SAFE TO_STANDBY TO_RETENTION TO_ACTIVE
    SPMI_LPM_EN=1, FORCE_EN_DRV_LOW =1 SPMI_LPM_EN=1, FORCE_EN_DRV_LOW =1 nRSTOUT = 0, nRSTOUT_SOC=0 LPM_EN=0, AMUXOUT_EN = 1, CLKMON_EN = 1
    nRSTOUT = 0, nRSTOUT_SOC=0 nRSTOUT = 0, nRSTOUT_SOC=0 SPMI_LPM_EN=1, FORCE_EN_DRV_LOW =1 SPMI_LPM_EN = 0
    ... ... ... ...
    LPM_EN=1, AMUXOUT_EN = 0, CLKMON_EN = 0 LPM_EN=1, AMUXOUT_EN = 0, CLKMON_EN = 0 LPM_EN=1, AMUXOUT_EN = 0, CLKMON_EN = 0 FORCE_EN_DRV_LOW =0
    nRSTOUT = 1, nRSTOUT_SOC=1

    Note: The EN_DRV, nRSTOUT, and nRSTOUT_SOC pins may not be used in the application but are shown here for completeness. In these examples, VCCA_VMON_EN remains at ‘1.’

    The key requirement for multi-pmic solutions is that the SPMI_LPM_EN should occur first while the LPM_EN should occur last in the sequence. Because the DEACTIVATE command encapsulates both the LPM_EN and the SPMI_LPM_EN in a set of executions placing the DEACTIVATE at the beginning or the end will violate one of the requirements.

  17. ENDRV

    The ENDRV command is a direct write to the FORCE_EN_DRV_LOW bit found in the ENABLE_DRV_STAT register, address 0×82. The ENDRV command is a translated into a REG_WRITE_MASK_IMM command to address 0×82, with a data value of 0×08 or 0×00, and a mask of 0×F7.

  18. DELAY_IMM

    The DELAY_IMM command is a direct representation of the DELAY_IMM instruction. The delay specified in this command is applied to all devices. In version 3.0.0, the GUI will no longer automatically adjust the PFSM_STEP_SIZE if the size of the DELAY_IMM cannot be achieved with the existing PFSM_STEP_SIZE. The user is responsible for managing the PFSM_STEP_SIZE for the desired delays. This also applies to all instructions which have a timing component. In the event that the delay cannot be achieved an error is provided in the PFSM Validation.

    Note: The assembler will optimize DELAY_IMM instructions and combine with the following instruction if that instruction includes a timing parameter.

  19. REG_WRITE_MASK_IMM

    The REG_WRITE_MASK_IMM command is a direct representation of the REG_WRITE_MASK_IMM instruction. The REG_WRITE_MASK_IMM command includes a mask to write or clear specific bits without impacting other bits within the register.

  20. TRIG_MASK

    The TRIG_MASK command is a direct representation of the TRIG_MASK instruction. The trigger mask will determine which interrupts are enabled and disabled. Using the Automatic trigger will set the trigger based upon the trigger settings from the TARGET STATE.

  21. REG_WRITE_IMM

    The REG_WRITE_IMM command is a direct representation of the REG_WRITE_IMM instruction. The REG_WRITE_IMM command overwrites all bits within the register specified.

  22. REG_WRITE_MASK_SREG

    The REG_WRITE_MASK_SREG command is a direct representation of the REG_WRITE_ MASK_SREG instruction. The REG_WRITE_ MASK_SREG command includes a mask to write or clear specific bits without impacting other bits within the register. The data is sourced from the specified scratch register.

  23. SREG_READ_REG

    The SREG_READ_REG command is a direct representation of the SREG_READ_REG instruction. This command copies the contents of the register to the specified scratch register.

  24. SREG_WRITE_IMM

    The SREG_WRITE_IMM command is a direct representation of the SREG_WRITE_IMM instruction.

  25. DELAY_SREG

    The DELAY_SREG command is a direct representation of the DELAY_SREG instruction. This delay is different than the other delays found in the resources and commands. The delay is only applied to the device specified.

  26. PFSM_DELAY_STEP

    The PFSM_DELAY_STEP is a direct representation of the SET_DELAY instruction which writes to the PFSM_DELAY_STEP register.

  27. END

    The END command is direct representation of the END instruction. This can be used to terminate branches created in the PFSM sequence using the JUMP and WAIT commands.