RZ-G/RZG2 arm trusted firmware

From eLinux.org
< RZ-G
Revision as of 15:21, 27 October 2020 by Cbrandt (talk | contribs) (new page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.