aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-kirkwood
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-05-04 15:34:30 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-05-04 15:34:30 -0400
commit150a8dcf109f68f322bf112c7604f2d950303f00 (patch)
treed2219f3de4facbcd34625c733b6fae85ea3b7b8c /arch/arm/mach-kirkwood
parente3d98847ded1d183111ff7c4d1ef56b161c7f13e (diff)
parent21bdcc1a2ffce8c9bc7caad711401fff47f99c00 (diff)
Merge tag 'boards-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC board specific changes (part 1) from Olof Johansson: "These changes are all for board specific files. These used to make up a large portion of the ARM changes in the past, but as we are generalizing the support and moving to device tree probing, this has gotten significantly smaller. The only platform actually adding new code here at the moment is Renesas shmobile, as they are still busy converting their code to device tree and have not come far enough to not need it." * tag 'boards-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits) ARM: msm: USB_MSM_OTG needs USB_PHY ARM: davinci: da850 evm: fix const qualifier placement ARM: davinci: da850 board: add remoteproc support ARM: pxa: move debug uart code ARM: pxa: select PXA935 on saar & tavorevb ARM: mmp: add more compatible names in gpio driver ARM: pxa: move PXA_GPIO_TO_IRQ macro ARM: pxa: remove cpu_is_xxx in gpio driver ARM: Kirkwood: update Network Space Mini v2 description ARM: Kirkwood: DT board setup for CloudBox ARM: Kirkwood: sort board entries by ASCII-code order ARM: OMAP: board-4430sdp: Provide regulator to pwm-backlight ARM: OMAP: zoom: Use pwm stack for lcd and keyboard backlight ARM: OMAP2+: omap2plus_defconfig: Add support for BMP085 pressure sensor omap2+: Remove useless Makefile line omap2+: Remove useless Makefile line ARM: OMAP: RX-51: add missing regulator supply definitions for lis3lv02d ARM: OMAP1: fix omap_udc registration ARM: davinci: use is IS_ENABLED macro ARM: kirkwood: add MACH_GURUPLUG_DT to defconfig ...
Diffstat (limited to 'arch/arm/mach-kirkwood')
-rw-r--r--arch/arm/mach-kirkwood/Kconfig334
-rw-r--r--arch/arm/mach-kirkwood/Makefile42
-rw-r--r--arch/arm/mach-kirkwood/board-dt.c18
-rw-r--r--arch/arm/mach-kirkwood/board-ns2.c3
-rw-r--r--arch/arm/mach-kirkwood/board-readynas.c28
-rw-r--r--arch/arm/mach-kirkwood/common.h12
6 files changed, 254 insertions, 183 deletions
diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig
index 7b6a64bc5f40..7509a89af967 100644
--- a/arch/arm/mach-kirkwood/Kconfig
+++ b/arch/arm/mach-kirkwood/Kconfig
@@ -2,23 +2,41 @@ if ARCH_KIRKWOOD
2 2
3menu "Marvell Kirkwood Implementations" 3menu "Marvell Kirkwood Implementations"
4 4
5config MACH_D2NET_V2
6 bool "LaCie d2 Network v2 NAS Board"
7 help
8 Say 'Y' here if you want your kernel to support the
9 LaCie d2 Network v2 NAS.
10
5config MACH_DB88F6281_BP 11config MACH_DB88F6281_BP
6 bool "Marvell DB-88F6281-BP Development Board" 12 bool "Marvell DB-88F6281-BP Development Board"
7 help 13 help
8 Say 'Y' here if you want your kernel to support the 14 Say 'Y' here if you want your kernel to support the
9 Marvell DB-88F6281-BP Development Board. 15 Marvell DB-88F6281-BP Development Board.
10 16
11config MACH_RD88F6192_NAS 17config MACH_DOCKSTAR
12 bool "Marvell RD-88F6192-NAS Reference Board" 18 bool "Seagate FreeAgent DockStar"
13 help 19 help
14 Say 'Y' here if you want your kernel to support the 20 Say 'Y' here if you want your kernel to support the
15 Marvell RD-88F6192-NAS Reference Board. 21 Seagate FreeAgent DockStar.
16 22
17config MACH_RD88F6281 23config MACH_ESATA_SHEEVAPLUG
18 bool "Marvell RD-88F6281 Reference Board" 24 bool "Marvell eSATA SheevaPlug Reference Board"
19 help 25 help
20 Say 'Y' here if you want your kernel to support the 26 Say 'Y' here if you want your kernel to support the
21 Marvell RD-88F6281 Reference Board. 27 Marvell eSATA SheevaPlug Reference Board.
28
29config MACH_GURUPLUG
30 bool "Marvell GuruPlug Reference Board"
31 help
32 Say 'Y' here if you want your kernel to support the
33 Marvell GuruPlug Reference Board.
34
35config MACH_INETSPACE_V2
36 bool "LaCie Internet Space v2 NAS Board"
37 help
38 Say 'Y' here if you want your kernel to support the
39 LaCie Internet Space v2 NAS.
22 40
23config MACH_MV88F6281GTW_GE 41config MACH_MV88F6281GTW_GE
24 bool "Marvell 88F6281 GTW GE Board" 42 bool "Marvell 88F6281 GTW GE Board"
@@ -26,23 +44,93 @@ config MACH_MV88F6281GTW_GE
26 Say 'Y' here if you want your kernel to support the 44 Say 'Y' here if you want your kernel to support the
27 Marvell 88F6281 GTW GE Board. 45 Marvell 88F6281 GTW GE Board.
28 46
47config MACH_NET2BIG_V2
48 bool "LaCie 2Big Network v2 NAS Board"
49 help
50 Say 'Y' here if you want your kernel to support the
51 LaCie 2Big Network v2 NAS.
52
53config MACH_NET5BIG_V2
54 bool "LaCie 5Big Network v2 NAS Board"
55 help
56 Say 'Y' here if you want your kernel to support the
57 LaCie 5Big Network v2 NAS.
58
59config MACH_NETSPACE_MAX_V2
60 bool "LaCie Network Space Max v2 NAS Board"
61 help
62 Say 'Y' here if you want your kernel to support the
63 LaCie Network Space Max v2 NAS.
64
65config MACH_NETSPACE_V2
66 bool "LaCie Network Space v2 NAS Board"
67 help
68 Say 'Y' here if you want your kernel to support the
69 LaCie Network Space v2 NAS.
70
71config MACH_OPENRD
72 bool
73
74config MACH_OPENRD_BASE
75 bool "Marvell OpenRD Base Board"
76 select MACH_OPENRD
77 help
78 Say 'Y' here if you want your kernel to support the
79 Marvell OpenRD Base Board.
80
81config MACH_OPENRD_CLIENT
82 bool "Marvell OpenRD Client Board"
83 select MACH_OPENRD
84 help
85 Say 'Y' here if you want your kernel to support the
86 Marvell OpenRD Client Board.
87
88config MACH_OPENRD_ULTIMATE
89 bool "Marvell OpenRD Ultimate Board"
90 select MACH_OPENRD
91 help
92 Say 'Y' here if you want your kernel to support the
93 Marvell OpenRD Ultimate Board.
94
95config MACH_RD88F6192_NAS
96 bool "Marvell RD-88F6192-NAS Reference Board"
97 help
98 Say 'Y' here if you want your kernel to support the
99 Marvell RD-88F6192-NAS Reference Board.
100
101config MACH_RD88F6281
102 bool "Marvell RD-88F6281 Reference Board"
103 help
104 Say 'Y' here if you want your kernel to support the
105 Marvell RD-88F6281 Reference Board.
106
29config MACH_SHEEVAPLUG 107config MACH_SHEEVAPLUG
30 bool "Marvell SheevaPlug Reference Board" 108 bool "Marvell SheevaPlug Reference Board"
31 help 109 help
32 Say 'Y' here if you want your kernel to support the 110 Say 'Y' here if you want your kernel to support the
33 Marvell SheevaPlug Reference Board. 111 Marvell SheevaPlug Reference Board.
34 112
35config MACH_ESATA_SHEEVAPLUG 113config MACH_T5325
36 bool "Marvell eSATA SheevaPlug Reference Board" 114 bool "HP t5325 Thin Client"
37 help 115 help
38 Say 'Y' here if you want your kernel to support the 116 Say 'Y' here if you want your kernel to support the
39 Marvell eSATA SheevaPlug Reference Board. 117 HP t5325 Thin Client.
40 118
41config MACH_GURUPLUG 119config MACH_TS219
42 bool "Marvell GuruPlug Reference Board" 120 bool "QNAP TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and TS-219P+ Turbo NAS"
43 help 121 help
44 Say 'Y' here if you want your kernel to support the 122 Say 'Y' here if you want your kernel to support the
45 Marvell GuruPlug Reference Board. 123 QNAP TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and
124 TS-219P+ Turbo NAS devices.
125
126config MACH_TS41X
127 bool "QNAP TS-410, TS-410U, TS-419P, TS-419P+ and TS-419U Turbo NAS"
128 help
129 Say 'Y' here if you want your kernel to support the
130 QNAP TS-410, TS-410U, TS-419P, TS-419P+ and TS-419U Turbo
131 NAS devices.
132
133comment "Device tree entries"
46 134
47config ARCH_KIRKWOOD_DT 135config ARCH_KIRKWOOD_DT
48 bool "Marvell Kirkwood Flattened Device Tree" 136 bool "Marvell Kirkwood Flattened Device Tree"
@@ -58,12 +146,27 @@ config ARCH_KIRKWOOD_DT
58 Say 'Y' here if you want your kernel to support the 146 Say 'Y' here if you want your kernel to support the
59 Marvell Kirkwood using flattened device tree. 147 Marvell Kirkwood using flattened device tree.
60 148
61config MACH_GURUPLUG_DT 149config MACH_CLOUDBOX_DT
62 bool "Marvell GuruPlug Reference Board (Flattened Device Tree)" 150 bool "LaCie CloudBox NAS (Flattened Device Tree)"
151 select ARCH_KIRKWOOD_DT
152 help
153 Say 'Y' here if you want your kernel to support the LaCie
154 CloudBox NAS, using Flattened Device Tree.
155
156config MACH_DLINK_KIRKWOOD_DT
157 bool "D-Link Kirkwood-based NAS (Flattened Device Tree)"
63 select ARCH_KIRKWOOD_DT 158 select ARCH_KIRKWOOD_DT
64 help 159 help
65 Say 'Y' here if you want your kernel to support the 160 Say 'Y' here if you want your kernel to support the
66 Marvell GuruPlug Reference Board (Flattened Device Tree). 161 Kirkwood-based D-Link NASes such as DNS-320 & DNS-325,
162 using Flattened Device Tree.
163
164config MACH_DOCKSTAR_DT
165 bool "Seagate FreeAgent Dockstar (Flattened Device Tree)"
166 select ARCH_KIRKWOOD_DT
167 help
168 Say 'Y' here if you want your kernel to support the
169 Seagate FreeAgent Dockstar (Flattened Device Tree).
67 170
68config MACH_DREAMPLUG_DT 171config MACH_DREAMPLUG_DT
69 bool "Marvell DreamPlug (Flattened Device Tree)" 172 bool "Marvell DreamPlug (Flattened Device Tree)"
@@ -72,19 +175,19 @@ config MACH_DREAMPLUG_DT
72 Say 'Y' here if you want your kernel to support the 175 Say 'Y' here if you want your kernel to support the
73 Marvell DreamPlug (Flattened Device Tree). 176 Marvell DreamPlug (Flattened Device Tree).
74 177
75config MACH_ICONNECT_DT 178config MACH_GOFLEXNET_DT
76 bool "Iomega Iconnect (Flattened Device Tree)" 179 bool "Seagate GoFlex Net (Flattened Device Tree)"
77 select ARCH_KIRKWOOD_DT 180 select ARCH_KIRKWOOD_DT
78 help 181 help
79 Say 'Y' here to enable Iomega Iconnect support. 182 Say 'Y' here if you want your kernel to support the
183 Seagate GoFlex Net (Flattened Device Tree).
80 184
81config MACH_DLINK_KIRKWOOD_DT 185config MACH_GURUPLUG_DT
82 bool "D-Link Kirkwood-based NAS (Flattened Device Tree)" 186 bool "Marvell GuruPlug Reference Board (Flattened Device Tree)"
83 select ARCH_KIRKWOOD_DT 187 select ARCH_KIRKWOOD_DT
84 help 188 help
85 Say 'Y' here if you want your kernel to support the 189 Say 'Y' here if you want your kernel to support the
86 Kirkwood-based D-Link NASes such as DNS-320 & DNS-325, 190 Marvell GuruPlug Reference Board (Flattened Device Tree).
87 using Flattened Device Tree.
88 191
89config MACH_IB62X0_DT 192config MACH_IB62X0_DT
90 bool "RaidSonic IB-NAS6210, IB-NAS6220 (Flattened Device Tree)" 193 bool "RaidSonic IB-NAS6210, IB-NAS6220 (Flattened Device Tree)"
@@ -94,41 +197,18 @@ config MACH_IB62X0_DT
94 RaidSonic IB-NAS6210 & IB-NAS6220 devices, using 197 RaidSonic IB-NAS6210 & IB-NAS6220 devices, using
95 Flattened Device Tree. 198 Flattened Device Tree.
96 199
97config MACH_TS219_DT 200config MACH_ICONNECT_DT
98 bool "Device Tree for QNAP TS-11X, TS-21X NAS" 201 bool "Iomega Iconnect (Flattened Device Tree)"
99 select ARCH_KIRKWOOD_DT
100 select ARM_APPENDED_DTB
101 select ARM_ATAG_DTB_COMPAT
102 help
103 Say 'Y' here if you want your kernel to support the QNAP
104 TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and
105 TS-219P+ Turbo NAS devices using Fattened Device Tree.
106 There are two different Device Tree descriptions, depending
107 on if the device is based on an if the board uses the MV6281
108 or MV6282. If you have the wrong one, the buttons will not
109 work.
110
111config MACH_DOCKSTAR_DT
112 bool "Seagate FreeAgent Dockstar (Flattened Device Tree)"
113 select ARCH_KIRKWOOD_DT
114 help
115 Say 'Y' here if you want your kernel to support the
116 Seagate FreeAgent Dockstar (Flattened Device Tree).
117
118config MACH_GOFLEXNET_DT
119 bool "Seagate GoFlex Net (Flattened Device Tree)"
120 select ARCH_KIRKWOOD_DT 202 select ARCH_KIRKWOOD_DT
121 help 203 help
122 Say 'Y' here if you want your kernel to support the 204 Say 'Y' here to enable Iomega Iconnect support.
123 Seagate GoFlex Net (Flattened Device Tree).
124 205
125config MACH_LSXL_DT 206config MACH_INETSPACE_V2_DT
126 bool "Buffalo Linkstation LS-XHL, LS-CHLv2 (Flattened Device Tree)" 207 bool "LaCie Internet Space v2 NAS (Flattened Device Tree)"
127 select ARCH_KIRKWOOD_DT 208 select ARCH_KIRKWOOD_DT
128 help 209 help
129 Say 'Y' here if you want your kernel to support the 210 Say 'Y' here if you want your kernel to support the LaCie
130 Buffalo Linkstation LS-XHL & LS-CHLv2 devices, using 211 Internet Space v2 NAS, using Flattened Device Tree.
131 Flattened Device Tree.
132 212
133config MACH_IOMEGA_IX2_200_DT 213config MACH_IOMEGA_IX2_200_DT
134 bool "Iomega StorCenter ix2-200 (Flattened Device Tree)" 214 bool "Iomega StorCenter ix2-200 (Flattened Device Tree)"
@@ -144,12 +224,13 @@ config MACH_KM_KIRKWOOD_DT
144 Say 'Y' here if you want your kernel to support the 224 Say 'Y' here if you want your kernel to support the
145 Keymile Kirkwood Reference Desgin, using Flattened Device Tree. 225 Keymile Kirkwood Reference Desgin, using Flattened Device Tree.
146 226
147config MACH_INETSPACE_V2_DT 227config MACH_LSXL_DT
148 bool "LaCie Internet Space v2 NAS (Flattened Device Tree)" 228 bool "Buffalo Linkstation LS-XHL, LS-CHLv2 (Flattened Device Tree)"
149 select ARCH_KIRKWOOD_DT 229 select ARCH_KIRKWOOD_DT
150 help 230 help
151 Say 'Y' here if you want your kernel to support the LaCie 231 Say 'Y' here if you want your kernel to support the
152 Internet Space v2 NAS, using Flattened Device Tree. 232 Buffalo Linkstation LS-XHL & LS-CHLv2 devices, using
233 Flattened Device Tree.
153 234
154config MACH_MPLCEC4_DT 235config MACH_MPLCEC4_DT
155 bool "MPL CEC4 (Flattened Device Tree)" 236 bool "MPL CEC4 (Flattened Device Tree)"
@@ -158,12 +239,12 @@ config MACH_MPLCEC4_DT
158 Say 'Y' here if you want your kernel to support the 239 Say 'Y' here if you want your kernel to support the
159 MPL CEC4 (Flattened Device Tree). 240 MPL CEC4 (Flattened Device Tree).
160 241
161config MACH_NETSPACE_V2_DT 242config MACH_NETSPACE_LITE_V2_DT
162 bool "LaCie Network Space v2 NAS (Flattened Device Tree)" 243 bool "LaCie Network Space Lite v2 NAS (Flattened Device Tree)"
163 select ARCH_KIRKWOOD_DT 244 select ARCH_KIRKWOOD_DT
164 help 245 help
165 Say 'Y' here if you want your kernel to support the LaCie 246 Say 'Y' here if you want your kernel to support the LaCie
166 Network Space v2 NAS, using Flattened Device Tree. 247 Network Space Lite v2 NAS, using Flattened Device Tree.
167 248
168config MACH_NETSPACE_MAX_V2_DT 249config MACH_NETSPACE_MAX_V2_DT
169 bool "LaCie Network Space Max v2 NAS (Flattened Device Tree)" 250 bool "LaCie Network Space Max v2 NAS (Flattened Device Tree)"
@@ -172,128 +253,69 @@ config MACH_NETSPACE_MAX_V2_DT
172 Say 'Y' here if you want your kernel to support the LaCie 253 Say 'Y' here if you want your kernel to support the LaCie
173 Network Space Max v2 NAS, using Flattened Device Tree. 254 Network Space Max v2 NAS, using Flattened Device Tree.
174 255
175config MACH_NETSPACE_LITE_V2_DT
176 bool "LaCie Network Space Lite v2 NAS (Flattened Device Tree)"
177 select ARCH_KIRKWOOD_DT
178 help
179 Say 'Y' here if you want your kernel to support the LaCie
180 Network Space Lite v2 NAS, using Flattened Device Tree.
181
182config MACH_NETSPACE_MINI_V2_DT 256config MACH_NETSPACE_MINI_V2_DT
183 bool "LaCie Network Space Mini v2 NAS (Flattened Device Tree)" 257 bool "LaCie Network Space Mini v2 NAS (Flattened Device Tree)"
184 select ARCH_KIRKWOOD_DT 258 select ARCH_KIRKWOOD_DT
185 help 259 help
186 Say 'Y' here if you want your kernel to support the LaCie 260 Say 'Y' here if you want your kernel to support the LaCie
187 Network Space Mini v2 NAS (aka SafeBox), using Flattened 261 Network Space Mini v2 NAS using Flattened Device Tree.
188 Device Tree.
189 262
190config MACH_OPENBLOCKS_A6_DT 263 This board is embedded in a product named CloudBox, which
191 bool "Plat'Home OpenBlocks A6 (Flattened Device Tree)" 264 provides automatic backup on a 100GB cloud storage. This
192 select ARCH_KIRKWOOD_DT 265 should not confused with a more recent LaCie NAS also named
193 help 266 CloudBox. For this last, the disk capacity is 1TB or above.
194 Say 'Y' here if you want your kernel to support the
195 Plat'Home OpenBlocks A6 (Flattened Device Tree).
196 267
197config MACH_TOPKICK_DT 268config MACH_NETSPACE_V2_DT
198 bool "USI Topkick (Flattened Device Tree)" 269 bool "LaCie Network Space v2 NAS (Flattened Device Tree)"
199 select ARCH_KIRKWOOD_DT 270 select ARCH_KIRKWOOD_DT
200 help 271 help
201 Say 'Y' here if you want your kernel to support the 272 Say 'Y' here if you want your kernel to support the LaCie
202 USI Topkick, using Flattened Device Tree 273 Network Space v2 NAS, using Flattened Device Tree.
203
204config MACH_TS219
205 bool "QNAP TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and TS-219P+ Turbo NAS"
206 help
207 Say 'Y' here if you want your kernel to support the
208 QNAP TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and
209 TS-219P+ Turbo NAS devices.
210
211config MACH_TS41X
212 bool "QNAP TS-410, TS-410U, TS-419P, TS-419P+ and TS-419U Turbo NAS"
213 help
214 Say 'Y' here if you want your kernel to support the
215 QNAP TS-410, TS-410U, TS-419P, TS-419P+ and TS-419U Turbo
216 NAS devices.
217
218config MACH_DOCKSTAR
219 bool "Seagate FreeAgent DockStar"
220 help
221 Say 'Y' here if you want your kernel to support the
222 Seagate FreeAgent DockStar.
223
224config MACH_OPENRD
225 bool
226
227config MACH_OPENRD_BASE
228 bool "Marvell OpenRD Base Board"
229 select MACH_OPENRD
230 help
231 Say 'Y' here if you want your kernel to support the
232 Marvell OpenRD Base Board.
233
234config MACH_OPENRD_CLIENT
235 bool "Marvell OpenRD Client Board"
236 select MACH_OPENRD
237 help
238 Say 'Y' here if you want your kernel to support the
239 Marvell OpenRD Client Board.
240
241config MACH_OPENRD_ULTIMATE
242 bool "Marvell OpenRD Ultimate Board"
243 select MACH_OPENRD
244 help
245 Say 'Y' here if you want your kernel to support the
246 Marvell OpenRD Ultimate Board.
247
248config MACH_NETSPACE_V2
249 bool "LaCie Network Space v2 NAS Board"
250 help
251 Say 'Y' here if you want your kernel to support the
252 LaCie Network Space v2 NAS.
253
254config MACH_INETSPACE_V2
255 bool "LaCie Internet Space v2 NAS Board"
256 help
257 Say 'Y' here if you want your kernel to support the
258 LaCie Internet Space v2 NAS.
259
260config MACH_NETSPACE_MAX_V2
261 bool "LaCie Network Space Max v2 NAS Board"
262 help
263 Say 'Y' here if you want your kernel to support the
264 LaCie Network Space Max v2 NAS.
265 274
266config MACH_D2NET_V2 275config MACH_NSA310_DT
267 bool "LaCie d2 Network v2 NAS Board" 276 bool "ZyXEL NSA-310 (Flattened Device Tree)"
277 select ARCH_KIRKWOOD_DT
278 select ARM_ATAG_DTB_COMPAT
268 help 279 help
269 Say 'Y' here if you want your kernel to support the 280 Say 'Y' here if you want your kernel to support the
270 LaCie d2 Network v2 NAS. 281 ZyXEL NSA-310 board (Flattened Device Tree).
271 282
272config MACH_NET2BIG_V2 283config MACH_OPENBLOCKS_A6_DT
273 bool "LaCie 2Big Network v2 NAS Board" 284 bool "Plat'Home OpenBlocks A6 (Flattened Device Tree)"
285 select ARCH_KIRKWOOD_DT
274 help 286 help
275 Say 'Y' here if you want your kernel to support the 287 Say 'Y' here if you want your kernel to support the
276 LaCie 2Big Network v2 NAS. 288 Plat'Home OpenBlocks A6 (Flattened Device Tree).
277 289
278config MACH_NET5BIG_V2 290config MACH_READYNAS_DT
279 bool "LaCie 5Big Network v2 NAS Board" 291 bool "NETGEAR ReadyNAS Duo v2 (Flattened Device Tree)"
292 select ARCH_KIRKWOOD_DT
293 select ARM_APPENDED_DTB
294 select ARM_ATAG_DTB_COMPAT
280 help 295 help
281 Say 'Y' here if you want your kernel to support the 296 Say 'Y' here if you want your kernel to support the
282 LaCie 5Big Network v2 NAS. 297 NETGEAR ReadyNAS Duo v2 using Fattened Device Tree.
283 298
284config MACH_T5325 299config MACH_TOPKICK_DT
285 bool "HP t5325 Thin Client" 300 bool "USI Topkick (Flattened Device Tree)"
301 select ARCH_KIRKWOOD_DT
286 help 302 help
287 Say 'Y' here if you want your kernel to support the 303 Say 'Y' here if you want your kernel to support the
288 HP t5325 Thin Client. 304 USI Topkick, using Flattened Device Tree
289 305
290config MACH_NSA310_DT 306config MACH_TS219_DT
291 bool "ZyXEL NSA-310 (Flattened Device Tree)" 307 bool "Device Tree for QNAP TS-11X, TS-21X NAS"
292 select ARCH_KIRKWOOD_DT 308 select ARCH_KIRKWOOD_DT
309 select ARM_APPENDED_DTB
293 select ARM_ATAG_DTB_COMPAT 310 select ARM_ATAG_DTB_COMPAT
294 help 311 help
295 Say 'Y' here if you want your kernel to support the 312 Say 'Y' here if you want your kernel to support the QNAP
296 ZyXEL NSA-310 board (Flattened Device Tree). 313 TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and
314 TS-219P+ Turbo NAS devices using Fattened Device Tree.
315 There are two different Device Tree descriptions, depending
316 on if the device is based on an if the board uses the MV6281
317 or MV6282. If you have the wrong one, the buttons will not
318 work.
297 319
298endmenu 320endmenu
299 321
diff --git a/arch/arm/mach-kirkwood/Makefile b/arch/arm/mach-kirkwood/Makefile
index 4cc4bee4d0cf..cdbca328a412 100644
--- a/arch/arm/mach-kirkwood/Makefile
+++ b/arch/arm/mach-kirkwood/Makefile
@@ -1,42 +1,44 @@
1obj-y += common.o addr-map.o irq.o pcie.o mpp.o 1obj-y += common.o addr-map.o irq.o pcie.o mpp.o
2 2
3obj-$(CONFIG_MACH_D2NET_V2) += d2net_v2-setup.o lacie_v2-common.o
3obj-$(CONFIG_MACH_DB88F6281_BP) += db88f6281-bp-setup.o 4obj-$(CONFIG_MACH_DB88F6281_BP) += db88f6281-bp-setup.o
4obj-$(CONFIG_MACH_RD88F6192_NAS) += rd88f6192-nas-setup.o 5obj-$(CONFIG_MACH_DOCKSTAR) += dockstar-setup.o
5obj-$(CONFIG_MACH_RD88F6281) += rd88f6281-setup.o
6obj-$(CONFIG_MACH_MV88F6281GTW_GE) += mv88f6281gtw_ge-setup.o
7obj-$(CONFIG_MACH_SHEEVAPLUG) += sheevaplug-setup.o
8obj-$(CONFIG_MACH_ESATA_SHEEVAPLUG) += sheevaplug-setup.o 6obj-$(CONFIG_MACH_ESATA_SHEEVAPLUG) += sheevaplug-setup.o
9obj-$(CONFIG_MACH_GURUPLUG) += guruplug-setup.o 7obj-$(CONFIG_MACH_GURUPLUG) += guruplug-setup.o
10obj-$(CONFIG_MACH_DOCKSTAR) += dockstar-setup.o
11obj-$(CONFIG_MACH_TS219) += ts219-setup.o tsx1x-common.o
12obj-$(CONFIG_MACH_TS41X) += ts41x-setup.o tsx1x-common.o
13obj-$(CONFIG_MACH_OPENRD) += openrd-setup.o
14obj-$(CONFIG_MACH_NETSPACE_V2) += netspace_v2-setup.o lacie_v2-common.o
15obj-$(CONFIG_MACH_INETSPACE_V2) += netspace_v2-setup.o lacie_v2-common.o 8obj-$(CONFIG_MACH_INETSPACE_V2) += netspace_v2-setup.o lacie_v2-common.o
16obj-$(CONFIG_MACH_NETSPACE_MAX_V2) += netspace_v2-setup.o lacie_v2-common.o 9obj-$(CONFIG_MACH_MV88F6281GTW_GE) += mv88f6281gtw_ge-setup.o
17obj-$(CONFIG_MACH_D2NET_V2) += d2net_v2-setup.o lacie_v2-common.o
18obj-$(CONFIG_MACH_NET2BIG_V2) += netxbig_v2-setup.o lacie_v2-common.o 10obj-$(CONFIG_MACH_NET2BIG_V2) += netxbig_v2-setup.o lacie_v2-common.o
19obj-$(CONFIG_MACH_NET5BIG_V2) += netxbig_v2-setup.o lacie_v2-common.o 11obj-$(CONFIG_MACH_NET5BIG_V2) += netxbig_v2-setup.o lacie_v2-common.o
12obj-$(CONFIG_MACH_NETSPACE_MAX_V2) += netspace_v2-setup.o lacie_v2-common.o
13obj-$(CONFIG_MACH_NETSPACE_V2) += netspace_v2-setup.o lacie_v2-common.o
14obj-$(CONFIG_MACH_OPENRD) += openrd-setup.o
15obj-$(CONFIG_MACH_RD88F6192_NAS) += rd88f6192-nas-setup.o
16obj-$(CONFIG_MACH_RD88F6281) += rd88f6281-setup.o
17obj-$(CONFIG_MACH_SHEEVAPLUG) += sheevaplug-setup.o
20obj-$(CONFIG_MACH_T5325) += t5325-setup.o 18obj-$(CONFIG_MACH_T5325) += t5325-setup.o
19obj-$(CONFIG_MACH_TS219) += ts219-setup.o tsx1x-common.o
20obj-$(CONFIG_MACH_TS41X) += ts41x-setup.o tsx1x-common.o
21 21
22obj-$(CONFIG_ARCH_KIRKWOOD_DT) += board-dt.o 22obj-$(CONFIG_ARCH_KIRKWOOD_DT) += board-dt.o
23obj-$(CONFIG_MACH_DREAMPLUG_DT) += board-dreamplug.o 23obj-$(CONFIG_MACH_CLOUDBOX_DT) += board-ns2.o
24obj-$(CONFIG_MACH_GURUPLUG_DT) += board-guruplug.o
25obj-$(CONFIG_MACH_ICONNECT_DT) += board-iconnect.o
26obj-$(CONFIG_MACH_DLINK_KIRKWOOD_DT) += board-dnskw.o 24obj-$(CONFIG_MACH_DLINK_KIRKWOOD_DT) += board-dnskw.o
27obj-$(CONFIG_MACH_IB62X0_DT) += board-ib62x0.o
28obj-$(CONFIG_MACH_TS219_DT) += board-ts219.o tsx1x-common.o
29obj-$(CONFIG_MACH_DOCKSTAR_DT) += board-dockstar.o 25obj-$(CONFIG_MACH_DOCKSTAR_DT) += board-dockstar.o
26obj-$(CONFIG_MACH_DREAMPLUG_DT) += board-dreamplug.o
30obj-$(CONFIG_MACH_GOFLEXNET_DT) += board-goflexnet.o 27obj-$(CONFIG_MACH_GOFLEXNET_DT) += board-goflexnet.o
31obj-$(CONFIG_MACH_LSXL_DT) += board-lsxl.o 28obj-$(CONFIG_MACH_GURUPLUG_DT) += board-guruplug.o
29obj-$(CONFIG_MACH_IB62X0_DT) += board-ib62x0.o
30obj-$(CONFIG_MACH_ICONNECT_DT) += board-iconnect.o
31obj-$(CONFIG_MACH_INETSPACE_V2_DT) += board-ns2.o
32obj-$(CONFIG_MACH_IOMEGA_IX2_200_DT) += board-iomega_ix2_200.o 32obj-$(CONFIG_MACH_IOMEGA_IX2_200_DT) += board-iomega_ix2_200.o
33obj-$(CONFIG_MACH_KM_KIRKWOOD_DT) += board-km_kirkwood.o 33obj-$(CONFIG_MACH_KM_KIRKWOOD_DT) += board-km_kirkwood.o
34obj-$(CONFIG_MACH_INETSPACE_V2_DT) += board-ns2.o 34obj-$(CONFIG_MACH_LSXL_DT) += board-lsxl.o
35obj-$(CONFIG_MACH_MPLCEC4_DT) += board-mplcec4.o 35obj-$(CONFIG_MACH_MPLCEC4_DT) += board-mplcec4.o
36obj-$(CONFIG_MACH_NETSPACE_V2_DT) += board-ns2.o
37obj-$(CONFIG_MACH_NETSPACE_MAX_V2_DT) += board-ns2.o
38obj-$(CONFIG_MACH_NETSPACE_LITE_V2_DT) += board-ns2.o 36obj-$(CONFIG_MACH_NETSPACE_LITE_V2_DT) += board-ns2.o
37obj-$(CONFIG_MACH_NETSPACE_MAX_V2_DT) += board-ns2.o
39obj-$(CONFIG_MACH_NETSPACE_MINI_V2_DT) += board-ns2.o 38obj-$(CONFIG_MACH_NETSPACE_MINI_V2_DT) += board-ns2.o
39obj-$(CONFIG_MACH_NETSPACE_V2_DT) += board-ns2.o
40obj-$(CONFIG_MACH_NSA310_DT) += board-nsa310.o 40obj-$(CONFIG_MACH_NSA310_DT) += board-nsa310.o
41obj-$(CONFIG_MACH_OPENBLOCKS_A6_DT) += board-openblocks_a6.o 41obj-$(CONFIG_MACH_OPENBLOCKS_A6_DT) += board-openblocks_a6.o
42obj-$(CONFIG_MACH_READYNAS_DT) += board-readynas.o
42obj-$(CONFIG_MACH_TOPKICK_DT) += board-usi_topkick.o 43obj-$(CONFIG_MACH_TOPKICK_DT) += board-usi_topkick.o
44obj-$(CONFIG_MACH_TS219_DT) += board-ts219.o tsx1x-common.o
diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c
index d367aa6b47bb..7904758e771f 100644
--- a/arch/arm/mach-kirkwood/board-dt.c
+++ b/arch/arm/mach-kirkwood/board-dt.c
@@ -139,16 +139,20 @@ static void __init kirkwood_dt_init(void)
139 if (of_machine_is_compatible("keymile,km_kirkwood")) 139 if (of_machine_is_compatible("keymile,km_kirkwood"))
140 km_kirkwood_init(); 140 km_kirkwood_init();
141 141
142 if (of_machine_is_compatible("lacie,inetspace_v2") || 142 if (of_machine_is_compatible("lacie,cloudbox") ||
143 of_machine_is_compatible("lacie,netspace_v2") || 143 of_machine_is_compatible("lacie,inetspace_v2") ||
144 of_machine_is_compatible("lacie,netspace_max_v2") ||
145 of_machine_is_compatible("lacie,netspace_lite_v2") || 144 of_machine_is_compatible("lacie,netspace_lite_v2") ||
146 of_machine_is_compatible("lacie,netspace_mini_v2")) 145 of_machine_is_compatible("lacie,netspace_max_v2") ||
146 of_machine_is_compatible("lacie,netspace_mini_v2") ||
147 of_machine_is_compatible("lacie,netspace_v2"))
147 ns2_init(); 148 ns2_init();
148 149
149 if (of_machine_is_compatible("mpl,cec4")) 150 if (of_machine_is_compatible("mpl,cec4"))
150 mplcec4_init(); 151 mplcec4_init();
151 152
153 if (of_machine_is_compatible("netgear,readynas-duo-v2"))
154 netgear_readynas_init();
155
152 if (of_machine_is_compatible("plathome,openblocks-a6")) 156 if (of_machine_is_compatible("plathome,openblocks-a6"))
153 openblocks_a6_init(); 157 openblocks_a6_init();
154 158
@@ -171,12 +175,14 @@ static const char * const kirkwood_dt_board_compat[] = {
171 "buffalo,lsxl", 175 "buffalo,lsxl",
172 "iom,ix2-200", 176 "iom,ix2-200",
173 "keymile,km_kirkwood", 177 "keymile,km_kirkwood",
178 "lacie,cloudbox",
174 "lacie,inetspace_v2", 179 "lacie,inetspace_v2",
175 "lacie,netspace_max_v2",
176 "lacie,netspace_v2",
177 "lacie,netspace_lite_v2", 180 "lacie,netspace_lite_v2",
181 "lacie,netspace_max_v2",
178 "lacie,netspace_mini_v2", 182 "lacie,netspace_mini_v2",
183 "lacie,netspace_v2",
179 "mpl,cec4", 184 "mpl,cec4",
185 "netgear,readynas-duo-v2",
180 "plathome,openblocks-a6", 186 "plathome,openblocks-a6",
181 "usi,topkick", 187 "usi,topkick",
182 "zyxel,nsa310", 188 "zyxel,nsa310",
diff --git a/arch/arm/mach-kirkwood/board-ns2.c b/arch/arm/mach-kirkwood/board-ns2.c
index f2ea3b7ad726..f8f660525ace 100644
--- a/arch/arm/mach-kirkwood/board-ns2.c
+++ b/arch/arm/mach-kirkwood/board-ns2.c
@@ -27,7 +27,8 @@ void __init ns2_init(void)
27 /* 27 /*
28 * Basic setup. Needs to be called early. 28 * Basic setup. Needs to be called early.
29 */ 29 */
30 if (of_machine_is_compatible("lacie,netspace_lite_v2") || 30 if (of_machine_is_compatible("lacie,cloudbox") ||
31 of_machine_is_compatible("lacie,netspace_lite_v2") ||
31 of_machine_is_compatible("lacie,netspace_mini_v2")) 32 of_machine_is_compatible("lacie,netspace_mini_v2"))
32 ns2_ge00_data.phy_addr = MV643XX_ETH_PHY_ADDR(0); 33 ns2_ge00_data.phy_addr = MV643XX_ETH_PHY_ADDR(0);
33 kirkwood_ge00_init(&ns2_ge00_data); 34 kirkwood_ge00_init(&ns2_ge00_data);
diff --git a/arch/arm/mach-kirkwood/board-readynas.c b/arch/arm/mach-kirkwood/board-readynas.c
new file mode 100644
index 000000000000..fb42c20e273f
--- /dev/null
+++ b/arch/arm/mach-kirkwood/board-readynas.c
@@ -0,0 +1,28 @@
1/*
2 * NETGEAR ReadyNAS Duo v2 Board setup for drivers not already
3 * converted to DT.
4 *
5 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version
10 * 2 of the License, or (at your option) any later version.
11 */
12
13#include <linux/kernel.h>
14#include <linux/init.h>
15#include <linux/platform_device.h>
16#include <linux/mv643xx_eth.h>
17#include <mach/kirkwood.h>
18#include "common.h"
19
20static struct mv643xx_eth_platform_data netgear_readynas_ge00_data = {
21 .phy_addr = MV643XX_ETH_PHY_ADDR(0),
22};
23
24void __init netgear_readynas_init(void)
25{
26 kirkwood_ge00_init(&netgear_readynas_ge00_data);
27 kirkwood_pcie_init(KW_PCIE0);
28}
diff --git a/arch/arm/mach-kirkwood/common.h b/arch/arm/mach-kirkwood/common.h
index 5ed70565c843..3147be2f34da 100644
--- a/arch/arm/mach-kirkwood/common.h
+++ b/arch/arm/mach-kirkwood/common.h
@@ -141,12 +141,24 @@ void openblocks_a6_init(void);
141static inline void openblocks_a6_init(void) {}; 141static inline void openblocks_a6_init(void) {};
142#endif 142#endif
143 143
144#ifdef CONFIG_MACH_READYNAS_DT
145void netgear_readynas_init(void);
146#else
147static inline void netgear_readynas_init(void) {};
148#endif
149
144#ifdef CONFIG_MACH_TOPKICK_DT 150#ifdef CONFIG_MACH_TOPKICK_DT
145void usi_topkick_init(void); 151void usi_topkick_init(void);
146#else 152#else
147static inline void usi_topkick_init(void) {}; 153static inline void usi_topkick_init(void) {};
148#endif 154#endif
149 155
156#ifdef CONFIG_MACH_CLOUDBOX_DT
157void cloudbox_init(void);
158#else
159static inline void cloudbox_init(void) {};
160#endif
161
150/* early init functions not converted to fdt yet */ 162/* early init functions not converted to fdt yet */
151char *kirkwood_id(void); 163char *kirkwood_id(void);
152void kirkwood_l2_init(void); 164void kirkwood_l2_init(void);