diff options
author | Simon Guinot <simon.guinot@sequanux.org> | 2012-10-17 06:09:06 -0400 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2012-11-21 15:58:49 -0500 |
commit | 7f9871d9d30f25891e0c4da4c6284d9e66e702f5 (patch) | |
tree | 5a9b180c35a261f8d215212cbb46e24ca0b7683d /arch | |
parent | ca7d94524ab3554b08f13de91674d570cb4a09b6 (diff) |
ARM: kirkwood: DT board setup for Network Space Mini v2
This patch adds DT board setup for the LaCie NAS Network Space Mini v2
(aka SafeBox). The hardware characteristics are very close to those of
the Network Space Lite v2. The main difference are:
- A GPIO fan which is only available on the NS2 Mini.
- A single USB host port is wired on the NS2 Mini. The NS2 Lite provides
an additional dual-mode USB port (host/device).
Signed-off-by: Simon Guinot <simon.guinot@sequanux.org>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/boot/dts/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/kirkwood-ns2mini.dts | 49 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/Kconfig | 8 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/board-dt.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/board-ns2.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/common.h | 3 |
7 files changed, 66 insertions, 3 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 74fca59370c3..77fce3f63946 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -43,6 +43,7 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-dns320.dtb \ | |||
43 | kirkwood-ns2.dtb \ | 43 | kirkwood-ns2.dtb \ |
44 | kirkwood-ns2lite.dtb \ | 44 | kirkwood-ns2lite.dtb \ |
45 | kirkwood-ns2max.dtb \ | 45 | kirkwood-ns2max.dtb \ |
46 | kirkwood-ns2mini.dtb \ | ||
46 | kirkwood-ts219-6281.dtb \ | 47 | kirkwood-ts219-6281.dtb \ |
47 | kirkwood-ts219-6282.dtb | 48 | kirkwood-ts219-6282.dtb |
48 | dtb-$(CONFIG_ARCH_MSM) += msm8660-surf.dtb \ | 49 | dtb-$(CONFIG_ARCH_MSM) += msm8660-surf.dtb \ |
diff --git a/arch/arm/boot/dts/kirkwood-ns2mini.dts b/arch/arm/boot/dts/kirkwood-ns2mini.dts new file mode 100644 index 000000000000..b79f5eb25589 --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-ns2mini.dts | |||
@@ -0,0 +1,49 @@ | |||
1 | /dts-v1/; | ||
2 | |||
3 | /include/ "kirkwood-ns2-common.dtsi" | ||
4 | |||
5 | / { | ||
6 | model = "LaCie Network Space Mini v2"; | ||
7 | compatible = "lacie,netspace_mini_v2", "marvell,kirkwood-88f6192", "marvell,kirkwood"; | ||
8 | |||
9 | memory { | ||
10 | device_type = "memory"; | ||
11 | reg = <0x00000000 0x8000000>; | ||
12 | }; | ||
13 | |||
14 | ocp@f1000000 { | ||
15 | sata@80000 { | ||
16 | status = "okay"; | ||
17 | nr-ports = <1>; | ||
18 | }; | ||
19 | }; | ||
20 | |||
21 | gpio_fan { | ||
22 | compatible = "gpio-fan"; | ||
23 | gpios = <&gpio0 22 1 | ||
24 | &gpio0 7 1 | ||
25 | &gpio1 1 1 | ||
26 | &gpio0 23 1>; | ||
27 | gpio-fan,speed-map = | ||
28 | < 0 0 | ||
29 | 3000 15 | ||
30 | 3180 14 | ||
31 | 4140 13 | ||
32 | 4570 12 | ||
33 | 6760 11 | ||
34 | 7140 10 | ||
35 | 7980 9 | ||
36 | 9200 8>; | ||
37 | alarm-gpios = <&gpio0 25 1>; | ||
38 | }; | ||
39 | |||
40 | ns2-leds { | ||
41 | compatible = "lacie,ns2-leds"; | ||
42 | |||
43 | blue-sata { | ||
44 | label = "ns2:blue:sata"; | ||
45 | slow-gpio = <&gpio0 29 0>; | ||
46 | cmd-gpio = <&gpio0 30 0>; | ||
47 | }; | ||
48 | }; | ||
49 | }; | ||
diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig index 83df331fce28..757bdb39bc08 100644 --- a/arch/arm/mach-kirkwood/Kconfig +++ b/arch/arm/mach-kirkwood/Kconfig | |||
@@ -158,6 +158,14 @@ config MACH_NETSPACE_LITE_V2_DT | |||
158 | Say 'Y' here if you want your kernel to support the LaCie | 158 | Say 'Y' here if you want your kernel to support the LaCie |
159 | Network Space Lite v2 NAS, using Flattened Device Tree. | 159 | Network Space Lite v2 NAS, using Flattened Device Tree. |
160 | 160 | ||
161 | config MACH_NETSPACE_MINI_V2_DT | ||
162 | bool "LaCie Network Space Mini v2 NAS (Flattened Device Tree)" | ||
163 | select ARCH_KIRKWOOD_DT | ||
164 | help | ||
165 | Say 'Y' here if you want your kernel to support the LaCie | ||
166 | Network Space Mini v2 NAS (aka SafeBox), using Flattened | ||
167 | Device Tree. | ||
168 | |||
161 | config MACH_TS219 | 169 | config MACH_TS219 |
162 | bool "QNAP TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and TS-219P+ Turbo NAS" | 170 | bool "QNAP TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and TS-219P+ Turbo NAS" |
163 | help | 171 | help |
diff --git a/arch/arm/mach-kirkwood/Makefile b/arch/arm/mach-kirkwood/Makefile index 4d4b7d4fbcf5..3ff4aa1030c5 100644 --- a/arch/arm/mach-kirkwood/Makefile +++ b/arch/arm/mach-kirkwood/Makefile | |||
@@ -35,3 +35,4 @@ obj-$(CONFIG_MACH_INETSPACE_V2_DT) += board-ns2.o | |||
35 | obj-$(CONFIG_MACH_NETSPACE_V2_DT) += board-ns2.o | 35 | obj-$(CONFIG_MACH_NETSPACE_V2_DT) += board-ns2.o |
36 | obj-$(CONFIG_MACH_NETSPACE_MAX_V2_DT) += board-ns2.o | 36 | obj-$(CONFIG_MACH_NETSPACE_MAX_V2_DT) += board-ns2.o |
37 | obj-$(CONFIG_MACH_NETSPACE_LITE_V2_DT) += board-ns2.o | 37 | obj-$(CONFIG_MACH_NETSPACE_LITE_V2_DT) += board-ns2.o |
38 | obj-$(CONFIG_MACH_NETSPACE_MINI_V2_DT) += board-ns2.o | ||
diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c index b76ef75f533f..571b0198e4d5 100644 --- a/arch/arm/mach-kirkwood/board-dt.c +++ b/arch/arm/mach-kirkwood/board-dt.c | |||
@@ -99,7 +99,8 @@ static void __init kirkwood_dt_init(void) | |||
99 | if (of_machine_is_compatible("lacie,inetspace_v2") || | 99 | if (of_machine_is_compatible("lacie,inetspace_v2") || |
100 | of_machine_is_compatible("lacie,netspace_v2") || | 100 | of_machine_is_compatible("lacie,netspace_v2") || |
101 | of_machine_is_compatible("lacie,netspace_max_v2") || | 101 | of_machine_is_compatible("lacie,netspace_max_v2") || |
102 | of_machine_is_compatible("lacie,netspace_lite_v2")) | 102 | of_machine_is_compatible("lacie,netspace_lite_v2") || |
103 | of_machine_is_compatible("lacie,netspace_mini_v2")) | ||
103 | ns2_init(); | 104 | ns2_init(); |
104 | 105 | ||
105 | of_platform_populate(NULL, kirkwood_dt_match_table, | 106 | of_platform_populate(NULL, kirkwood_dt_match_table, |
@@ -122,6 +123,7 @@ static const char *kirkwood_dt_board_compat[] = { | |||
122 | "lacie,netspace_max_v2", | 123 | "lacie,netspace_max_v2", |
123 | "lacie,netspace_v2", | 124 | "lacie,netspace_v2", |
124 | "lacie,netspace_lite_v2", | 125 | "lacie,netspace_lite_v2", |
126 | "lacie,netspace_mini_v2", | ||
125 | NULL | 127 | NULL |
126 | }; | 128 | }; |
127 | 129 | ||
diff --git a/arch/arm/mach-kirkwood/board-ns2.c b/arch/arm/mach-kirkwood/board-ns2.c index da8c4c5bf4f6..78596c4f76d2 100644 --- a/arch/arm/mach-kirkwood/board-ns2.c +++ b/arch/arm/mach-kirkwood/board-ns2.c | |||
@@ -74,7 +74,8 @@ void __init ns2_init(void) | |||
74 | kirkwood_mpp_conf(ns2_mpp_config); | 74 | kirkwood_mpp_conf(ns2_mpp_config); |
75 | 75 | ||
76 | kirkwood_ehci_init(); | 76 | kirkwood_ehci_init(); |
77 | if (of_machine_is_compatible("lacie,netspace_lite_v2")) | 77 | if (of_machine_is_compatible("lacie,netspace_lite_v2") || |
78 | of_machine_is_compatible("lacie,netspace_mini_v2")) | ||
78 | ns2_ge00_data.phy_addr = MV643XX_ETH_PHY_ADDR(0); | 79 | ns2_ge00_data.phy_addr = MV643XX_ETH_PHY_ADDR(0); |
79 | kirkwood_ge00_init(&ns2_ge00_data); | 80 | kirkwood_ge00_init(&ns2_ge00_data); |
80 | 81 | ||
diff --git a/arch/arm/mach-kirkwood/common.h b/arch/arm/mach-kirkwood/common.h index 6949d8198de1..95eb69b7b46c 100644 --- a/arch/arm/mach-kirkwood/common.h +++ b/arch/arm/mach-kirkwood/common.h | |||
@@ -115,7 +115,8 @@ static inline void km_kirkwood_init(void) {}; | |||
115 | #if defined(CONFIG_MACH_INETSPACE_V2_DT) || \ | 115 | #if defined(CONFIG_MACH_INETSPACE_V2_DT) || \ |
116 | defined(CONFIG_MACH_NETSPACE_V2_DT) || \ | 116 | defined(CONFIG_MACH_NETSPACE_V2_DT) || \ |
117 | defined(CONFIG_MACH_NETSPACE_MAX_V2_DT) || \ | 117 | defined(CONFIG_MACH_NETSPACE_MAX_V2_DT) || \ |
118 | defined(CONFIG_MACH_NETSPACE_LITE_V2_DT) | 118 | defined(CONFIG_MACH_NETSPACE_LITE_V2_DT) || \ |
119 | defined(CONFIG_MACH_NETSPACE_MINI_V2_DT) | ||
119 | void ns2_init(void); | 120 | void ns2_init(void); |
120 | #else | 121 | #else |
121 | static inline void ns2_init(void) {}; | 122 | static inline void ns2_init(void) {}; |