aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorSimon Guinot <sguinot@lacie.com>2010-07-05 06:31:04 -0400
committerNicolas Pitre <nico@fluxnic.net>2010-07-16 22:01:59 -0400
commitb6a044ff5757b22572ac3f3ccd006fb052b27b77 (patch)
treefbcbf52eb518be4a6ccbe60bf5f1dcf9ec2a25a8 /arch/arm
parenta87182b3d12e0f6b8cca1731a95bec24269f53ad (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/Kconfig6
-rw-r--r--arch/arm/mach-kirkwood/Makefile1
-rw-r--r--arch/arm/mach-kirkwood/netspace_v2-setup.c29
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
97config 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
97config MACH_NET2BIG_V2 103config 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
12obj-$(CONFIG_MACH_OPENRD) += openrd-setup.o 12obj-$(CONFIG_MACH_OPENRD) += openrd-setup.o
13obj-$(CONFIG_MACH_NETSPACE_V2) += netspace_v2-setup.o 13obj-$(CONFIG_MACH_NETSPACE_V2) += netspace_v2-setup.o
14obj-$(CONFIG_MACH_INETSPACE_V2) += netspace_v2-setup.o 14obj-$(CONFIG_MACH_INETSPACE_V2) += netspace_v2-setup.o
15obj-$(CONFIG_MACH_NETSPACE_MAX_V2) += netspace_v2-setup.o
15obj-$(CONFIG_MACH_NET2BIG_V2) += netxbig_v2-setup.o 16obj-$(CONFIG_MACH_NET2BIG_V2) += netxbig_v2-setup.o
16obj-$(CONFIG_MACH_NET5BIG_V2) += netxbig_v2-setup.o 17obj-$(CONFIG_MACH_NET5BIG_V2) += netxbig_v2-setup.o
17obj-$(CONFIG_MACH_T5325) += t5325-setup.o 18obj-$(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,
333MACHINE_END 350MACHINE_END
334#endif 351#endif
352
353#ifdef CONFIG_MACH_NETSPACE_MAX_V2
354MACHINE_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,
362MACHINE_END
363#endif