Selection of boot devices of SP7021

The goal of the document is to describe how to select the boot device of SP7021 (Plus1) platforms.

 

Plus1 uses 5 pins, IV_MX[6], IV_MX[5], … IV_MX[2], to select boot devices. For platforms which support multi boot devices, those pins are probably connected to jumps or switches to set pins level and select boot devices dynamically. Refer to circuit diagram below.

The following table shows all selections and devices SP7021 boots from sequentially.

Note that 1 means HIGH level and 0 means LOW level of digital input to the IV_MX[6..2] pins.

For example, if you set MX[6..2] = 0 1 0 0 1, Plus1 will boot from SPI-NAND device firstly. It will try at most 5 times if there is error happening during booting from SPI-NAND. If all tries fail, Plus1 then switches to boot from SD card device. If booting from SD card device fails also, it then boots from USB devices finally. Plus1 tries to boot from USB 0 device first. If it fails, then it tries to boot from USB 1 device. If both fail, Plus1 stop booting.

Totally, there are 9 available selections in the table. Column ‘C/P’ means booting by C-chip (ARM Cortex A7) or P-chip (ARM A926). Booting devices and sequence of number 0 and number 10 are the same. The difference is number 0 uses P-chip to boot, while number 10 uses C-chip. Number 10 is the only selection which uses C-chip to boot. Note that “UART isp” is currently not supported.

Boot-code in USB devices or SD cards can be the code to boot system (U-Boot/Linux) directly or the code to in-system-program (ISP) for eMMC, SPI-NAND devices.

If you use Plus1 Evaluation Board, there are two DIP switches to set IV_MX[6..1] pins. Refer to circuit diagram below.

“DIP SW-2” should be set to both OFF always. “DIP SW-4” is used to select boot devices. Selection #0, #3, #4, #8, #10, #11, #12, and #15 are supported.

If you use Plus1 Demo Board (V1/V2/V3), there is only a DIP switch to set IV_MX[6..5] pins. IV_MX[4..2] are set to HIGH by hardware. Refer to circuit diagram below.

“DIP SW-2” is used to select boot devices. Only selection #3, #11, and #15 are supported.