SLVAF93A october 2022 – april 2023 LP8764-Q1 , TPS6594-Q1
The TPS6594-Q1 example in Table 11-1 is taken from the Scalable PMIC GUI implementation. In this example, the initial I2C address of the target device is 0x48 and the updated I2C address is 0x28.
Instruction | I2C Address (Page) | Read/Write | Register Address | Data | Description |
---|---|---|---|---|---|
1 | 0x48 (0) | Write | 0xA2 | 0x00 | Reset unlock logic |
2 | 0x48 (0) | Write | 0xA2 | 0x98 | NVM unlock |
3 | 0x48 (0) | Write | 0xA2 | 0xB8 | |
4 | 0x48 (0) | Write | 0xA2 | 0x13 | |
5 | 0x48 (0) | Write | 0xA2 | 0x7D | |
6 | 0x48 (0) | Read | 0xA3 | 0xC0 | Confirm that the NVM was successfully unlocked; bit 6 is set. |
7 | 0x48 (0) | Write | 0xA3 | 0xC1 | Halt the PFSM |
8 | 0x49 (1) | Write | 0x18 | 0x0D | This instruction unlocks the frequency selection so that the BUCK frequency (register 0x8A of page 0) can be changed along with other updates to page 0. This register is set to the appropriate application value when page 1 is updated. |
9 | 0x48 (0) | Write | 0x31 | 0x20 | Update GPIO1, GPIO2, and GPIO3 (LP876x) to the desired final serial interface settings. |
10 | 0x48 (0) | Write | 0x32 | 0x40 | |
11 | 0x48 (0) | Write | 0x33 | 0x10 | |
12 | 0x49 (1) | Write | 0x22 | 0x28 | Update I2C1 address to 0x28. All of the following register accesses are based upon this address. |
13 | 0x29 (1) | Write | 0x23 | 0x12 | Update the I2C2 address to 0x12 |
14 | 0x29 (1) | Write | 0x1A | 0x00 | Update the Serial Interface mode. At this point if the serial interface was changed to SPI or the CRC enabled, then the associated changes must be made before proceeding to the next instruction. |
15 | 0x28 (0) | Write | 0x04-0xD1 | Array | Write content to page 0 register map based upon Table 8-1. Return registers found in Table 9-1 to default values. |
16 | 0x29 (1) | Write | 0x01-0x43 | Array | Write content to page 1 register map based upon Table 8-1 |
17 | 0x12 (4) | Write | 0x05,0x09 | Array | Write contents to page 4 |
18 | 0x28 (0) | Write | 0xA4 | 0x00 | Set PFSM control to sub-page 0 |
19 | 0x2B (3) | Write | 0x00-0xFF | Array | Write content to page 3 sub-page 0 |
20 | 0x28 (0) | Write | 0xA4 | 0x01 | Set PFSM control to sub-page 1 |
21 | 0x2B (3) | Write | 0x00-0xFF | Array | Write content to page 3 sub-page 1 |
22 | 0x28 (0) | Write | 0xA4 | 0x02 | Set PFSM control to sub-page 2 |
23 | 0x2B (3) | Write | 0x00-0xFF | Array | Write content to page 3 sub-page 2 |
24 | 0x28 (0) | Write | 0xA4 | 0x00 | Set PFSM control to sub-page 0 |
25 | 0x28 (0) | Write | 0xF0-0xFB | 0x00 | Clear register CRC content |
26 | 0x28 (0) | Write | 0xEF | 0x02 | Run CRC BIST and update the register CRC values |
27 | 0x28 (0) | Read | 0xFB | Non-zero value | This is a simple check to see if the crc is complete. The check is simply looking to see if the value was updated from 0x00 (cleared in step 24). |
28 | 0x28(0) | Write | 0xF0-0xF3 | Array | Compute the 16-bit User register CRC values and update the REGMAP_USER_INCLUDE_PERSIST_CRC16 and REGMAP_USER_INCLUDE_EXCLUDE_CRC16 registers. |
29 | 0x29 (1) | Write | 0xE1 | 0x00 | Prepare NVM to receive update from register map. If the desire is to lock the EEPROM so that future updates cannot be made, then before the transfer command, write any value other than 0xA5 to address 0x141: Page 1 register address 0x41. |
30 | 0x29 (1) | Write | 0xEF | 0x02 | Start the transfer from the register map to the NVM. |
31 | 0x29 (1) | Read | 0xF3 | 0x04 | Poll bit 1. When bit 1 is cleared, the transfer is complete. Bit 2 can be either '0' or '1'. |
32 | 0x28 (0) | Write | 0xA2 | 0x00 | Reset unlock logic |