summaryrefslogtreecommitdiffstats
path: root/arch/arm/boards/karo-tx53/board.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2012-10-15 13:15:09 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2012-10-17 20:23:42 +0200
commit1900e9f97df073bc6b2bdfec1d703013d8d4c103 (patch)
tree75643887542f8cb7772da53a609009f6229d1567 /arch/arm/boards/karo-tx53/board.c
parent12b0b710c37ffefeef8787d1e97d10bff6454a62 (diff)
downloadbarebox-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.c18
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;
}