ARM: kirkwood: DT board setup for Network Space Mini v2
authorSimon Guinot <simon.guinot@sequanux.org>
Wed, 17 Oct 2012 10:09:06 +0000 (12:09 +0200)
committerJason Cooper <jason@lakedaemon.net>
Wed, 21 Nov 2012 20:58:49 +0000 (20:58 +0000)
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>
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/kirkwood-ns2mini.dts [new file with mode: 0644]
arch/arm/mach-kirkwood/Kconfig
arch/arm/mach-kirkwood/Makefile
arch/arm/mach-kirkwood/board-dt.c
arch/arm/mach-kirkwood/board-ns2.c
arch/arm/mach-kirkwood/common.h
drivers/leds/Kconfig

index 74fca59370c3f5b95056e086bc859c8b0af96682..77fce3f639467c87c6565415b6b2e4c9132e5645 100644 (file)
@@ -43,6 +43,7 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-dns320.dtb \
        kirkwood-ns2.dtb \
        kirkwood-ns2lite.dtb \
        kirkwood-ns2max.dtb \
+       kirkwood-ns2mini.dtb \
        kirkwood-ts219-6281.dtb \
        kirkwood-ts219-6282.dtb
 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 (file)
index 0000000..b79f5eb
--- /dev/null
@@ -0,0 +1,49 @@
+/dts-v1/;
+
+/include/ "kirkwood-ns2-common.dtsi"
+
+/ {
+       model = "LaCie Network Space Mini v2";
+       compatible = "lacie,netspace_mini_v2", "marvell,kirkwood-88f6192", "marvell,kirkwood";
+
+       memory {
+               device_type = "memory";
+               reg = <0x00000000 0x8000000>;
+       };
+
+       ocp@f1000000 {
+               sata@80000 {
+                       status = "okay";
+                       nr-ports = <1>;
+               };
+       };
+
+       gpio_fan {
+               compatible = "gpio-fan";
+               gpios = <&gpio0 22 1
+                        &gpio0  7 1
+                        &gpio1  1 1
+                        &gpio0 23 1>;
+               gpio-fan,speed-map =
+                       <   0  0
+                        3000 15
+                        3180 14
+                        4140 13
+                        4570 12
+                        6760 11
+                        7140 10
+                        7980  9
+                        9200  8>;
+               alarm-gpios = <&gpio0 25 1>;
+       };
+
+       ns2-leds {
+               compatible = "lacie,ns2-leds";
+
+               blue-sata {
+                       label = "ns2:blue:sata";
+                       slow-gpio = <&gpio0 29 0>;
+                       cmd-gpio = <&gpio0 30 0>;
+               };
+       };
+};
index 83df331fce285f06967864b24d647247a1e42435..757bdb39bc0888ee40684d4aad5b4f657a81561a 100644 (file)
@@ -158,6 +158,14 @@ config MACH_NETSPACE_LITE_V2_DT
          Say 'Y' here if you want your kernel to support the LaCie
          Network Space Lite v2 NAS, using Flattened Device Tree.
 
+config MACH_NETSPACE_MINI_V2_DT
+       bool "LaCie Network Space Mini v2 NAS (Flattened Device Tree)"
+       select ARCH_KIRKWOOD_DT
+       help
+         Say 'Y' here if you want your kernel to support the LaCie
+         Network Space Mini v2 NAS (aka SafeBox), using Flattened
+         Device Tree.
+
 config MACH_TS219
        bool "QNAP TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and TS-219P+ Turbo NAS"
        help
index 4d4b7d4fbcf57d5e16da7596ff743eca0f5ad50d..3ff4aa1030c51559c7232316099e1a26e1fd2181 100644 (file)
@@ -35,3 +35,4 @@ obj-$(CONFIG_MACH_INETSPACE_V2_DT)    += board-ns2.o
 obj-$(CONFIG_MACH_NETSPACE_V2_DT)      += board-ns2.o
 obj-$(CONFIG_MACH_NETSPACE_MAX_V2_DT)  += board-ns2.o
 obj-$(CONFIG_MACH_NETSPACE_LITE_V2_DT) += board-ns2.o
+obj-$(CONFIG_MACH_NETSPACE_MINI_V2_DT) += board-ns2.o
index b76ef75f533fd5c01a8dca78650147638ece70b5..571b0198e4d57cbae9abb2c01f8000c7e531a469 100644 (file)
@@ -99,7 +99,8 @@ static void __init kirkwood_dt_init(void)
        if (of_machine_is_compatible("lacie,inetspace_v2") ||
            of_machine_is_compatible("lacie,netspace_v2") ||
            of_machine_is_compatible("lacie,netspace_max_v2") ||
-           of_machine_is_compatible("lacie,netspace_lite_v2"))
+           of_machine_is_compatible("lacie,netspace_lite_v2") ||
+           of_machine_is_compatible("lacie,netspace_mini_v2"))
                ns2_init();
 
        of_platform_populate(NULL, kirkwood_dt_match_table,
@@ -122,6 +123,7 @@ static const char *kirkwood_dt_board_compat[] = {
        "lacie,netspace_max_v2",
        "lacie,netspace_v2",
        "lacie,netspace_lite_v2",
+       "lacie,netspace_mini_v2",
        NULL
 };
 
index da8c4c5bf4f629ae4f315284beecff3b6de941e0..78596c4f76d243fd1766f4b7edb641ba8a4bc01e 100644 (file)
@@ -74,7 +74,8 @@ void __init ns2_init(void)
        kirkwood_mpp_conf(ns2_mpp_config);
 
        kirkwood_ehci_init();
-       if (of_machine_is_compatible("lacie,netspace_lite_v2"))
+       if (of_machine_is_compatible("lacie,netspace_lite_v2") ||
+           of_machine_is_compatible("lacie,netspace_mini_v2"))
                ns2_ge00_data.phy_addr = MV643XX_ETH_PHY_ADDR(0);
        kirkwood_ge00_init(&ns2_ge00_data);
 
index 6949d8198de13c9864d7b2bd8646d48e1c8ccba8..95eb69b7b46c618a64721d2ffef7f55fb2d688fb 100644 (file)
@@ -115,7 +115,8 @@ static inline void km_kirkwood_init(void) {};
 #if defined(CONFIG_MACH_INETSPACE_V2_DT) || \
        defined(CONFIG_MACH_NETSPACE_V2_DT) || \
        defined(CONFIG_MACH_NETSPACE_MAX_V2_DT) || \
-       defined(CONFIG_MACH_NETSPACE_LITE_V2_DT)
+       defined(CONFIG_MACH_NETSPACE_LITE_V2_DT) || \
+       defined(CONFIG_MACH_NETSPACE_MINI_V2_DT)
 void ns2_init(void);
 #else
 static inline void ns2_init(void) {};
index e455c08693780fa7a659373e35c917df43d63543..b58bc8a14b9cecc484ef86d0088c53f0a3de9168 100644 (file)
@@ -381,7 +381,7 @@ config LEDS_NS2
        depends on MACH_NETSPACE_V2 || MACH_INETSPACE_V2 || \
                   MACH_NETSPACE_MAX_V2 || MACH_D2NET_V2 || \
                   MACH_NETSPACE_V2_DT || MACH_INETSPACE_V2_DT || \
-                  MACH_NETSPACE_MAX_V2_DT
+                  MACH_NETSPACE_MAX_V2_DT || MACH_NETSPACE_MINI_V2_DT
        default y
        help
          This option enable support for the dual-GPIO LED found on the