diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2016-09-13 14:56:06 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2016-09-13 14:56:06 +0200 |
commit | 074a8fdc929a9cdb13b2ed7e637055d0acc05de2 (patch) | |
tree | 2e6182c70403ad1db43e3128903e3c79531ce1dd /arch/arm/boards | |
parent | 0e1892b2e9348a94f58d1a4518e931c8ba46843e (diff) | |
parent | 994fa02f5d7d815265b625f6114d19f156547b69 (diff) | |
download | barebox-074a8fdc929a9cdb13b2ed7e637055d0acc05de2.tar.gz barebox-074a8fdc929a9cdb13b2ed7e637055d0acc05de2.tar.xz |
Merge branch 'for-next/socfpga'
Diffstat (limited to 'arch/arm/boards')
-rw-r--r-- | arch/arm/boards/ebv-socrates/board.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/arch/arm/boards/ebv-socrates/board.c b/arch/arm/boards/ebv-socrates/board.c index 5d2d619914..f3207b88ef 100644 --- a/arch/arm/boards/ebv-socrates/board.c +++ b/arch/arm/boards/ebv-socrates/board.c @@ -2,6 +2,9 @@ #include <types.h> #include <driver.h> #include <init.h> +#include <bbu.h> +#include <bootsource.h> +#include <filetype.h> #include <asm/armlinux.h> #include <linux/micrel_phy.h> #include <linux/phy.h> @@ -26,12 +29,45 @@ static int phy_fixup(struct phy_device *dev) static int socrates_init(void) { + enum bootsource bootsource = bootsource_get(); + uint32_t flag_qspi = 0; + uint32_t flag_mmc = 0; + if (!of_machine_is_compatible("ebv,socrates")) return 0; if (IS_ENABLED(CONFIG_PHYLIB)) phy_register_fixup_for_uid(PHY_ID_KSZ9021, MICREL_PHY_ID_MASK, phy_fixup); + switch (bootsource) { + case BOOTSOURCE_MMC: + flag_mmc |= BBU_HANDLER_FLAG_DEFAULT; + break; + case BOOTSOURCE_SPI: + flag_qspi |= BBU_HANDLER_FLAG_DEFAULT; + break; + default: + break; + } + + bbu_register_std_file_update("qspi-xload0", flag_qspi, + "/dev/mtd0.prebootloader0", + filetype_socfpga_xload); + bbu_register_std_file_update("qspi-xload1", 0, + "/dev/mtd0.prebootloader1", + filetype_socfpga_xload); + bbu_register_std_file_update("qspi-xload2", 0, + "/dev/mtd0.prebootloader2", + filetype_socfpga_xload); + bbu_register_std_file_update("qspi-xload3", 0, + "/dev/mtd0.prebootloader3", + filetype_socfpga_xload); + bbu_register_std_file_update("qspi", 0, "/dev/mtd0.barebox", + filetype_arm_barebox); + + bbu_register_std_file_update("mmc-xload", flag_mmc, "/dev/mmc0.0", + filetype_socfpga_xload); + return 0; } postcore_initcall(socrates_init); |