Part Number: TPS65981
Hello!
We have designed a custom board with TPS65981 Type-C controller and AT26DF161 16-megabit SPI flash for its firmware. Unfortunately we don't have the Aardvark for flash programming and we use a Tiva-C launchpad to program a binary file to the spi flash. The binary file we get from Application Customization Tool, then program it to the flash at the adress 0x000000h and verify. But after flash programming TPS65981 doesn't boot correctly, the Mode register contains "Boot". We try to observe Spi pins using a logic analyzer and we have found out, that TPS65981 reads correct values of RPTR and AOFF for region 1, then for region 2 and then stop reading from spi.
Below is a sequence of commands between TPS65981 and SPI flash that we observe:
- Flash cmd: 0x05 Answer: 0x1C - Reading status register
- Flash cmd: 0x03 0x00 0x00 0x00 Answer: 0x00 0x20 0x00 0x00 - Reading RPTR for region 1 (0x2000)
- Flash cmd: 0x05 Answer: 0x1C - Reading status register
- Flash cmd: 0x03 0x00 0x0F 0xFC Answer: 0x00 0x00 0x00 0x00 - Reading AOFF for region 1 (0x00, region1 addr = RPTR + AOFF = 0x2000)
- Flash cmd: 0x05 Answer: 0x1C - Reading status register
- Flash cmd: 0x03 0x00 0x00 0x00 Answer: 0x00 0x20 0x00 0x00 - Again reading RPTR for region 1 (0x2000)
- Flash cmd: 0x05 Answer: 0x1C - Reading status register
- Flash cmd: 0x03 0x00 0x10 0x00 Answer: 0x00 0x20 0x00 0x00 - Reading RPTR for region 2 (0x2000)
- Flash cmd: 0x05 Answer: 0x1C - Reading status register
- Flash cmd: 0x03 0x00 0x1F 0xFC Answer: 0x00 0xE0 0x01 0x00 - Reading AOFF for region 2 (0x01E000, region2 addr = RPTR + AOFF = 0x20000)
- Flash cmd: 0x05 Answer: 0x1C - Reading status register
- Flash cmd: 0x03 0x00 0x00 0x00 Answer: 0x00 0x20 0x00 0x00 - Again reading RPTR for region 1 (0x2000)
- TPS65981 stops reading from flash and even doesn't try to load any data from region1 or 2
Please, can someone tell me where the problem is? Is it possible to program spi flash in a correct way without Aardvark?
Regards, Alex
