2.9.4 Hardware Considerations
The table below provides clock frequencies configured by the ROM code during boot.
Clock | Frequency | During Boot Sequence | During Monitor Mode | During Bootstrap Execution |
---|---|---|---|---|
SYS_CLK | 378 MHz | ✔ | ✔ | ✔ |
CPU_CLK | 570 MHz | ✔ | ✔ | ✔ |
MCK0 | 190 MHz | ✔ | ✔ | ✔ |
MCK1 | 189 MHz | ✔ | ✔ | ✔ |
MCK5 | 189 MHz | ✔ | ✔ | ✔ |
MCK6 | 189 MHz | ✔ | ✔ | ✔ |
MCK7 | 94.5 MHz | ✔ | ✔ | ✔ |
MCK8 | 94.5 MHz | ✔ | ✔ | ✔ |
MCK9 | 94.5 MHz | ✔ | ✔ | ✔ |
SDMMC (MCK1) (if ROM Code tries to boot on that interface) | 189 MHz | ✔ | ✘ | ✘ |
QSPI (SYS_CLK / 4) (if ROM Code tries to boot on that interface) | 94.5 MHz (baud rate = 32 MHz) | ✔ | ✘ | ✘ |
NAND NFC (MCK5) (if ROM Code tries to boot on that interface) | 189 MHz | ✔ | ✘ | ✘ |
SPI FLEXCOM (MCK7 or MCK8 or MCK9) (if ROM Code tries to boot on that interface) | 94.5 MHz (baud rate = 12 MHz) | ✔ | ✘ | ✘ |
UTMI (USB PLL CLK) (if external crystal supported and ROM Code enters Monitor mode) | 480 MHz | ✘ | ✔ | ✘ |
The default UART used for ROM code console and SAM-BA Monitor UART link is given below:
Index Value in CONSOLE_IOSET[5:0] Bit | Interface |
19 | FLEXCOM6/IOSET4 |
The default can be changed by writing another index in the Boot Configuration Packet (refer to CONSOLE_IOS).
The NVM drivers use several PIOs in Peripheral mode to communicate with external Flash memory devices. Care must be taken when these PIOs are used by the application. The connected devices could be unintentionally driven at boot time, and thus electrical conflicts between the output pins used by the NVM drivers and the connected devices could occur.
The following table contains a list of pins that are driven during the boot program execution. These pins are driven during the boot sequence for a period of less than 1 second if no correct boot program is found. The drive strength of pull-up I/O pins is set to High while the pins are used in Peripheral mode by the ROM code.
Before performing the jump to the application in the internal SRAM, all the PIOs and peripherals used in the boot program are set to their reset state.
Interface | Peripheral | IO Set | Signal | PIO Line | Pull-up Enabled |
---|---|---|---|---|---|
SD Card/e.MMC |
SDMMC0 |
1 | SDMMC0_DAT0 | PIO_PA3A | Y |
SDMMC0_CMD | PIO_PA1A | Y | |||
SDMMC0_CK | PIO_PA0A | – | |||
SDMMC0_RSTN | PIO_PA2A | – | |||
SDMMC0_DAT1 | PIO_PA4A | Y | |||
SDMMC0_DAT2 | PIO_PA9A | Y | |||
SDMMC0_DAT3 | PIO_PA10A | Y | |||
SDMMC0_CD | PIO_PA16B | Y | |||
SDMMC1 |
1 | SDMMC1_DAT0 | PIO_PB24A | Y | |
SDMMC1_DAT1 | PIO_PB25A | Y | |||
SDMMC1_DAT2 | PIO_PB26A | Y | |||
SDMMC1_DAT3 | PIO_PB27A | Y | |||
SDMMC1_RSTN | PIO_PB21A | – | |||
SDMMC1_CMD | PIO_PB22A | Y | |||
SDMMC1_CK | PIO_PB23A | – | |||
SDMMC1_CD | PIO_PB29A | Y | |||
NAND Flash |
HSMC |
1 | NANDOE | PIO_PA12C | – |
NANDWE | PIO_PA0C | – | |||
NANDALE | PIO_PA1C | – | |||
NANDCLE | PIO_PA2C | – | |||
NANDRDY | PIO_PA11C | – | |||
NANDCS |
PIO_PA13C PIO_PB30E | – | |||
NAND WAIT | PIO_PC22E | – | |||
D0–D15 |
PIO_PA3A–PIO_PA10C PIO_PC27E–PIO_PC31E PIO_PD0E PIO_PB28E–PIO_PB29E | Y | |||
2 | NANDOE | PIO_PA12C | – | ||
NANDWE | PIO_PB31E | – | |||
NANDALE | PIO_PA1C | – | |||
NANDCLE | PIO_PA2C | – | |||
NANDRDY | PIO_PA11C | – | |||
NANDCS | PIO_PA13C | – | |||
NAND WAIT | PIO_PC22E | – | |||
D0–D15 |
PIO_PC4E– PIO_PC11E PIO_PC27E–PIO_PC31E PIO_PD0E PIO_PB28E–PIO_PB29E | Y | |||
SPI Flash |
FLEXCOM0 |
1 | FLEXCOM_IO0/MOSI | PIO_PA12B | – |
FLEXCOM_IO1/MISO | PIO_PA13B | Y | |||
FLEXCOM_IO3/NPCS0 | PIO_PA10B | – | |||
FLEXCOM_IO2/SPCK | PIO_PA9B | – | |||
2 | FLEXCOM_IO0/MOSI | PIO_PC7D | – | ||
FLEXCOM_IO1/MISO | PIO_PC6D | Y | |||
FLEXCOM_IO3/NPCS0 | PIO_PC4D | – | |||
FLEXCOM_IO2/SPCK | PIO_PC5D | – | |||
FLEXCOM1 |
1 | FLEXCOM_IO0/MOSI | PIO_PD7B | – | |
FLEXCOM_IO1/MISO | PIO_PD6B | Y | |||
FLEXCOM_IO3/NPCS0 | PIO_PD5B | – | |||
FLEXCOM_IO2/SPCK | PIO_PD4B | – | |||
2 | FLEXCOM_IO0/MOSI | PIO_PC14C | – | ||
FLEXCOM_IO1/MISO | PIO_PC15C | Y | |||
FLEXCOM_IO3/ NPCS0 | PIO_PC17C | – | |||
FLEXCOM_IO2/SPCK | PIO_PC16C | – | |||
3 | FLEXCOM_IO0/MOSI | PIO_PB28C | – | ||
FLEXCOM_IO1/MISO | PIO_PB29C | Y | |||
FLEXCOM_IO3/ NPCS0 | PIO_PB31C | – | |||
FLEXCOM_IO2/SPCK | PIO_PB30C | – | |||
FLEXCOM2 |
1 | FLEXCOM_IO0/MOSI | PIO_PE8B | – | |
FLEXCOM_IO1/MISO | PIO_PE9B | Y | |||
FLEXCOM_IO2/SPCK | PIO_PE4B | – | |||
FLEXCOM_IO3/NPCS0 | PIO_PE5B | – | |||
2 | FLEXCOM_IO0/MOSI | PIO_PB9D | – | ||
FLEXCOM_IO1/MISO | PIO_PB8D | – | |||
FLEXCOM_IO2/SPCK | PIO_PB13D | – | |||
FLEXCOM_IO3/NPCS0 | PIO_PB12D | Y | |||
3 | FLEXCOM_IO0/MOSI | PIO_PA5B | – | ||
FLEXCOM_IO1/MISO | PIO_PA6B | – | |||
FLEXCOM_IO2/SPCK | PIO_PA7B | – | |||
FLEXCOM_IO3/NPCS0 | PIO_PA8B | Y | |||
FLEXCOM3 |
1 | FLEXCOM_IO0/MOSI | PIO_PA0B | – | |
FLEXCOM_IO1/MISO | PIO_PA1B | Y | |||
FLEXCOM_IO3/NPCS0 | PIO_PA3B | – | |||
FLEXCOM_IO2/SPCK | PIO_PA2B | – | |||
2 | FLEXCOM_IO0/MOSI | PIO_PA24B | – | ||
FLEXCOM_IO1/MISO | PIO_PA23B | Y | |||
FLEXCOM_IO3/NPCS0 | PIO_PA21B | – | |||
FLEXCOM_IO2/SPCK | PIO_PA22B | – | |||
3 | FLEXCOM_IO0/MOSI | PIO_PD1D | – | ||
FLEXCOM_IO1/MISO | PIO_PD2D | – | |||
FLEXCOM_IO3/NPCS0 | PIO_PD12E | Y | |||
FLEXCOM_IO2/SPCK | PIO_PD3D | – | |||
SPI Flash |
FLEXCOM4 |
1 | FLEXCOM_IO1/MISO | PIO_PA17A | Y |
FLEXCOM_IO0/MOSI | PIO_PA18A | – | |||
FLEXCOM_IO2/SPCK | PIO_PA16A | – | |||
FLEXCOM_IO3/NPCS0 | PIO_PA15A | – | |||
FLEXCOM5 |
1 | FLEXCOM_IO3/NPCS0 | PIO_PD15B | – | |
FLEXCOM_IO1/MISO | PIO_PD17B | Y | |||
FLEXCOM_IO0/MOSI | PIO_PD16B | – | |||
FLEXCOM_IO2/SPCK | PIO_PD14B | – | |||
2 | FLEXCOM_IO3/NPCS0 | PIO_PE1B | – | ||
FLEXCOM_IO1/MISO | PIO_PE2B | Y | |||
FLEXCOM_IO0/MOSI | PIO_PE3B | – | |||
FLEXCOM_IO2/SPCK | PIO_PE0B | – | |||
FLEXCOM6 |
1 | FLEXCOM_IO1/MISO | PIO_PA29B | Y | |
FLEXCOM_IO0/MOSI | PIO_PA28B | – | |||
FLEXCOM_IO2/SPCK | PIO_PA25B | – | |||
FLEXCOM_IO3/NPCS0 | PIO_PA26B | – | |||
2 | FLEXCOM_IO3/NPCS0 | PIO_PB22B | – | ||
FLEXCOM_IO1/MISO | PIO_PB25B | Y | |||
FLEXCOM_IO0/MOSI | PIO_PB24B | – | |||
FLEXCOM_IO2/SPCK | PIO_PB23B | – | |||
3 | FLEXCOM_IO3/NPCS0 | PIO_PD22B | – | ||
FLEXCOM_IO1/MISO | PIO_PD25B | Y | |||
FLEXCOM_IO0/MOSI | PIO_PD24B | – | |||
FLEXCOM_IO2/SPCK | PIO_PD21B | – | |||
4 | FLEXCOM_IO1/MISO | PIO_PD19B | Y | ||
FLEXCOM_IO0/MOSI | PIO_PD18B | – | |||
FLEXCOM_IO2/SPCK | PIO_PD20B | – | |||
FLEXCOM_IO3/NPCS0 | PIO_PD22B | – | |||
FLEXCOM7 |
1 | FLEXCOM_IO1/MISO | PIO_PD9B | Y | |
FLEXCOM_IO0/MOSI | PIO_PD8B | – | |||
FLEXCOM_IO2/SPCK | PIO_PD10B | – | |||
FLEXCOM_IO3/NPCS0 | PIO_PD11B | – | |||
2 | FLEXCOM_IO3/NPCS0 | PIO_PD30B | – | ||
FLEXCOM_IO1/MISO | PIO_PD28B | Y | |||
FLEXCOM_IO0/MOSI | PIO_PD27B | – | |||
FLEXCOM_IO2/SPCK | PIO_PD29B | – | |||
3 | FLEXCOM_IO3/NPCS0 | PIO_PD7D | – | ||
FLEXCOM_IO1/MISO | PIO_PD4D | Y | |||
FLEXCOM_IO0/MOSI | PIO_PD5D | – | |||
FLEXCOM_IO2/SPCK | PIO_PD6D | – | |||
FLEXCOM8 |
1 | FLEXCOM_IO1/MISO | PIO_PA31B | Y | |
FLEXCOM_IO0/MOSI | PIO_PA30B | – | |||
FLEXCOM_IO2/SPCK | PIO_PB1B | – | |||
FLEXCOM_IO3/NPCS0 | PIO_PB0B | – | |||
2 | FLEXCOM_IO3/NPCS0 | PIO_PC30B | Y | ||
FLEXCOM_IO1/MISO | PIO_PC28B | – | |||
FLEXCOM_IO0/MOSI | PIO_PC27B | – | |||
FLEXCOM_IO2/SPCK | PIO_PC29B | – | |||
FLEXCOM9 |
1 | FLEXCOM_IO1/MISO | PIO_PC9D | – | |
FLEXCOM_IO0/MOSI | PIO_PC8D | – | |||
FLEXCOM_IO2/SPCK | PIO_PC10D | – | |||
FLEXCOM_IO3/NPCS0 | PIO_PC11D | Y | |||
2 | FLEXCOM_IO3/NPCS0 | PIO_PC2C | – | ||
FLEXCOM_IO1/MISO | PIO_PC4C | Y | |||
FLEXCOM_IO0/MOSI | PIO_PC3C | – | |||
FLEXCOM_IO2/SPCK | PIO_PC1C | – | |||
FLEXCOM10 |
1 | FLEXCOM_IO1/MISO | PIO_PB19D | – | |
FLEXCOM_IO0/MOSI | PIO_PB20D | – | |||
FLEXCOM_IO2/SPCK | PIO_PB18D | – | |||
FLEXCOM_IO3/NPCS0 | PIO_PB17D | Y | |||
2 | FLEXCOM_IO3/NPCS0 | PIO_PB4B | – | ||
FLEXCOM_IO1/MISO | PIO_PB7B | Y | |||
FLEXCOM_IO0/MOSI | PIO_PB6B | – | |||
FLEXCOM_IO2/SPCK | PIO_PB3B | – | |||
QSPI NOR Flash |
QSPI0 |
1 | QSCK | PIO_PB13A | – |
QCS | PIO_PB12A | – | |||
QIO0 | PIO_PB11A | Y | |||
QIO1 | PIO_PB10A | Y | |||
QIO2 | PIO_PB9A | Y | |||
QIO3 | PIO_PB8A | Y | |||
QSPI1 |
1 | QSCK | PIO_PB14B | – | |
QCS | PIO_PB20B | – | |||
QIO0 | PIO_PB15B | Y | |||
QIO1 | PIO_PB16B | Y | |||
QIO2 | PIO_PB17B | Y | |||
QIO3 | PIO_PB18B | Y | |||
ROM Code Console and SAM–BA Monitor | FLEXCOM0 | 1 | IO0_TXD | PIO_PA12B | – |
IO1_RXD | PIO_PA13B | Y | |||
2 | IO0_TXD | PIO_PC7D | – | ||
IO1_RXD | PIO_PC6D | Y | |||
FLEXCOM1 | 1 | IO0_TXD | PIO_PD7B | – | |
IO1_RXD | PIO_PD6B | Y | |||
2 | IO0_TXD | PIO_PC14C | – | ||
IO1_RXD | PIO_PC15C | Y | |||
3 | IO0_TXD | PIO_PB28C | – | ||
IO1_RXD | PIO_PB29C | Y | |||
FLEXCOM2 | 1 | IO0_TXD | PIO_PE8B | – | |
IO1_RXD | PIO_PE9B | Y | |||
2 | IO0_TXD | PIO_PB9D | – | ||
IO1_RXD | PIO_PB8D | Y | |||
3 | IO0_TXD | PIO_PA5B | – | ||
IO1_RXD | PIO_PA6B | Y | |||
4 | IO0_TXD | PIO_PB15G | – | ||
IO1_RXD | PIO_PB14G | Y | |||
FLEXCOM3 | 1 | IO0_TXD | PIO_PA0B | – | |
IO1_RXD | PIO_PA1B | Y | |||
2 | IO0_TXD | PIO_PA24B | – | ||
IO1_RXD | PIO_PA23B | Y | |||
3 | IO0_TXD | PIO_PD1D | – | ||
IO1_RXD | PIO_PD2D | Y | |||
4 | IO0_TXD | PIO_PA14C | – | ||
IO1_RXD | PIO_PA15C | Y | |||
FLEXCOM4 | 1 | IO0_TXD | PIO_PA18A | – | |
IO1_RXD | PIO_PA17A | Y | |||
FLEXCOM5 | 1 | IO0_TXD | PIO_PD16B | – | |
IO1_RXD | PIO_PD17B | Y | |||
2 | IO0_TXD | PIO_PE3B | – | ||
IO1_RXD | PIO_PE2B | Y | |||
FLEXCOM6 | 1 | IO0_TXD | PIO_PA28B | – | |
IO1_RXD | PIO_PA29B | Y | |||
2 | IO0_TXD | PIO_PB24B | – | ||
IO1_RXD | PIO_PB25B | Y | |||
3 | IO0_TXD | PIO_PD24B | – | ||
IO1_RXD | PIO_PD25B | Y | |||
4 | IO0_TXD | PIO_PD18B | – | ||
IO1_RXD | PIO_PD19B | Y | |||
FLEXCOM7 | 1 | IO0_TXD | PIO_PD8B | – | |
IO1_RXD | PIO_PD9B | Y | |||
2 | IO0_TXD | PIO_PD27B | – | ||
IO1_RXD | PIO_PD28B | Y | |||
3 | IO0_TXD | PIO_PD5D | – | ||
IO1_RXD | PIO_PD4D | Y | |||
FLEXCOM8 | 1 | IO0_TXD | PIO_PA30B | – | |
IO1_RXD | PIO_PA31B | Y | |||
2 | IO0_TXD | PIO_PC27B | – | ||
IO1_RXD | PIO_PC28B | Y | |||
3 | IO0_TXD | PIO_PB26B | – | ||
IO1_RXD | PIO_PB27B | Y | |||
FLEXCOM9 | 1 | IO0_TXD | PIO_PC8D | – | |
IO1_RXD | PIO_PC9D | Y | |||
2 | IO0_TXD | PIO_PC3C | – | ||
IO1_RXD | PIO_PC4C | Y | |||
FLEXCOM10 | 1 | IO0_TXD | PIO_PB20D | – | |
IO1_RXD | PIO_PB19D | Y | |||
2 | IO0_TXD | PIO_PB6B | – | ||
IO1_RXD | PIO_PB7B | Y |