xref: /rk3399_ARM-atf/docs/plat/intel-agilex.rst (revision 2f11d548f29ecf318059a5531b11f3f7aa61aa26)
1*2f11d548SHadi AsyrafiIntel Agilex SoCFPGA
2*2f11d548SHadi Asyrafi========================
3*2f11d548SHadi Asyrafi
4*2f11d548SHadi AsyrafiAgilex SoCFPGA is a FPGA with integrated quad-core 64-bit Arm Cortex A53 processor.
5*2f11d548SHadi Asyrafi
6*2f11d548SHadi AsyrafiUpon boot, Boot ROM loads bl2 into OCRAM. Bl2 subsequently initializes
7*2f11d548SHadi Asyrafithe hardware, then loads bl31 and bl33 (UEFI) into DDR and boots to bl33.
8*2f11d548SHadi Asyrafi
9*2f11d548SHadi Asyrafi::
10*2f11d548SHadi Asyrafi
11*2f11d548SHadi Asyrafi    Boot ROM --> Trusted Firmware-A --> UEFI
12*2f11d548SHadi Asyrafi
13*2f11d548SHadi AsyrafiHow to build
14*2f11d548SHadi Asyrafi------------
15*2f11d548SHadi Asyrafi
16*2f11d548SHadi AsyrafiCode Locations
17*2f11d548SHadi Asyrafi~~~~~~~~~~~~~~
18*2f11d548SHadi Asyrafi
19*2f11d548SHadi Asyrafi-  Trusted Firmware-A:
20*2f11d548SHadi Asyrafi   `link <https://github.com/ARM-software/arm-trusted-firmware>`__
21*2f11d548SHadi Asyrafi
22*2f11d548SHadi Asyrafi-  UEFI (to be updated with new upstreamed UEFI):
23*2f11d548SHadi Asyrafi   `link <https://github.com/altera-opensource/uefi-socfpga>`__
24*2f11d548SHadi Asyrafi
25*2f11d548SHadi AsyrafiBuild Procedure
26*2f11d548SHadi Asyrafi~~~~~~~~~~~~~~~
27*2f11d548SHadi Asyrafi
28*2f11d548SHadi Asyrafi-  Fetch all the above 2 repositories into local host.
29*2f11d548SHadi Asyrafi   Make all the repositories in the same ${BUILD\_PATH}.
30*2f11d548SHadi Asyrafi
31*2f11d548SHadi Asyrafi-  Prepare the AARCH64 toolchain.
32*2f11d548SHadi Asyrafi
33*2f11d548SHadi Asyrafi-  Build UEFI using Agilex platform as configuration
34*2f11d548SHadi Asyrafi   This will be updated to use an updated UEFI using the latest EDK2 source
35*2f11d548SHadi Asyrafi
36*2f11d548SHadi Asyrafi.. code:: bash
37*2f11d548SHadi Asyrafi
38*2f11d548SHadi Asyrafi       make CROSS_COMPILE=aarch64-linux-gnu- device=agx
39*2f11d548SHadi Asyrafi
40*2f11d548SHadi Asyrafi-  Build atf providing the previously generated UEFI as the BL33 image
41*2f11d548SHadi Asyrafi
42*2f11d548SHadi Asyrafi.. code:: bash
43*2f11d548SHadi Asyrafi
44*2f11d548SHadi Asyrafi       make CROSS_COMPILE=aarch64-linux-gnu- bl2 fip PLAT=agilex
45*2f11d548SHadi Asyrafi       BL33=PEI.ROM
46*2f11d548SHadi Asyrafi
47*2f11d548SHadi AsyrafiInstall Procedure
48*2f11d548SHadi Asyrafi~~~~~~~~~~~~~~~~~
49*2f11d548SHadi Asyrafi
50*2f11d548SHadi Asyrafi- dd fip.bin to a A2 partition on the MMC drive to be booted in Agilex
51*2f11d548SHadi Asyrafi  board.
52*2f11d548SHadi Asyrafi
53*2f11d548SHadi Asyrafi- Generate a SOF containing bl2
54*2f11d548SHadi Asyrafi
55*2f11d548SHadi Asyrafi.. code:: bash
56*2f11d548SHadi Asyrafi
57*2f11d548SHadi Asyrafi        aarch64-linux-gnu-objcopy -I binary -O ihex --change-addresses 0xffe00000 bl2.bin bl2.hex
58*2f11d548SHadi Asyrafi        quartus_cpf --bootloader bl2.hex <quartus_generated_sof> <output_sof_with_bl2>
59*2f11d548SHadi Asyrafi
60*2f11d548SHadi Asyrafi- Configure SOF to board
61*2f11d548SHadi Asyrafi
62*2f11d548SHadi Asyrafi.. code:: bash
63*2f11d548SHadi Asyrafi
64*2f11d548SHadi Asyrafi        nios2-configure-sof <output_sof_with_bl2>
65*2f11d548SHadi Asyrafi
66*2f11d548SHadi AsyrafiBoot trace
67*2f11d548SHadi Asyrafi----------
68*2f11d548SHadi Asyrafi
69*2f11d548SHadi Asyrafi::
70*2f11d548SHadi Asyrafi        INFO:    DDR: DRAM calibration success.
71*2f11d548SHadi Asyrafi        INFO:    ECC is disabled.
72*2f11d548SHadi Asyrafi        NOTICE:  BL2: v2.1(debug)
73*2f11d548SHadi Asyrafi        NOTICE:  BL2: Built
74*2f11d548SHadi Asyrafi        INFO:    BL2: Doing platform setup
75*2f11d548SHadi Asyrafi        NOTICE:  BL2: Booting BL31
76*2f11d548SHadi Asyrafi        INFO:    Entry point address = 0xffe1c000
77*2f11d548SHadi Asyrafi        INFO:    SPSR = 0x3cd
78*2f11d548SHadi Asyrafi        NOTICE:  BL31: v2.1(debug)
79*2f11d548SHadi Asyrafi        NOTICE:  BL31: Built
80*2f11d548SHadi Asyrafi        INFO:    ARM GICv2 driver initialized
81*2f11d548SHadi Asyrafi        INFO:    BL31: Initializing runtime services
82*2f11d548SHadi Asyrafi        WARNING: BL31: cortex_a53
83*2f11d548SHadi Asyrafi        INFO:    BL31: Preparing for EL3 exit to normal world
84*2f11d548SHadi Asyrafi        INFO:    Entry point address = 0x50000
85*2f11d548SHadi Asyrafi        INFO:    SPSR = 0x3c9
86