You can read all about how A64 boots and the different firmware parts involved at the http://linux-sunxi.org/Pine64 wiki. Generally A64 boots from it's internal ROM first then checks if there is a boot0 binary at a certain location of the SPI Flash/SDcard/eMMC module, if that is valid, the boot0 binary will initialize DRAM and hand over to u-boot and the ATF, which in turn boot Linux/Android/BSD/....
You can find all the different parts and sourcecode for the Android/Linux images at some community github repos, like
https://github.com/ayufan-pine64
https://github.com/longsleep/build-pine64-image
You can find all the different parts and sourcecode for the Android/Linux images at some community github repos, like
https://github.com/ayufan-pine64
https://github.com/longsleep/build-pine64-image
Code:
A64 boot-> check fel key pressed (yes)--> FEL mode (boot from USB OTG)
\
(no) \
\-------> 1) try to boot from SMHC0 (SD card)
2) try to boot from SMHC2 (eMMC)
3) try to boot from SPI0 (SPI NOR Flash)
4) FEL mode (boot from USB OTG)
Come have a chat in the Pine IRC channel >>