xref: /rk3399_ARM-atf/docs/plat/intel-agilex.rst (revision d11a6057a475da6a48a639a90b3f69890c252e0c)
12f11d548SHadi AsyrafiIntel Agilex SoCFPGA
22f11d548SHadi Asyrafi========================
32f11d548SHadi Asyrafi
42f11d548SHadi AsyrafiAgilex SoCFPGA is a FPGA with integrated quad-core 64-bit Arm Cortex A53 processor.
52f11d548SHadi Asyrafi
62f11d548SHadi AsyrafiUpon boot, Boot ROM loads bl2 into OCRAM. Bl2 subsequently initializes
72f11d548SHadi Asyrafithe hardware, then loads bl31 and bl33 (UEFI) into DDR and boots to bl33.
82f11d548SHadi Asyrafi
92f11d548SHadi Asyrafi::
102f11d548SHadi Asyrafi
112f11d548SHadi Asyrafi    Boot ROM --> Trusted Firmware-A --> UEFI
122f11d548SHadi Asyrafi
132f11d548SHadi AsyrafiHow to build
142f11d548SHadi Asyrafi------------
152f11d548SHadi Asyrafi
162f11d548SHadi AsyrafiCode Locations
172f11d548SHadi Asyrafi~~~~~~~~~~~~~~
182f11d548SHadi Asyrafi
192f11d548SHadi Asyrafi-  Trusted Firmware-A:
202f11d548SHadi Asyrafi   `link <https://github.com/ARM-software/arm-trusted-firmware>`__
212f11d548SHadi Asyrafi
222f11d548SHadi Asyrafi-  UEFI (to be updated with new upstreamed UEFI):
232f11d548SHadi Asyrafi   `link <https://github.com/altera-opensource/uefi-socfpga>`__
242f11d548SHadi Asyrafi
252f11d548SHadi AsyrafiBuild Procedure
262f11d548SHadi Asyrafi~~~~~~~~~~~~~~~
272f11d548SHadi Asyrafi
282f11d548SHadi Asyrafi-  Fetch all the above 2 repositories into local host.
292f11d548SHadi Asyrafi   Make all the repositories in the same ${BUILD\_PATH}.
302f11d548SHadi Asyrafi
312f11d548SHadi Asyrafi-  Prepare the AARCH64 toolchain.
322f11d548SHadi Asyrafi
332f11d548SHadi Asyrafi-  Build UEFI using Agilex platform as configuration
342f11d548SHadi Asyrafi   This will be updated to use an updated UEFI using the latest EDK2 source
352f11d548SHadi Asyrafi
362f11d548SHadi Asyrafi.. code:: bash
372f11d548SHadi Asyrafi
382f11d548SHadi Asyrafi       make CROSS_COMPILE=aarch64-linux-gnu- device=agx
392f11d548SHadi Asyrafi
402f11d548SHadi Asyrafi-  Build atf providing the previously generated UEFI as the BL33 image
412f11d548SHadi Asyrafi
422f11d548SHadi Asyrafi.. code:: bash
432f11d548SHadi Asyrafi
44*650a435cSMark Dykes       make CROSS_COMPILE=aarch64-linux-gnu- bl2 fip PLAT=agilex
452f11d548SHadi Asyrafi       BL33=PEI.ROM
462f11d548SHadi Asyrafi
472f11d548SHadi AsyrafiInstall Procedure
482f11d548SHadi Asyrafi~~~~~~~~~~~~~~~~~
492f11d548SHadi Asyrafi
502f11d548SHadi Asyrafi- dd fip.bin to a A2 partition on the MMC drive to be booted in Agilex
512f11d548SHadi Asyrafi  board.
522f11d548SHadi Asyrafi
532f11d548SHadi Asyrafi- Generate a SOF containing bl2
542f11d548SHadi Asyrafi
552f11d548SHadi Asyrafi.. code:: bash
562f11d548SHadi Asyrafi
572f11d548SHadi Asyrafi        aarch64-linux-gnu-objcopy -I binary -O ihex --change-addresses 0xffe00000 bl2.bin bl2.hex
582f11d548SHadi Asyrafi        quartus_cpf --bootloader bl2.hex <quartus_generated_sof> <output_sof_with_bl2>
592f11d548SHadi Asyrafi
602f11d548SHadi Asyrafi- Configure SOF to board
612f11d548SHadi Asyrafi
622f11d548SHadi Asyrafi.. code:: bash
632f11d548SHadi Asyrafi
642f11d548SHadi Asyrafi        nios2-configure-sof <output_sof_with_bl2>
652f11d548SHadi Asyrafi
662f11d548SHadi AsyrafiBoot trace
672f11d548SHadi Asyrafi----------
682f11d548SHadi Asyrafi
692f11d548SHadi Asyrafi::
70f1e0f152SPaul Beesley
712f11d548SHadi Asyrafi        INFO:    DDR: DRAM calibration success.
722f11d548SHadi Asyrafi        INFO:    ECC is disabled.
732f11d548SHadi Asyrafi        NOTICE:  BL2: v2.1(debug)
742f11d548SHadi Asyrafi        NOTICE:  BL2: Built
752f11d548SHadi Asyrafi        INFO:    BL2: Doing platform setup
762f11d548SHadi Asyrafi        NOTICE:  BL2: Booting BL31
772f11d548SHadi Asyrafi        INFO:    Entry point address = 0xffe1c000
782f11d548SHadi Asyrafi        INFO:    SPSR = 0x3cd
792f11d548SHadi Asyrafi        NOTICE:  BL31: v2.1(debug)
802f11d548SHadi Asyrafi        NOTICE:  BL31: Built
812f11d548SHadi Asyrafi        INFO:    ARM GICv2 driver initialized
822f11d548SHadi Asyrafi        INFO:    BL31: Initializing runtime services
832f11d548SHadi Asyrafi        WARNING: BL31: cortex_a53
842f11d548SHadi Asyrafi        INFO:    BL31: Preparing for EL3 exit to normal world
852f11d548SHadi Asyrafi        INFO:    Entry point address = 0x50000
862f11d548SHadi Asyrafi        INFO:    SPSR = 0x3c9
87