SLVAFA4 august 2023 TPS650330-Q1
Scalable Automotive 2-MP Camera Module Reference Design With Camera PMIC is used to demonstrate a production programming example with a remote deserializer present on the DS90UB954-Q1 EVM. This imager used in this reference design is the Onsemi® AR0233. This image sensor requires a power sequence that is different from the default TPS65033000-Q1 sequence and does not allow the 1.8 V IO rail to power up first. As this is a dual board design, the AR0233 image board is simply disconnected during the PMIC reprogramming over the back-channel.
With the DS90UB954-Q1 EVM connected and powered, a local PC can run a script to configure the back-channel and execute the program flow from Figure 3-6.
import time
# Set up IDs
UB954 = 0x60
UB953ID = 0x30
UB953 = 0x18
PMICID = 0xC0
PMIC = 0xC0
print "Configuring Back-Channel"
# Set up Port0
board.WriteI2C(UB954, 0x4C, 0x01)
# Set up Back Channel Config (0x58)
board.WriteI2C(UB954,0x58,0x5E)
# Set up SER ID
#board.WriteI2C(UB954,0x5B,UB953ID)
# Set up SER Alias ID
board.WriteI2C(UB954,0x5C,UB953)
# Set up Slave/PMIC ID
board.WriteI2C(UB954,0x5E,PMICID)
# Set up Slave/PMIC Alias ID
board.WriteI2C(UB954,0x66,PMIC)
time.sleep(0.1)
print "Reprogramming PMIC"
# Reprogram PMIC Power Sequence
board.WriteI2C(PMIC,0x02,0xDD) # Unlock control registers
board.WriteI2C(PMIC,0x03,0x16) # Disable Buck3 and LDO
board.WriteI2C(PMIC,0x04,0x1A) # Disable the configuration CRC
board.WriteI2C(PMIC,0x05,0xAA) # Unlock configuration registers
board.WriteI2C(PMIC,0x0F,0x02) # Reprogram power sequence
board.WriteI2C(PMIC,0x10,0x1A)
board.WriteI2C(PMIC,0x13,0x71)
board.WriteI2C(PMIC,0x14,0x42)
board.WriteI2C(PMIC,0x15,0x32)
board.WriteI2C(PMIC,0x16,0x52)
board.WriteI2C(PMIC,0x17,0x23)
board.WriteI2C(PMIC,0x03,0x1F) # Enable Buck3 and LDO
board.WriteI2C(PMIC,0x0E,0x0A) # Reprogram Buck2 power sequence
board.WriteI2C(PMIC,0x11,0x02) # Configure nRSTOUT as global PGOOD
board.WriteI2C(PMIC,0x29,0xAE) # Write new configuration CRC
board.WriteI2C(PMIC,0x04,0x1E) # Enable configuration CRC
board.WriteI2C(PMIC,0x4A,0x2D) # Write registers to EEPROM
time.sleep(1)
print "PMIC Reprogrammed"
Figure 3-6 and Figure 3-5 demonstrate the script execution with the Analog LaunchPad software.
Figure 3-6 and Figure 3-7 show the PMIC power sequence before and after reprogramming.