Open main menu

DAVE Developer's Wiki β

Changes

no edit summary
! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white" |Notes
|-
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |2024/02/dd14
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |First documentation release
|-
|}
<section end="History" />
__FORCETOC__
<section begin="Body" />
This page illustrates the characteristics of the AURA's boot subsystem. Reading of the chapter ''System Boot'' of the ''i.MX 93 Applications Processor Reference Manual'' is highly recommended [[File:TBD1], though. i.MX93 SOC features several options in terms of booting. Such options are detailed in that document.png | center | 400px]]
It is worth remembering that, by default, AURA supports ''Single Boot'' modes (i.e. the Cortex-A55 is the boot core) as detailed in the rest of the document. Other options are available on-demand, however, allowing to implement different configurations. DAVE Embedded Systems' team is available for additional information on this matter. If necessary, please contact [mailto:sales@dave.eu sales@dave.eu].<section end="History" />__FORCETOC__<section begin="Body" />
== System boot ==
The boot process begins at Power On Reset (POR) where the hardware reset logic forces the ARM Cortex-A55 core to begin execution starting from the on-chip boot ROM. The boot ROM:
* determines whether the boot is secure or non-secure
* performs some initialization of the system and clean-ups
* reads the OTP settings
* reads the mode pins to determine the primary boot device
* once it is satisfied, it executes the boot code
=== Boot options ===
The default primary boot device is defined at the factory and identified by the 'Boot Mode fileld ' field of the ordering code as follows:
* 0: SPI NOR / SD option (SOM code: DAUxxx0xxxxR)
* 1: eMMC / SD option (SOM code: DAUxxx1xxxxR)
For both options an alternative primary boot from SD/MMC card is provided, selectable by driving low the BOOT_MODE_SEL signal. Bootable SD/MMC card connects via the SD2 (USDHC2) bus.
All boot modes provide 'single boot' mode, meaning that is the Cortex-A55 ROM loads all containers and imagesis the first core to bootIf primary In any case, boot fail '''TBD''process is managed by on-chip boot ROM code that is described in detail in processor's Reference Manual.
{| class="wikitable"
!Ordering code 'Boot Mode' fileld
!BOOT_MODE_SEL
!Primary boot device
!Secondary boot device (if failed primary)
|-
| rowspan="2" |0
|0
|SD/MMC card on USDHC2
|
|-
|1
|FlexSPI NOR on FLEXSPI1
|
|-
| rowspan="2" |1
|0
|SD/MMC card on USDHC2
|
|-
|1
|eMMC on USDHC1
|
|-
| rowspan="2" |2
|0
|SD/MMC card on USDHC2
|
|-
|1
|FlexSPI NAND on FLEXSPI1
|
|}
=== Note on boot signals ===* BOOT_MODE_SEL is latched when processor reset CPU_PORn is released. Inside the SOM, BOOT_MODE_SEL is pulled-up with 10 kohm* The iMX93x SoC uses some GPIOs to read the boot configuration set on the SOM: for this reason the SOM's ports UART1_TXD, UART2_TXD, SAI1_TXFS and SAI1_TXD0 are floating (high impedance) while CPU_PORn signal is low. 
[[File:AURA-boot-opt.png | 800px]]
=== Note on boot ===
In case no valid image is found in primary boot device, boot ROM shall enable USB serial download mode automatically on USB OTG1.
+TBD
in case no valid image is found in XXXXX, boot ROM shall enable USB serial download mode automatically
===Important note for ''manufacture mode'' management===
When the internal boot and recover boot (if enabled) failed, the boot goes to the SD/MMC manufacture mode before the serial download mode.
Bootstrap stage has to be intended as the time elapsing between the release of hardware reset (CPU_PORn) and the execution of the first instruction of user code (typically this is the reset vector of U-Boot boot loader).
 
== References ==
[1] NXP, i.MX 93 Applications Processor Reference Manual
<section end="Body" />
[[Category:AURA]]
4,650
edits