[U-Boot] [PATCH v2 4/4] arm: add machine ID for CloudBox

Frédéric Leroy fredo at starox.org
Sun Jun 30 12:12:29 CEST 2013


CloudBox device is device tree compliant, but older LaCie kernel uses
machine ID method to boot.

Signed-off-by: Frédéric Leroy <fredo at starox.org>
---
 arch/arm/include/asm/mach-types.h | 14 ++++++++++++++
 board/LaCie/cloudbox/cloudbox.c   |  7 ++++++-
 include/configs/lacie_kw.h        |  1 +
 3 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/arch/arm/include/asm/mach-types.h b/arch/arm/include/asm/mach-types.h
index 440b041..071bd11 100644
--- a/arch/arm/include/asm/mach-types.h
+++ b/arch/arm/include/asm/mach-types.h
@@ -1106,6 +1106,7 @@ extern unsigned int __machine_arch_type;
 #define MACH_TYPE_OMAP5_SEVM           3777
 #define MACH_TYPE_ARMADILLO_800EVA     3863
 #define MACH_TYPE_KZM9G                4140
+#define MACH_TYPE_CLOUDBOX             4170
 
 #ifdef CONFIG_ARCH_EBSA110
 # ifdef machine_arch_type
@@ -14235,6 +14236,19 @@ extern unsigned int __machine_arch_type;
 # define machine_is_kzm9g()	(0)
 #endif
 
+#ifdef CONFIG_MACH_CLOUDBOX
+# ifdef machine_arch_type
+#  undef machine_arch_type
+#  define machine_arch_type	__machine_arch_type
+# else
+#  define machine_arch_type	MACH_TYPE_CLOUDBOX
+# endif
+# define machine_cloudbox()	(machine_arch_type == MACH_TYPE_CLOUDBOX)
+#else
+# define machine_cloudbox()	(0)
+#endif
+
+
 /*
  * These have not yet been registered
  */
diff --git a/board/LaCie/cloudbox/cloudbox.c b/board/LaCie/cloudbox/cloudbox.c
index e5ee5a3..51b1f96 100644
--- a/board/LaCie/cloudbox/cloudbox.c
+++ b/board/LaCie/cloudbox/cloudbox.c
@@ -64,7 +64,12 @@ int board_early_init_f(void)
 
 int board_init(void)
 {
-	/* Nothing to do with fdt */
+	/* Machine number */
+	gd->bd->bi_arch_number = CONFIG_MACH_TYPE;
+
+	/* Boot parameters address */
+	gd->bd->bi_boot_params = kw_sdram_bar(0) + 0x100;
+
 	return 0;
 }
 
diff --git a/include/configs/lacie_kw.h b/include/configs/lacie_kw.h
index 02e0882..b305bf6 100644
--- a/include/configs/lacie_kw.h
+++ b/include/configs/lacie_kw.h
@@ -22,6 +22,7 @@
  * Machine number definition
  */
 #if defined(CONFIG_CLOUDBOX)
+#define CONFIG_MACH_TYPE		MACH_TYPE_CLOUDBOX
 #define CONFIG_IDENT_STRING		" CloudBox"
 #elif defined(CONFIG_D2NET_V2)
 #define CONFIG_MACH_TYPE		MACH_TYPE_D2NET_V2
-- 
1.8.1.2



More information about the U-Boot mailing list