diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2012-10-15 13:15:09 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-10-17 20:23:42 +0200 |
commit | 1900e9f97df073bc6b2bdfec1d703013d8d4c103 (patch) | |
tree | 75643887542f8cb7772da53a609009f6229d1567 /arch/arm/boards/karo-tx53/board.c | |
parent | 12b0b710c37ffefeef8787d1e97d10bff6454a62 (diff) | |
download | barebox-1900e9f97df073bc6b2bdfec1d703013d8d4c103.tar.gz barebox-1900e9f97df073bc6b2bdfec1d703013d8d4c103.tar.xz |
ARM i.MX53 tx53: register MMC and NAND update handler
We support two different board revisions, both of which only differ
in the dcd table, so we can support both in a single binary with the
cost of storing both dcd tables in the binary.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/boards/karo-tx53/board.c')
-rw-r--r-- | arch/arm/boards/karo-tx53/board.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/arm/boards/karo-tx53/board.c b/arch/arm/boards/karo-tx53/board.c index 99ddcec95a..8f87c9c9a8 100644 --- a/arch/arm/boards/karo-tx53/board.c +++ b/arch/arm/boards/karo-tx53/board.c @@ -33,6 +33,8 @@ #include <mach/imx-nand.h> #include <mach/iim.h> #include <mach/imx5.h> +#include <mach/imx-flash-header.h> +#include <mach/bbu.h> #include <asm/armlinux.h> #include <io.h> @@ -206,6 +208,14 @@ static inline void tx53_fec_init(void) ARRAY_SIZE(tx53_fec_pads)); } +#define DCD_NAME_1011 static struct imx_dcd_v2_entry dcd_entry_1011 + +#include "dcd-data-1011.h" + +#define DCD_NAME_XX30 static u32 dcd_entry_xx30 + +#include "dcd-data-xx30.h" + static int tx53_devices_init(void) { imx53_iim_register_fec_ethaddr(); @@ -217,6 +227,14 @@ static int tx53_devices_init(void) armlinux_set_bootparams((void *)0x70000100); armlinux_set_architecture(MACH_TYPE_TX53); + /* rev xx30 can boot from nand or USB */ + imx53_bbu_internal_nand_register_handler("nand-xx30", + BBU_HANDLER_FLAG_DEFAULT, (void *)dcd_entry_xx30, sizeof(dcd_entry_xx30), SZ_512K); + + /* rev 1011 can boot from MMC/SD, other bootsource currently unknown */ + imx53_bbu_internal_mmc_register_handler("mmc-1011", "/dev/disk0", + 0, (void *)dcd_entry_1011, sizeof(dcd_entry_1011)); + return 0; } |