1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
Index: linux-3.4/arch/arm/mach-kirkwood/Kconfig
===================================================================
--- linux-3.4.orig/arch/arm/mach-kirkwood/Kconfig 2012-05-27 17:28:53.529328624 -0300
+++ linux-3.4/arch/arm/mach-kirkwood/Kconfig 2012-05-27 17:28:56.329418105 -0300
@@ -44,6 +44,12 @@
Say 'Y' here if you want your kernel to support the
Marvell GuruPlug Reference Board.
+config MACH_DREAMPLUG
+ bool "Marvell DreamPlug Reference Board"
+ help
+ Say 'Y' here if you want your kernel to support the
+ Marvell DreamPlug Reference Board.
+
config ARCH_KIRKWOOD_DT
bool "Marvell Kirkwood Flattened Device Tree"
select USE_OF
Index: linux-3.4/arch/arm/mach-kirkwood/Makefile
===================================================================
--- linux-3.4.orig/arch/arm/mach-kirkwood/Makefile 2012-05-27 17:28:53.599330861 -0300
+++ linux-3.4/arch/arm/mach-kirkwood/Makefile 2012-05-27 17:28:56.329418105 -0300
@@ -7,6 +7,7 @@
obj-$(CONFIG_MACH_SHEEVAPLUG) += sheevaplug-setup.o
obj-$(CONFIG_MACH_ESATA_SHEEVAPLUG) += sheevaplug-setup.o
obj-$(CONFIG_MACH_GURUPLUG) += guruplug-setup.o
+obj-$(CONFIG_MACH_DREAMPLUG) += board-dreamplug.o
obj-$(CONFIG_MACH_DOCKSTAR) += dockstar-setup.o
obj-$(CONFIG_MACH_TS219) += ts219-setup.o tsx1x-common.o
obj-$(CONFIG_MACH_TS41X) += ts41x-setup.o tsx1x-common.o
Index: linux-3.4/arch/arm/mach-kirkwood/board-dreamplug.c
===================================================================
--- linux-3.4.orig/arch/arm/mach-kirkwood/board-dreamplug.c 2012-05-27 17:28:53.479327026 -0300
+++ linux-3.4/arch/arm/mach-kirkwood/board-dreamplug.c 2012-05-27 17:28:56.329418105 -0300
@@ -48,11 +48,13 @@
.size = SZ_64K,
.offset = SZ_512K + SZ_512K,
},
+#ifdef CONFIG_MACH_DREAMPLUG_DT
{
.name = "dtb",
.size = SZ_64K,
.offset = SZ_512K + SZ_512K + SZ_512K,
},
+#endif
};
static const struct flash_platform_data dreamplug_spi_slave_data = {
@@ -136,8 +138,16 @@
/*
* Basic setup. Needs to be called early.
*/
+#ifdef CONFIG_MACH_DREAMPLUG
+ kirkwood_init();
+#endif
+
kirkwood_mpp_conf(dreamplug_mpp_config);
+#ifdef CONFIG_MACH_DREAMPLUG
+ kirkwood_uart0_init();
+#endif
+
spi_register_board_info(dreamplug_spi_slave_info,
ARRAY_SIZE(dreamplug_spi_slave_info));
kirkwood_spi_init();
@@ -150,3 +160,16 @@
platform_device_register(&dreamplug_leds);
}
+
+#ifdef CONFIG_MACH_DREAMPLUG
+MACHINE_START(DREAMPLUG, "Marvell DreamPlug Reference Board")
+ /* Maintainer: ? */
+ .map_io = kirkwood_map_io,
+ .init_early = kirkwood_init_early,
+ .init_irq = kirkwood_init_irq,
+ .timer = &kirkwood_timer,
+ .init_machine = dreamplug_init,
+ .restart = kirkwood_restart,
+ .atag_offset = 0x100,
+MACHINE_END
+#endif
Index: linux-3.4/arch/arm/tools/mach-types
===================================================================
--- linux-3.4.orig/arch/arm/tools/mach-types 2012-05-27 17:28:53.429325427 -0300
+++ linux-3.4/arch/arm/tools/mach-types 2012-05-27 17:28:56.339418425 -0300
@@ -845,7 +845,7 @@
mx51_ivy MACH_MX51_IVY MX51_IVY 3547
mx51_lvd MACH_MX51_LVD MX51_LVD 3548
omap3_wiser2 MACH_OMAP3_WISER2 OMAP3_WISER2 3549
-dreamplug MACH_DREAMPLUG DREAMPLUG 3550
+dreamplug MACH_DREAMPLUG DREAMPLUG 2659
cobas_c_111 MACH_COBAS_C_111 COBAS_C_111 3551
cobas_u_411 MACH_COBAS_U_411 COBAS_U_411 3552
hssd MACH_HSSD HSSD 3553
Index: linux-3.4/arch/arm/mach-kirkwood/common.h
===================================================================
--- linux-3.4.orig/arch/arm/mach-kirkwood/common.h 2012-05-27 17:29:00.629555522 -0300
+++ linux-3.4/arch/arm/mach-kirkwood/common.h 2012-05-27 17:36:06.263156553 -0300
@@ -52,7 +52,7 @@
void kirkwood_restart(char, const char *);
/* board init functions for boards not fully converted to fdt */
-#ifdef CONFIG_MACH_DREAMPLUG_DT
+#if defined CONFIG_MACH_DREAMPLUG_DT || defined CONFIG_MACH_DREAMPLUG
void dreamplug_init(void);
#else
static inline void dreamplug_init(void) {};
|