diff options
author | Steffen Trumtrar <s.trumtrar@pengutronix.de> | 2018-07-31 12:44:39 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2018-08-08 09:22:48 +0200 |
commit | 8a680e3c9b5dd8470b7437654877d5439e9a6407 (patch) | |
tree | d2ca86ad8029b3b70c5754cbdc43618740b5f5d9 /arch/arm/mach-socfpga/Makefile | |
parent | 1466d7d0e485fe43258aea423d2e4deba7d83c1e (diff) | |
download | barebox-8a680e3c9b5dd8470b7437654877d5439e9a6407.tar.gz barebox-8a680e3c9b5dd8470b7437654877d5439e9a6407.tar.xz |
ARM: socfpga: Arria10: support programming FPGA in PBL
Some Arria10 boards don't have the FPGA programmed externally.
Instead barebox needs to do that. As the Arria10 has the SDRAM
controller in the FPGA, the first thing we need to do is,
configure the FPGA before the SDRAM can even be used.
It works like this:
1. boot ROM fetches the PBL from MMC
2. read the MBR from MMC (this depends on the setup done by the boot ROM)
3. read the Bitstream from the MMC and program the FPGA
4. re-read the barebox image from MMC, this time with the full barebox
that is appended to the PBL
5. jump into the full barebox
Only supported boot device is eMMC.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-socfpga/Makefile')
-rw-r--r-- | arch/arm/mach-socfpga/Makefile | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/arch/arm/mach-socfpga/Makefile b/arch/arm/mach-socfpga/Makefile index cbb47fa206..3a3a2fc57d 100644 --- a/arch/arm/mach-socfpga/Makefile +++ b/arch/arm/mach-socfpga/Makefile @@ -2,7 +2,15 @@ pbl-$(CONFIG_ARCH_SOCFPGA_CYCLONE5) += cyclone5-init.o cyclone5-freeze-controlle pbl-$(CONFIG_ARCH_SOCFPGA_CYCLONE5) += cyclone5-clock-manager.o obj-$(CONFIG_ARCH_SOCFPGA_CYCLONE5) += cyclone5-generic.o nic301.o cyclone5-bootsource.o cyclone5-reset-manager.o -pbl-$(CONFIG_ARCH_SOCFPGA_ARRIA10) += arria10-init.o arria10-clock-manager.o arria10-sdram.o arria10-reset-manager.o arria10-bootsource.o -obj-$(CONFIG_ARCH_SOCFPGA_ARRIA10) += arria10-bootsource.o arria10-generic.o arria10-reset-manager.o +pbl-$(CONFIG_ARCH_SOCFPGA_ARRIA10) += arria10-xload.o \ + arria10-xload-emmc.o +obj-pbl-$(CONFIG_ARCH_SOCFPGA_ARRIA10) += arria10-bootsource.o \ + arria10-clock-manager.o \ + arria10-generic.o \ + arria10-reset-manager.o \ + arria10-init.o \ + arria10-sdram.o +ifdef CONFIG_ARCH_SOCFPGA_CYCLONE5 obj-$(CONFIG_ARCH_SOCFPGA_XLOAD) += xload.o +endif |