summaryrefslogtreecommitdiffstats
path: root/board/theadorable/theadorable.c
diff options
context:
space:
mode:
authorStefan Roese <sr@denx.de>2016-02-12 14:24:07 +0100
committerStefan Roese <sr@denx.de>2016-03-24 09:48:34 +0100
commitaea02abec59e8ea8e78c7926162c2b0f6073f32c (patch)
tree7b8a7d01b37991b2b64bb246fc917fc4fbde7c6a /board/theadorable/theadorable.c
parent84d6919118042cba56fe50ee57b1b6351e740cf4 (diff)
downloadtalos-obmc-uboot-aea02abec59e8ea8e78c7926162c2b0f6073f32c.tar.gz
talos-obmc-uboot-aea02abec59e8ea8e78c7926162c2b0f6073f32c.zip
arm: mvebu: theadorable: Add StratixV FPGA programming support
This patch adds support for Altera StratixV bitstream programming. 2 FPGAs are connected to the SPI busses. This patch uses board specific write code to program the bitstream via SPI direct write mode. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Luka Perkov <luka.perkov@sartura.hr> Signed-off-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'board/theadorable/theadorable.c')
-rw-r--r--board/theadorable/theadorable.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/board/theadorable/theadorable.c b/board/theadorable/theadorable.c
index 0e232656fc..ee88a98a24 100644
--- a/board/theadorable/theadorable.c
+++ b/board/theadorable/theadorable.c
@@ -8,9 +8,11 @@
#include <asm/io.h>
#include <asm/arch/cpu.h>
#include <asm/arch/soc.h>
+#include <linux/mbus.h>
#ifdef CONFIG_NET
#include <netdev.h>
#endif
+#include "theadorable.h"
#include "../drivers/ddr/marvell/axp/ddr3_hw_training.h"
#include "../arch/arm/mach-mvebu/serdes/axp/high_speed_env_spec.h"
@@ -136,6 +138,15 @@ int board_init(void)
/* adress of boot parameters */
gd->bd->bi_boot_params = mvebu_sdram_bar(0) + 0x100;
+ /*
+ * Map SPI devices via MBUS so that they can be accessed via
+ * the SPI direct access mode
+ */
+ mbus_dt_setup_win(&mbus_state, SPI_BUS0_DEV1_BASE, SPI_BUS0_DEV1_SIZE,
+ CPU_TARGET_DEVICEBUS_BOOTROM_SPI, CPU_ATTR_SPI0_CS1);
+ mbus_dt_setup_win(&mbus_state, SPI_BUS1_DEV2_BASE, SPI_BUS0_DEV1_SIZE,
+ CPU_TARGET_DEVICEBUS_BOOTROM_SPI, CPU_ATTR_SPI1_CS2);
+
return 0;
}
@@ -143,6 +154,8 @@ int checkboard(void)
{
puts("Board: theadorable\n");
+ board_fpga_add();
+
return 0;
}
OpenPOWER on IntegriCloud