ARM: kirkwood: DT board setup for Network Space Lite v2
authorSimon Guinot <simon.guinot@sequanux.org>
Wed, 17 Oct 2012 10:09:05 +0000 (12:09 +0200)
committerJason Cooper <jason@lakedaemon.net>
Wed, 21 Nov 2012 20:58:43 +0000 (20:58 +0000)
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>
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/kirkwood-ns2lite.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

index e566943..74fca59 100644 (file)
@@ -41,6 +41,7 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-dns320.dtb \
        kirkwood-lschlv2.dtb \
        kirkwood-lsxhl.dtb \
        kirkwood-ns2.dtb \
+       kirkwood-ns2lite.dtb \
        kirkwood-ns2max.dtb \
        kirkwood-ts219-6281.dtb \
        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 (file)
index 0000000..b02eb4e
--- /dev/null
@@ -0,0 +1,30 @@
+/dts-v1/;
+
+/include/ "kirkwood-ns2-common.dtsi"
+
+/ {
+       model = "LaCie Network Space Lite v2";
+       compatible = "lacie,netspace_lite_v2", "marvell,kirkwood-88f6192", "marvell,kirkwood";
+
+       memory {
+               device_type = "memory";
+               reg = <0x00000000 0x8000000>;
+       };
+
+       ocp@f1000000 {
+               sata@80000 {
+                       status = "okay";
+                       nr-ports = <1>;
+               };
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+
+               blue-sata {
+                       label = "ns2:blue:sata";
+                       gpios = <&gpio0 30 1>;
+                       linux,default-trigger = "default-on";
+               };
+       };
+};
index 847e0c2..83df331 100644 (file)
@@ -151,6 +151,13 @@ config MACH_NETSPACE_MAX_V2_DT
          Say 'Y' here if you want your kernel to support the LaCie
          Network Space Max v2 NAS, using Flattened Device Tree.
 
+config MACH_NETSPACE_LITE_V2_DT
+       bool "LaCie Network Space Lite v2 NAS (Flattened Device Tree)"
+       select ARCH_KIRKWOOD_DT
+       help
+         Say 'Y' here if you want your kernel to support the LaCie
+         Network Space Lite v2 NAS, 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 1f63d80..4d4b7d4 100644 (file)
@@ -34,3 +34,4 @@ obj-$(CONFIG_MACH_KM_KIRKWOOD_DT)     += board-km_kirkwood.o
 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
index 0270a14..b76ef75 100644 (file)
@@ -98,7 +98,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_max_v2") ||
+           of_machine_is_compatible("lacie,netspace_lite_v2"))
                ns2_init();
 
        of_platform_populate(NULL, kirkwood_dt_match_table,
@@ -120,6 +121,7 @@ static const char *kirkwood_dt_board_compat[] = {
        "lacie,inetspace_v2",
        "lacie,netspace_max_v2",
        "lacie,netspace_v2",
+       "lacie,netspace_lite_v2",
        NULL
 };
 
index b36c55c..da8c4c5 100644 (file)
@@ -16,6 +16,7 @@
 #include <linux/platform_device.h>
 #include <linux/mv643xx_eth.h>
 #include <linux/gpio.h>
+#include <linux/of.h>
 #include "common.h"
 #include "mpp.h"
 
@@ -73,6 +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"))
+               ns2_ge00_data.phy_addr = MV643XX_ETH_PHY_ADDR(0);
        kirkwood_ge00_init(&ns2_ge00_data);
 
        if (gpio_request(NS2_GPIO_POWER_OFF, "power-off") == 0 &&
index 2f75f3f..6949d81 100644 (file)
@@ -114,7 +114,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_MAX_V2_DT) || \
+       defined(CONFIG_MACH_NETSPACE_LITE_V2_DT)
 void ns2_init(void);
 #else
 static inline void ns2_init(void) {};