SPISIMOA
SPISOMIA
SPICLKA
SPIESTEA
DIN
DOUT
CLK
CS
Control
subsystem
Serial SPI
EEPROM
C-Boot ROM Description
647
SPRUHE8E – October 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
ROM Code and Peripheral Booting
6.6.15.5 C-Boot ROM SPI_Boot Mode
The SPI loader expects an SPI-compatible 16-bit or 24-bit addressable serial EEPROM or serial flash
device to be present on the SPI-A pins as indicated in
. The SPI bootloader supports an 8-bit
data stream. It does not support a 16-bit data stream.
Figure 6-20. SPI Loader
The SPI-A loader uses following pins:
•
SPISIMOA on GPIO16
•
SPISOMIA on GPIO17
•
SPICLKA on GPIO18
•
SPISTEA on GPIO19
The SPI boot ROM loader initializes the SPI module to interface to a serial SPI EEPROM or flash. Devices
of this type include, but are not limited to, the Xicor X25320 (4Kx8) and Xicor X25256 (32Kx8) SPI serial
SPI EEPROMs and the Atmel AT25F1024A serial flash.
The SPI boot ROM loader initializes the SPI with the following settings: FIFO enabled, 8-bit character,
internal SPICLK master mode and talk mode, clock phase = 1, polarity = 0, using the slowest baud rate.
If the download is to be performed from an SPI port on another device, then that device must be setup to
operate in the slave mode and mimic a serial SPI EEPROM. Immediately after entering the SPI_Boot
function, the pin functions for the SPI pins are set to primary and the SPI is initialized. The initialization is
done at the slowest speed possible. Once the SPI is initialized and the key value read, you could specify a
change in baud rate or low speed peripheral clock.
Table 6-26. SPI 8-Bit Data Stream
Byte
Contents
1
LSB: AA (KeyValue for memory width = 8-bits)
2
MSB: 08h (KeyValue for memory width = 8-bits)
3
LSB: LOSPCP
4
MSB: SPIBRR
5
LSB: reserved for future use
6
MSB: reserved for future use
...
...
...
Data for this section.
...
17
LSB: reserved for future use
18
MSB: reserved for future use
19
LSB: Upper half (MSW) of Entry point PC[23:16]
20
MSB: Upper half (MSW) of Entry point PC[31:24] (Note: Always 0x00)
21
LSB: Lower half (LSW) of Entry point PC[7:0]
22
MSB: Lower half (LSW) of Entry point PC[15:8]
...
...
....
Data for this section.
...
...
Blocks of data in the format size/destination address/data as shown in the generic
data stream description