[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