SLVUCF6 july   2023

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2Requirements
    1. 2.1 Hardware
    2. 2.2 Software
  6. 3TPS65219 Resources Overview
  7. 4EVM Configuration
    1. 4.1 Configuring the USB to I2C Adapter
    2. 4.2 Configuration Headers
    3. 4.3 Test Points
  8. 5NVM Programming
    1. 5.1 TPS65219EVM-SKT default NVM settings
    2. 5.2 NVM programming in Initialize State
    3. 5.3 NVM programming in Initialize State
  9. 6Graphical User Interface (GUI)
    1. 6.1 TPTS65219 EVM Debugging
    2. 6.2 I2C Communication Port and Adapter Debugging
    3. 6.3 Getting Started
      1. 6.3.1 Finding the GUI
      2. 6.3.2 Downloading the Required Software
      3. 6.3.3 Launching the GUI
      4. 6.3.4 Connecting to the EVM
    4. 6.4 Collateral Page
    5. 6.5 Register Map Page
    6. 6.6 NVM Configuration Page
      1. 6.6.1 NVM Fields
      2. 6.6.2 Create / Load a Custom Configuration
    7. 6.7 Sequence Configuration
    8. 6.8 NVM Programming Page
    9. 6.9 Additional Features
  10. 7Schematics, PCB Layouts, and Bill of Materials
    1. 7.1 TPS65219EVM-SKT Schematic
    2. 7.2 TPS65219EVM-SKT PCB Layers
    3. 7.3 TPS65219EVM-RSM Schematic
    4. 7.4 TPS65219EVM-RSM PCB Layers
    5. 7.5 Bill of Materials

NVM programming in Initialize State

NVM programming can be done in Initialize or Active state. The current state can be read from STATE bits (bits 4-3) in POWER_UP_STATUS_REG register. After a valid supply is connected to VSYS, the device goes to Initialize state and loads the default NVM content into the register map. Loading the NVM content takes approximately 2.3ms. Once register map is loaded with the default settings, PMIC is ready for NVM programming. Figure 5-2 shows the steps required to reprogram the NVM in Initialize state while the PMIC rails are OFF. The process starts with enabling the oscillator for I2C communication. This command also disables the rails active discharge. Then, update the NVM register fields and save the new settings into the memory. Several register settings are available to indicate the status of an I2C command. For example, Register field CUST_PROG_DONE (bit 5, address 0x34) indicates the status of the NVM programming after CUST_PROG_CMD is executed. Similarly, register field CUST_NVM_VERIFY_DONE (bit 6, address 0x34) indicates the status (not the result) of the NVM verification after CUST_NVM_VERIFY_CMD is executed.

Note: For in-circuit programming, it is recommended to temporarily disconnect the PMIC rail from the I2C lines while using an external 3.3V to re-program the NVM. Since regulators are disabled in Initialize state, their active discharge is enabled. This active discharge feature can dissipate power from the external 3.3V supply if it is sharing the same voltage node with a PMIC rail. If disconnecting the PMIC rail is not an option, then the EN_OSC_DIY command must be send immediately (within ~10 seconds) after the 3.3V VIO is supplied in Initialize state. Discharge is disabled after the EN_OSC_DIY command is received.
GUID-20230625-SS0I-GQD3-TWR9-J4DNK04P8SHK-low.svg Figure 5-2 NVM Programming steps