RZ/G2 ARM Trusted Firmware
Locations for each code section
File containing #defines
If you look in file sa6.c, you will find the #defines for all the flash locations for both SPI boot and eMMC boot.
All eMMC devices contain 3 separate Flash sections: 2 boot partitions and 1 main flash area.
The partitions are selected as part of the eMMC command protocols.
The boot partitions are usually about 4MB each.
By default, the RZ/G2 BSP places the IPL (arm-trusted-firmware) in eMMC boot partition 1 and u-boot in eMMC boot partition 2. However, you can place both the IPL and u-boot in the same partition if you really wanted to (boot partition 1) and leave boot partition 2 blank (or do something else with it).
However it should be noted that the u-boot for the HiHope board is set up to use boot partition 2 for its environment variable area.
Hardware setup code
Since arm-trusted-firmware is the first software to run after RESET, a minimal set of peripherals need to be configured and used.
Some required configurations are as follows:
- PFC: For pin control setting to change from default GPIO pins to peripheral pins
- DBSC4, AXI: For memory DDR setting, and QoS setting
- GPIO, I2C: For controlling PMIC
- SCIF: For output message to debug serial
- WDT: If timeout detection is being used
- CPG: For enabling above modules
- SPI: If the bootloader images are stored in SPI flash
- SDHI, MMC: If the bootloader images are stored in SD card or eMMC.