RZ-G/RZG2 arm trusted firmware

= 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.
 * arm-trusted-firmware/tools/dummy_create/sa6.c

eMMC partitions

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.