diff options
author | Trent Piepho <tpiepho@kymetacorp.com> | 2015-12-10 21:51:39 +0000 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2015-12-14 11:32:30 +0100 |
commit | c44e12f0bde314f33f45bab31b1f7c69157d89b4 (patch) | |
tree | 538a02cbe5f4768e3b643b2b1991f0d09dc42732 /arch/arm/mach-socfpga/xload.c | |
parent | a9e7e68279de3aec38b038211a15a80cfc612c4e (diff) | |
download | barebox-c44e12f0bde314f33f45bab31b1f7c69157d89b4.tar.gz barebox-c44e12f0bde314f33f45bab31b1f7c69157d89b4.tar.xz |
socfpga: Allow setting partition xloader boots from for mmc
The xloader boots the 2nd stage barebox from socfpga_barebox_part when
using NOR. But when using MMC it boots from a hardcoded "disk0.1".
Add the mmc device name to the partition description and use it for
mmc booting.
Add an extern declaration of socfpga_barebox_part to the socfpga
header so that a board can change it to use a different partition.
Initialize socfpga_barebox_part to the default value instead of NULL to
avoid the NULL check later.
Signed-off-by: Trent Piepho <tpiepho@kymetacorp.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-socfpga/xload.c')
-rw-r--r-- | arch/arm/mach-socfpga/xload.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/arm/mach-socfpga/xload.c b/arch/arm/mach-socfpga/xload.c index cf05ff374b..fd0d777add 100644 --- a/arch/arm/mach-socfpga/xload.c +++ b/arch/arm/mach-socfpga/xload.c @@ -20,12 +20,13 @@ #include <mach/system-manager.h> #include <mach/socfpga-regs.h> -struct socfpga_barebox_part *barebox_part; static struct socfpga_barebox_part default_part = { .nor_offset = SZ_256K, .nor_size = SZ_1M, + .mmc_disk = "disk0.1", }; +const struct socfpga_barebox_part *barebox_part = &default_part; enum socfpga_clks { timer, mmc, qspi_clk, uart, clk_max @@ -110,13 +111,10 @@ static __noreturn int socfpga_xload(void) enum bootsource bootsource = bootsource_get(); void *buf; - if (!barebox_part) - barebox_part = &default_part; - switch (bootsource) { case BOOTSOURCE_MMC: socfpga_mmc_init(); - buf = bootstrap_read_disk("disk0.1", "fat"); + buf = bootstrap_read_disk(barebox_part->mmc_disk, "fat"); break; case BOOTSOURCE_SPI: socfpga_qspi_init(); |