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.