This section explains how the boot mode select pins can be customized by the user, by programming the BOOTPIN_CONFIG location in user-configurable DCSM OTP. The location in user DCSM OTP is Z1-OTP-BOOTPIN-CONFIG. When debugging, EMU-BOOTPIN-CONFIG is the emulation equivalent of Z1-OTP-BOOTPIN-CONFIG, and can be programmed to experiment with different boot modes without writing to OTP. The device can be programmed to use 0, 1, 2, or 3 boot mode select pins as needed.
|31–24||Key||Write 0x5A to these 8 bits to tell the boot ROM code that the bits in this register are valid|
|23–16||Boot Mode Select Pin 2 (BMSP2)||See BMPS0 description|
|15–8||Boot Mode Select Pin 1 (BMSP1)||See BMSP0 description|
|7–0||Boot Mode Select Pin 0 (BMSP0)||
Set to the GPIO pin to be used during boot (up to 255).
0x0 = GPIO0; 0x01 = GPIO1 and so on
0xFF is invalid and selects the factory default chosen BMSP0, if all other BMSPs are also set to 0xFF.
If any other BMSPs are not set to 0xFF, then setting a BMSP to 0xFF will disable that particular BMSP.
The following GPIOs cannot be used as a BMSP. If selected for a particular BMSP, the boot ROM automatically selects the factory default GPIO (the factory default for BMSP2 is 0xFF, which disables the BMSP).
|BOOTPIN_CONFIG KEY||BMSP0||BMSP1||BMSP2||REALIZED BOOT MODE|
|!= 0x5A||Don’t Care||Don’t Care||Don’t Care||Boot as defined by the factory default BMSPs (GPIO24, GPIO32)|
|= 0x5A||0xFF||0xFF||0xFF||Boot as defined in the boot table for boot mode 0
(All BMSPs disabled)
|Valid GPIO||0xFF||0xFF||Boot as defined by the value of BMSP0
(BMSP1 and BMSP2 disabled)
|0xFF||Valid GPIO||0xFF||Boot as defined by the value of BMSP1
(BMSP0 and BMSP2 disabled)
|0xFF||0xFF||Valid GPIO||Boot as defined by the value of BMSP2
(BMSP0 and BMSP1 disabled)
|Valid GPIO||Valid GPIO||0xFF||Boot as defined by the values of BMSP0 and BMSP1
|Valid GPIO||0xFF||Valid GPIO||Boot as defined by the values of BMSP0 and BMSP2
|0xFF||Valid GPIO||Valid GPIO||Boot as defined by the values of BMSP1 and BMSP2
|Valid GPIO||Valid GPIO||Valid GPIO||Boot as defined by the values of BMSP0, BMPS1, and BMSP2|