summaryrefslogtreecommitdiffstats
path: root/arch/arm/boards/dfi-fs700-m60
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2014-01-08 15:40:26 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2014-01-15 08:25:19 +0100
commitc8156afa226d26668e60d732726268792c42da8c (patch)
tree84773ba9db7677b459c35a8568447ccfdb3c00bc /arch/arm/boards/dfi-fs700-m60
parentffc386d06f7aec87cad561ecdd43472a1ec3e0cc (diff)
downloadbarebox-c8156afa226d26668e60d732726268792c42da8c.tar.gz
barebox-c8156afa226d26668e60d732726268792c42da8c.tar.xz
ARM: i.MX DFI FS700-M60: Add SPI NOR flash update handler
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Conflicts: arch/arm/boards/dfi-fs700-m60/board.c
Diffstat (limited to 'arch/arm/boards/dfi-fs700-m60')
-rw-r--r--arch/arm/boards/dfi-fs700-m60/board.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/arch/arm/boards/dfi-fs700-m60/board.c b/arch/arm/boards/dfi-fs700-m60/board.c
index 96f1b0e9dc..7544ec1c3e 100644
--- a/arch/arm/boards/dfi-fs700-m60/board.c
+++ b/arch/arm/boards/dfi-fs700-m60/board.c
@@ -19,6 +19,9 @@
#define pr_fmt(fmt) "dfi-fs700-m60: " fmt
#include <generated/mach-types.h>
+#include <environment.h>
+#include <bootsource.h>
+#include <globalvar.h>
#include <common.h>
#include <sizes.h>
#include <envfs.h>
@@ -64,13 +67,22 @@ static int ar8031_phy_fixup(struct phy_device *dev)
static int dfi_fs700_m60_init(void)
{
+ unsigned flag_spi = 0, flag_mmc = 0;
+
if (!of_machine_is_compatible("dfi,fs700-m60"))
return 0;
phy_register_fixup_for_uid(PHY_ID_AR8031, AR_PHY_ID_MASK, ar8031_phy_fixup);
+ if (bootsource_get() == BOOTSOURCE_SPI)
+ flag_spi |= BBU_HANDLER_FLAG_DEFAULT;
+ else
+ flag_mmc |= BBU_HANDLER_FLAG_DEFAULT;
+
imx6_bbu_internal_mmc_register_handler("mmc", "/dev/mmc3.boot0",
- BBU_HANDLER_FLAG_DEFAULT, NULL, 0, 0);
+ flag_mmc, NULL, 0, 0);
+ imx6_bbu_internal_spi_i2c_register_handler("spiflash", "/dev/m25p0",
+ flag_spi, NULL, 0, 0);
armlinux_set_architecture(MACH_TYPE_MX6Q_SABRESD);