Raspberry Pi 4B - Boot sequence

The boot sequence is described in some detail at raspberrypi.com. Normally this results in “SD Card” boot and the firmware being loaded. The firmware is, as far as I can tell, closed source but some information regarding interfacing is available in a GitHub wiki. An overview going further than the offical site was posted by cleverca22.

The majority of the boot sequence takes place in the firmware running on the GPU. The portion we are interested in is the start of the CPUs. The firmware executes a stub at the ARM reset vector which performs initial and secure monitor setup as well as preparing the GIC-400 and jumping to the kernel loaded at 0x8000 in EL2. It should be possible to specify a custom stub if EL3 is needed.