diff options
author | Simon Guinot <sguinot@lacie.com> | 2010-07-05 06:31:04 -0400 |
---|---|---|
committer | Nicolas Pitre <nico@fluxnic.net> | 2010-07-16 22:01:59 -0400 |
commit | b6a044ff5757b22572ac3f3ccd006fb052b27b77 (patch) | |
tree | fbcbf52eb518be4a6ccbe60bf5f1dcf9ec2a25a8 /arch/arm | |
parent | a87182b3d12e0f6b8cca1731a95bec24269f53ad (diff) |
[ARM] Kirkwood: add LaCie Network Space Max v2 support
Signed-off-by: Simon Guinot <sguinot@lacie.com>
Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-kirkwood/Kconfig | 6 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/netspace_v2-setup.c | 29 |
3 files changed, 36 insertions, 0 deletions
diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig index f638ec16bb7f..cc25501b57fa 100644 --- a/arch/arm/mach-kirkwood/Kconfig +++ b/arch/arm/mach-kirkwood/Kconfig | |||
@@ -94,6 +94,12 @@ config MACH_INETSPACE_V2 | |||
94 | Say 'Y' here if you want your kernel to support the | 94 | Say 'Y' here if you want your kernel to support the |
95 | LaCie Internet Space v2 NAS. | 95 | LaCie Internet Space v2 NAS. |
96 | 96 | ||
97 | config MACH_NETSPACE_MAX_V2 | ||
98 | bool "LaCie Network Space Max v2 NAS Board" | ||
99 | help | ||
100 | Say 'Y' here if you want your kernel to support the | ||
101 | LaCie Network Space Max v2 NAS. | ||
102 | |||
97 | config MACH_NET2BIG_V2 | 103 | config MACH_NET2BIG_V2 |
98 | bool "LaCie 2Big Network v2 NAS Board" | 104 | bool "LaCie 2Big Network v2 NAS Board" |
99 | help | 105 | help |
diff --git a/arch/arm/mach-kirkwood/Makefile b/arch/arm/mach-kirkwood/Makefile index b7c5d5e62bc3..295d7baa6ae1 100644 --- a/arch/arm/mach-kirkwood/Makefile +++ b/arch/arm/mach-kirkwood/Makefile | |||
@@ -12,6 +12,7 @@ obj-$(CONFIG_MACH_TS41X) += ts41x-setup.o tsx1x-common.o | |||
12 | obj-$(CONFIG_MACH_OPENRD) += openrd-setup.o | 12 | obj-$(CONFIG_MACH_OPENRD) += openrd-setup.o |
13 | obj-$(CONFIG_MACH_NETSPACE_V2) += netspace_v2-setup.o | 13 | obj-$(CONFIG_MACH_NETSPACE_V2) += netspace_v2-setup.o |
14 | obj-$(CONFIG_MACH_INETSPACE_V2) += netspace_v2-setup.o | 14 | obj-$(CONFIG_MACH_INETSPACE_V2) += netspace_v2-setup.o |
15 | obj-$(CONFIG_MACH_NETSPACE_MAX_V2) += netspace_v2-setup.o | ||
15 | obj-$(CONFIG_MACH_NET2BIG_V2) += netxbig_v2-setup.o | 16 | obj-$(CONFIG_MACH_NET2BIG_V2) += netxbig_v2-setup.o |
16 | obj-$(CONFIG_MACH_NET5BIG_V2) += netxbig_v2-setup.o | 17 | obj-$(CONFIG_MACH_NET5BIG_V2) += netxbig_v2-setup.o |
17 | obj-$(CONFIG_MACH_T5325) += t5325-setup.o | 18 | obj-$(CONFIG_MACH_T5325) += t5325-setup.o |
diff --git a/arch/arm/mach-kirkwood/netspace_v2-setup.c b/arch/arm/mach-kirkwood/netspace_v2-setup.c index b96e43bdea2c..9f20c8d3e18b 100644 --- a/arch/arm/mach-kirkwood/netspace_v2-setup.c +++ b/arch/arm/mach-kirkwood/netspace_v2-setup.c | |||
@@ -126,6 +126,18 @@ static void __init netspace_v2_sata_power_init(void) | |||
126 | } | 126 | } |
127 | if (err) | 127 | if (err) |
128 | pr_err("netspace_v2: failed to setup SATA0 power\n"); | 128 | pr_err("netspace_v2: failed to setup SATA0 power\n"); |
129 | |||
130 | if (machine_is_netspace_max_v2()) { | ||
131 | err = gpio_request(NETSPACE_V2_GPIO_SATA1_POWER, "SATA1 power"); | ||
132 | if (err == 0) { | ||
133 | err = gpio_direction_output( | ||
134 | NETSPACE_V2_GPIO_SATA1_POWER, 1); | ||
135 | if (err) | ||
136 | gpio_free(NETSPACE_V2_GPIO_SATA1_POWER); | ||
137 | } | ||
138 | if (err) | ||
139 | pr_err("netspace_v2: failed to setup SATA1 power\n"); | ||
140 | } | ||
129 | } | 141 | } |
130 | 142 | ||
131 | /***************************************************************************** | 143 | /***************************************************************************** |
@@ -249,6 +261,7 @@ static unsigned int netspace_v2_mpp_config[] __initdata = { | |||
249 | MPP4_NF_IO6, | 261 | MPP4_NF_IO6, |
250 | MPP5_NF_IO7, | 262 | MPP5_NF_IO7, |
251 | MPP6_SYSRST_OUTn, | 263 | MPP6_SYSRST_OUTn, |
264 | MPP7_GPO, /* Fan speed (bit 1) */ | ||
252 | MPP8_TW0_SDA, | 265 | MPP8_TW0_SDA, |
253 | MPP9_TW0_SCK, | 266 | MPP9_TW0_SCK, |
254 | MPP10_UART0_TXD, | 267 | MPP10_UART0_TXD, |
@@ -256,10 +269,13 @@ static unsigned int netspace_v2_mpp_config[] __initdata = { | |||
256 | MPP12_GPO, /* Red led */ | 269 | MPP12_GPO, /* Red led */ |
257 | MPP14_GPIO, /* USB fuse */ | 270 | MPP14_GPIO, /* USB fuse */ |
258 | MPP16_GPIO, /* SATA 0 power */ | 271 | MPP16_GPIO, /* SATA 0 power */ |
272 | MPP17_GPIO, /* SATA 1 power */ | ||
259 | MPP18_NF_IO0, | 273 | MPP18_NF_IO0, |
260 | MPP19_NF_IO1, | 274 | MPP19_NF_IO1, |
261 | MPP20_SATA1_ACTn, | 275 | MPP20_SATA1_ACTn, |
262 | MPP21_SATA0_ACTn, | 276 | MPP21_SATA0_ACTn, |
277 | MPP22_GPIO, /* Fan speed (bit 0) */ | ||
278 | MPP23_GPIO, /* Fan power */ | ||
263 | MPP24_GPIO, /* USB mode select */ | 279 | MPP24_GPIO, /* USB mode select */ |
264 | MPP25_GPIO, /* Fan rotation fail */ | 280 | MPP25_GPIO, /* Fan rotation fail */ |
265 | MPP26_GPIO, /* USB device vbus */ | 281 | MPP26_GPIO, /* USB device vbus */ |
@@ -268,6 +284,7 @@ static unsigned int netspace_v2_mpp_config[] __initdata = { | |||
268 | MPP30_GPIO, /* Blue led (command register) */ | 284 | MPP30_GPIO, /* Blue led (command register) */ |
269 | MPP31_GPIO, /* Board power off */ | 285 | MPP31_GPIO, /* Board power off */ |
270 | MPP32_GPIO, /* Power button (0 = Released, 1 = Pushed) */ | 286 | MPP32_GPIO, /* Power button (0 = Released, 1 = Pushed) */ |
287 | MPP33_GPO, /* Fan speed (bit 2) */ | ||
271 | 0 | 288 | 0 |
272 | }; | 289 | }; |
273 | 290 | ||
@@ -332,3 +349,15 @@ MACHINE_START(INETSPACE_V2, "LaCie Internet Space v2") | |||
332 | .timer = &netspace_v2_timer, | 349 | .timer = &netspace_v2_timer, |
333 | MACHINE_END | 350 | MACHINE_END |
334 | #endif | 351 | #endif |
352 | |||
353 | #ifdef CONFIG_MACH_NETSPACE_MAX_V2 | ||
354 | MACHINE_START(NETSPACE_MAX_V2, "LaCie Network Space Max v2") | ||
355 | .phys_io = KIRKWOOD_REGS_PHYS_BASE, | ||
356 | .io_pg_offst = ((KIRKWOOD_REGS_VIRT_BASE) >> 18) & 0xfffc, | ||
357 | .boot_params = 0x00000100, | ||
358 | .init_machine = netspace_v2_init, | ||
359 | .map_io = kirkwood_map_io, | ||
360 | .init_irq = kirkwood_init_irq, | ||
361 | .timer = &netspace_v2_timer, | ||
362 | MACHINE_END | ||
363 | #endif | ||