@marcan I wonder: why so many layers though?
I would expect that you can do BROM -> iB1 -> iB2 -> ST3 from storage (U-Boot).
We managed to do the same thing with ARM64 Chromebooks (although porting drivers for different platforms from Linux is a PITA). It looks something like that:
BootROM -> BL2 (Coreboot) -> BL31 (TF-A) -> Coreboot (drops execution level to EL2) -> DepthCharge -> ELF from storage (U-Boot/LinuxBoot).
I also wonder if you could get NVRAM working. U-Boot supports it in OP-TEE, but no idea if/how apple implemented it.
I would expect that you can do BROM -> iB1 -> iB2 -> ST3 from storage (U-Boot).
We managed to do the same thing with ARM64 Chromebooks (although porting drivers for different platforms from Linux is a PITA). It looks something like that:
BootROM -> BL2 (Coreboot) -> BL31 (TF-A) -> Coreboot (drops execution level to EL2) -> DepthCharge -> ELF from storage (U-Boot/LinuxBoot).
I also wonder if you could get NVRAM working. U-Boot supports it in OP-TEE, but no idea if/how apple implemented it.