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>
1 parent 1466d7d commit 8a680e3c9b5dd8470b7437654877d5439e9a6407
@Steffen Trumtrar Steffen Trumtrar authored on 31 Jul 2018
Sascha Hauer committed on 8 Aug 2018
Showing 11 changed files
View
arch/arm/Kconfig
View
arch/arm/mach-socfpga/Kconfig
View
arch/arm/mach-socfpga/Makefile
View
arch/arm/mach-socfpga/arria10-xload-emmc.c 0 → 100644
View
arch/arm/mach-socfpga/arria10-xload.c 0 → 100644
View
arch/arm/mach-socfpga/include/mach/arria10-fpga.h 0 → 100644
View
arch/arm/mach-socfpga/include/mach/arria10-system-manager.h
View
arch/arm/mach-socfpga/include/mach/arria10-xload.h 0 → 100644
View
arch/arm/mach-socfpga/include/mach/debug_ll.h
View
arch/arm/mach-socfpga/include/mach/generic.h
View
images/Makefile.socfpga