Difference between revisions of "MITO 8M SOM/MITO 8M Hardware/Power and Reset/System boot"

From DAVE Developer's Wiki
Jump to: navigation, search
(Created page with "{{subst:System_boot | nome-som=MITO 8M}}")
 
Line 1: Line 1:
 
<section begin=History/>
 
<section begin=History/>
 
{| style="border-collapse:collapse; "
 
{| style="border-collapse:collapse; "
!colspan="4" style="width:100%; text-align:left"; border-bottom:solid 2px #ededed"|History
+
! colspan="4" style="width:100%; text-align:left" ; border-bottom:solid 2px #ededed" |History
 
|-  
 
|-  
!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"|Version
+
! 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" |Version
!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"|Issue Date
+
! 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" |Issue Date
!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:#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"|X.Y.Z
+
| 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" |1.0.0
|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"|Month Year
+
| 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" |Sep 2020
|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"|TBD
+
| 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 release
 
|-
 
|-
|-
 
|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"|[TBD_link X.Y.Z]
 
|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"|Month Year
 
|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"|TBD
 
|-
 
|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"|...
 
|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"|...
 
|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"|...
 
 
|-
 
|-
 
|}
 
|}
Line 31: Line 23:
 
* reads the mode pins to determine the primary boot device
 
* reads the mode pins to determine the primary boot device
 
* once it is satisfied, it executes the boot code
 
* once it is satisfied, it executes the boot code
 
 
 
''TBD: le sezioni di seguito sono valide - come esempio per AXEL Lite - da rivedere per gli altri prodotti ''
 
 
 
 
== Boot options ==
 
== Boot options ==
  
 
Two options are available related to system boot. They are identified by the Boot field of the ordering code as follows:
 
Two options are available related to system boot. They are identified by the Boot field of the ordering code as follows:
* 0: SPI NOR / SD option (SOM code: DXLxxxx0xxR)
+
* 0: eMMC / SD option (SOM code: ???)
* 1: NAND / SD option (SOM code: DXLxxxx1xxR)
+
* 1: NAND / SD option (SOM code: ???)
 
For both options the selection of primary boot device is determined by the BOOT_MODE_SEL signal as described in the following sections. BOOT_MODE_SEL is latched when processor reset is released.
 
For both options the selection of primary boot device is determined by the BOOT_MODE_SEL signal as described in the following sections. BOOT_MODE_SEL is latched when processor reset is released.
  
 
In any case, boot process is managed by on-chip boot ROM code that is described in detail in processor's Reference Manual.
 
In any case, boot process is managed by on-chip boot ROM code that is described in detail in processor's Reference Manual.
  
=== SPI NOR / SD option ===
+
=== eMMC / SD option ===
 
Selection of primary boot device is determined by the BOOT_MODE_SEL signal as follows:
 
Selection of primary boot device is determined by the BOOT_MODE_SEL signal as follows:
 
* BOOT_MODE_SEL = 0
 
* BOOT_MODE_SEL = 0
** primary boot device is SD1
+
** primary boot device is SD2 (USDHC2)
* boot ROM will try to boot a valid image from the SD card first, and then from the SPI NOR. In case no valid image is found, boot ROM shall enable USB serial download mode automatically
+
* boot ROM will try to boot a valid image from the SD card. In case no valid image is found, boot ROM shall enable USB serial download mode automatically
 
* BOOT_MODE_SEL = 1 or floating
 
* BOOT_MODE_SEL = 1 or floating
** primary boot device is SPI NOR flash connected to eCSPI1
+
** primary boot device is eMMC connected to USDHC1
** in case no valid image is found in NOR flash, boot ROM shall enable USB serial download mode automatically
+
** in case no valid image is found on eMMC, boot ROM shall enable USB serial download mode automatically
  
 
=== NAND / SD option ===
 
=== NAND / SD option ===
 
Selection of primary boot device is determined by the BOOT_MODE_SEL signal as follows:
 
Selection of primary boot device is determined by the BOOT_MODE_SEL signal as follows:
 
* BOOT_MODE_SEL = 0
 
* BOOT_MODE_SEL = 0
** primary boot device is SD1
+
** primary boot device is SD2 (USDHC2)
 
** in case no valid image is found in SD card, boot ROM shall enable USB serial download mode automatically  
 
** in case no valid image is found in SD card, boot ROM shall enable USB serial download mode automatically  
 
* BOOT_MODE_SEL = 1 or floating
 
* BOOT_MODE_SEL = 1 or floating
Line 64: Line 50:
 
** in case no valid image is found in NAND flash, boot ROM shall enable USB serial download mode automatically
 
** in case no valid image is found in NAND flash, boot ROM shall enable USB serial download mode automatically
  
===Important note for DualLite/Solo based products (''manufacture mode'' management)===
+
===Important note for ''manufacture mode'' management===
When Dual Lite or Solo processor are used, GPIO_1 and GPIO_4 signals need to be kept high during bootstrap stage in order to prevent the intervention of bootrom's ''manufacture 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). Please note that, in case GPIO_1 signal is used to implement [[Reset_scheme_(AxelLite)#Handling_CPU-initiated_software_reset|software reset circuit]], it is high during bootstrap stage by design.
+
When the internal boot and recover boot (if enabled) failed, the boot goes to the ''SD/MMC manufacture mode'' before the serial download mode.
 +
 
 +
By default, the SD/MMC manufacture mode is enabled. DAVE Embedded Systems do not blow the fuse of the DISABLE_SDMMC_MFG in order to disable it.
 +
 
 +
Boot ROM detect SD/MMC card on USDHC2 port. If a card is inserted, ROM will try to boot from it. SD2_CD_B is used as card detect signal during bootrom's ''manufacture mode''. This signal need to be kept high during bootstrap stage in order to prevent the intervention of bootrom's ''manufacture mode'', if it's not desidered.
 +
 
 +
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).
  
 
----
 
----
  
 
[[Category:MITO 8M]]
 
[[Category:MITO 8M]]

Revision as of 08:13, 29 September 2020

History
Version Issue Date Notes
1.0.0 Sep 2020 First release


System boot[edit | edit source]

The boot process begins at Power On Reset (POR) where the hardware reset logic forces the ARM 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 mode pins to determine the primary boot device
  • once it is satisfied, it executes the boot code

Boot options[edit | edit source]

Two options are available related to system boot. They are identified by the Boot field of the ordering code as follows:

  • 0: eMMC / SD option (SOM code: ???)
  • 1: NAND / SD option (SOM code: ???)

For both options the selection of primary boot device is determined by the BOOT_MODE_SEL signal as described in the following sections. BOOT_MODE_SEL is latched when processor reset is released.

In any case, boot process is managed by on-chip boot ROM code that is described in detail in processor's Reference Manual.

eMMC / SD option[edit | edit source]

Selection of primary boot device is determined by the BOOT_MODE_SEL signal as follows:

  • BOOT_MODE_SEL = 0
    • primary boot device is SD2 (USDHC2)
  • boot ROM will try to boot a valid image from the SD card. In case no valid image is found, boot ROM shall enable USB serial download mode automatically
  • BOOT_MODE_SEL = 1 or floating
    • primary boot device is eMMC connected to USDHC1
    • in case no valid image is found on eMMC, boot ROM shall enable USB serial download mode automatically

NAND / SD option[edit | edit source]

Selection of primary boot device is determined by the BOOT_MODE_SEL signal as follows:

  • BOOT_MODE_SEL = 0
    • primary boot device is SD2 (USDHC2)
    • in case no valid image is found in SD card, boot ROM shall enable USB serial download mode automatically
  • BOOT_MODE_SEL = 1 or floating
    • primary boot device is NAND flash
    • in case no valid image is found in NAND flash, boot ROM shall enable USB serial download mode automatically

Important note for manufacture mode management[edit | edit source]

When the internal boot and recover boot (if enabled) failed, the boot goes to the SD/MMC manufacture mode before the serial download mode.

By default, the SD/MMC manufacture mode is enabled. DAVE Embedded Systems do not blow the fuse of the DISABLE_SDMMC_MFG in order to disable it.

Boot ROM detect SD/MMC card on USDHC2 port. If a card is inserted, ROM will try to boot from it. SD2_CD_B is used as card detect signal during bootrom's manufacture mode. This signal need to be kept high during bootstrap stage in order to prevent the intervention of bootrom's manufacture mode, if it's not desidered.

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).