aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Guinot <simon.guinot@sequanux.org>2012-10-17 06:09:05 -0400
committerJason Cooper <jason@lakedaemon.net>2012-11-21 15:58:43 -0500
commitca7d94524ab3554b08f13de91674d570cb4a09b6 (patch)
tree0038aef1d123810546909431305595b5e6f7ced4
parentecee1e47ab42ba3907d6bde7b2981e1006382071 (diff)
ARM: kirkwood: DT board setup for Network Space Lite v2
This patch adds DT board setup for the LaCie NAS Network Space Lite v2. This board is derived from the Network Space v2 and a lot of hardware characteristics are shared. - CPU: Marvell 88F6192 800Mhz - SDRAM memory: 128MB DDR2 200Mhz - 1 SATA port: internal - Gigabit ethernet: PHY Marvell 88E1318 - Flash memory: SPI NOR 512KB (Macronix MX25L4005A) - i2c EEPROM: 512 bytes (24C04 type) - 2 USB2 ports: host and host/device - 1 push button - 1 SATA LED (bi-color, blue and red) Note that the SATA LED is not compatible with the driver leds-ns2. The LED behaviour ("on", "off" or "SATA activity blink") is controlled via a single MPP (21). Signed-off-by: Simon Guinot <simon.guinot@sequanux.org> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
-rw-r--r--arch/arm/boot/dts/Makefile1
-rw-r--r--arch/arm/boot/dts/kirkwood-ns2lite.dts30
-rw-r--r--arch/arm/mach-kirkwood/Kconfig7
-rw-r--r--arch/arm/mach-kirkwood/Makefile1
-rw-r--r--arch/arm/mach-kirkwood/board-dt.c4
-rw-r--r--arch/arm/mach-kirkwood/board-ns2.c3
-rw-r--r--arch/arm/mach-kirkwood/common.h3
7 files changed, 47 insertions, 2 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index e566943cc5d8..74fca59370c3 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -41,6 +41,7 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-dns320.dtb \
41 kirkwood-lschlv2.dtb \ 41 kirkwood-lschlv2.dtb \
42 kirkwood-lsxhl.dtb \ 42 kirkwood-lsxhl.dtb \
43 kirkwood-ns2.dtb \ 43 kirkwood-ns2.dtb \
44 kirkwood-ns2lite.dtb \
44 kirkwood-ns2max.dtb \ 45 kirkwood-ns2max.dtb \
45 kirkwood-ts219-6281.dtb \ 46 kirkwood-ts219-6281.dtb \
46 kirkwood-ts219-6282.dtb 47 kirkwood-ts219-6282.dtb
diff --git a/arch/arm/boot/dts/kirkwood-ns2lite.dts b/arch/arm/boot/dts/kirkwood-ns2lite.dts
new file mode 100644
index 000000000000..b02eb4ea1bb4
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-ns2lite.dts
@@ -0,0 +1,30 @@
1/dts-v1/;
2
3/include/ "kirkwood-ns2-common.dtsi"
4
5/ {
6 model = "LaCie Network Space Lite v2";
7 compatible = "lacie,netspace_lite_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-leds {
22 compatible = "gpio-leds";
23
24 blue-sata {
25 label = "ns2:blue:sata";
26 gpios = <&gpio0 30 1>;
27 linux,default-trigger = "default-on";
28 };
29 };
30};
diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig
index 847e0c2bf672..83df331fce28 100644
--- a/arch/arm/mach-kirkwood/Kconfig
+++ b/arch/arm/mach-kirkwood/Kconfig
@@ -151,6 +151,13 @@ config MACH_NETSPACE_MAX_V2_DT
151 Say 'Y' here if you want your kernel to support the LaCie 151 Say 'Y' here if you want your kernel to support the LaCie
152 Network Space Max v2 NAS, using Flattened Device Tree. 152 Network Space Max v2 NAS, using Flattened Device Tree.
153 153
154config MACH_NETSPACE_LITE_V2_DT
155 bool "LaCie Network Space Lite v2 NAS (Flattened Device Tree)"
156 select ARCH_KIRKWOOD_DT
157 help
158 Say 'Y' here if you want your kernel to support the LaCie
159 Network Space Lite v2 NAS, using Flattened Device Tree.
160
154config MACH_TS219 161config MACH_TS219
155 bool "QNAP TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and TS-219P+ Turbo NAS" 162 bool "QNAP TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and TS-219P+ Turbo NAS"
156 help 163 help
diff --git a/arch/arm/mach-kirkwood/Makefile b/arch/arm/mach-kirkwood/Makefile
index 1f63d804b494..4d4b7d4fbcf5 100644
--- a/arch/arm/mach-kirkwood/Makefile
+++ b/arch/arm/mach-kirkwood/Makefile
@@ -34,3 +34,4 @@ obj-$(CONFIG_MACH_KM_KIRKWOOD_DT) += board-km_kirkwood.o
34obj-$(CONFIG_MACH_INETSPACE_V2_DT) += board-ns2.o 34obj-$(CONFIG_MACH_INETSPACE_V2_DT) += board-ns2.o
35obj-$(CONFIG_MACH_NETSPACE_V2_DT) += board-ns2.o 35obj-$(CONFIG_MACH_NETSPACE_V2_DT) += board-ns2.o
36obj-$(CONFIG_MACH_NETSPACE_MAX_V2_DT) += board-ns2.o 36obj-$(CONFIG_MACH_NETSPACE_MAX_V2_DT) += board-ns2.o
37obj-$(CONFIG_MACH_NETSPACE_LITE_V2_DT) += board-ns2.o
diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c
index 0270a145716f..b76ef75f533f 100644
--- a/arch/arm/mach-kirkwood/board-dt.c
+++ b/arch/arm/mach-kirkwood/board-dt.c
@@ -98,7 +98,8 @@ static void __init kirkwood_dt_init(void)
98 98
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 ns2_init(); 103 ns2_init();
103 104
104 of_platform_populate(NULL, kirkwood_dt_match_table, 105 of_platform_populate(NULL, kirkwood_dt_match_table,
@@ -120,6 +121,7 @@ static const char *kirkwood_dt_board_compat[] = {
120 "lacie,inetspace_v2", 121 "lacie,inetspace_v2",
121 "lacie,netspace_max_v2", 122 "lacie,netspace_max_v2",
122 "lacie,netspace_v2", 123 "lacie,netspace_v2",
124 "lacie,netspace_lite_v2",
123 NULL 125 NULL
124}; 126};
125 127
diff --git a/arch/arm/mach-kirkwood/board-ns2.c b/arch/arm/mach-kirkwood/board-ns2.c
index b36c55cba78b..da8c4c5bf4f6 100644
--- a/arch/arm/mach-kirkwood/board-ns2.c
+++ b/arch/arm/mach-kirkwood/board-ns2.c
@@ -16,6 +16,7 @@
16#include <linux/platform_device.h> 16#include <linux/platform_device.h>
17#include <linux/mv643xx_eth.h> 17#include <linux/mv643xx_eth.h>
18#include <linux/gpio.h> 18#include <linux/gpio.h>
19#include <linux/of.h>
19#include "common.h" 20#include "common.h"
20#include "mpp.h" 21#include "mpp.h"
21 22
@@ -73,6 +74,8 @@ void __init ns2_init(void)
73 kirkwood_mpp_conf(ns2_mpp_config); 74 kirkwood_mpp_conf(ns2_mpp_config);
74 75
75 kirkwood_ehci_init(); 76 kirkwood_ehci_init();
77 if (of_machine_is_compatible("lacie,netspace_lite_v2"))
78 ns2_ge00_data.phy_addr = MV643XX_ETH_PHY_ADDR(0);
76 kirkwood_ge00_init(&ns2_ge00_data); 79 kirkwood_ge00_init(&ns2_ge00_data);
77 80
78 if (gpio_request(NS2_GPIO_POWER_OFF, "power-off") == 0 && 81 if (gpio_request(NS2_GPIO_POWER_OFF, "power-off") == 0 &&
diff --git a/arch/arm/mach-kirkwood/common.h b/arch/arm/mach-kirkwood/common.h
index 2f75f3f7c858..6949d8198de1 100644
--- a/arch/arm/mach-kirkwood/common.h
+++ b/arch/arm/mach-kirkwood/common.h
@@ -114,7 +114,8 @@ static inline void km_kirkwood_init(void) {};
114 114
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)
118void ns2_init(void); 119void ns2_init(void);
119#else 120#else
120static inline void ns2_init(void) {}; 121static inline void ns2_init(void) {};