ARM: Kirkwood: DT board setup for LaPlug
authorMaxime Hadjinlian <maxime.hadjinlian@gmail.com>
Tue, 24 Dec 2013 12:53:19 +0000 (13:53 +0100)
committerJason Cooper <jason@lakedaemon.net>
Wed, 25 Dec 2013 02:03:52 +0000 (02:03 +0000)
This patch adds DT board setup for the LaCie NAS LaPlug.

Chipset list:
- CPU MARVELL 88FR131 800Mhz
- SDRAM memory: 128MB DDR2-800 400Mhz
- 1 Ethernet Gigabit port (PHY MARVELL 88E1318)
- 1 Mini PCI-Express port
- 1 NAND 512 MB
- 1 push button
- 2 LEDs (red and blue)
- 4 USB Ports

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/kirkwood-laplug.dts [new file with mode: 0644]

index adcc6067eb13affa4606a86d2897d6e1001e0eb0..09067804035f9a2985f0fde77384647f19036c02 100644 (file)
@@ -85,6 +85,7 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-cloudbox.dtb \
        kirkwood-iomega_ix2_200.dtb \
        kirkwood-is2.dtb \
        kirkwood-km_kirkwood.dtb \
+       kirkwood-laplug.dtb \
        kirkwood-lschlv2.dtb \
        kirkwood-lsxhl.dtb \
        kirkwood-mplcec4.dtb \
diff --git a/arch/arm/boot/dts/kirkwood-laplug.dts b/arch/arm/boot/dts/kirkwood-laplug.dts
new file mode 100644 (file)
index 0000000..c9e82ef
--- /dev/null
@@ -0,0 +1,175 @@
+/*
+ * Copyright (C) 2013 Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2. This program is licensed "as is" without any
+ * warranty of any kind, whether express or implied.
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include "kirkwood.dtsi"
+#include "kirkwood-6192.dtsi"
+
+/ {
+       model = "LaCie LaPlug";
+       compatible = "lacie,laplug", "marvell,kirkwood-88f6192", "marvell,kirkwood";
+
+       memory {
+               device_type = "memory";
+               reg = <0x00000000 0x8000000>; /* 128 MB */
+       };
+
+       chosen {
+               bootargs = "console=ttyS0,115200n8 earlyprintk";
+       };
+
+       mbus {
+               pcie-controller {
+                       status = "okay";
+                       pcie@1,0 {
+                               status = "okay";
+                       };
+               };
+       };
+
+       ocp@f1000000 {
+               serial@12000 {
+                       pinctrl-0 = <&pmx_uart0>;
+                       pinctrl-names = "default";
+                       status = "okay";
+               };
+
+               i2c@11000 {
+                       pinctrl-0 = <&pmx_twsi0>;
+                       pinctrl-names = "default";
+                       status = "okay";
+
+                       eeprom@50 {
+                               compatible = "at,24c04";
+                               pagesize = <16>;
+                               reg = <0x50>;
+                       };
+               };
+
+               pinctrl: pinctrl@10000 {
+                       pmx_usb_power_enable: pmx-usb-power-enable {
+                               marvell,pins = "mpp14";
+                               marvell,function = "gpio";
+                       };
+               };
+       };
+
+       gpio_keys {
+               compatible = "gpio-keys";
+
+               button@1{
+                       label = "Power push button";
+                       linux,code = <KEY_POWER>;
+                       gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
+               };
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+
+               red-fail {
+                       label = "laplug_v2:red:power";
+                       gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
+               };
+               blue-power {
+                       label = "laplug_v2:blue:power";
+                       gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-on";
+               };
+       };
+
+       gpio_poweroff {
+               compatible = "gpio-poweroff";
+               gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>;
+       };
+
+       regulators {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               pinctrl-0 = <&pmx_usb_power_enable>;
+               pinctrl-names = "default";
+
+               usb_power_back1: regulator@1 {
+                       compatible = "regulator-fixed";
+                       reg = <1>;
+                       regulator-name = "USB Power Back 1";
+                       regulator-min-microvolt = <5000000>;
+                       regulator-max-microvolt = <5000000>;
+                       enable-active-high;
+                       regulator-always-on;
+                       regulator-boot-on;
+                       gpio = <&gpio0 15 GPIO_ACTIVE_HIGH>;
+               };
+
+               usb_power_back2: regulator@2 {
+                       compatible = "regulator-fixed";
+                       reg = <2>;
+                       regulator-name = "USB Power Back 2";
+                       regulator-min-microvolt = <5000000>;
+                       regulator-max-microvolt = <5000000>;
+                       enable-active-high;
+                       regulator-always-on;
+                       regulator-boot-on;
+                       gpio = <&gpio0 28 GPIO_ACTIVE_HIGH>;
+               };
+
+               usb_power_front: regulator@3 {
+                       compatible = "regulator-fixed";
+                       reg = <3>;
+                       regulator-name = "USB Power Front";
+                       regulator-min-microvolt = <5000000>;
+                       regulator-max-microvolt = <5000000>;
+                       enable-active-high;
+                       regulator-always-on;
+                       regulator-boot-on;
+                       gpio = <&gpio1 3 GPIO_ACTIVE_HIGH>;
+               };
+       };
+};
+
+&nand {
+       /* Total size : 512MB */
+       status = "okay";
+       pinctrl-0 = <&pmx_nand>;
+
+       partition@0 {
+               label = "u-boot";
+               reg = <0x0 0x100000>; /* 1MB */
+               read-only;
+       };
+
+       partition@100000 {
+               label = "uImage";
+               reg = <0x100000 0x1000000>; /* 16MB */
+       };
+
+       partition@1100000 {
+               label = "rootfs";
+               reg = <0x1100000 0x1EF00000>; /* 495MB */
+       };
+};
+
+&mdio {
+       status = "okay";
+
+       ethphy0: ethernet-phy@0 {
+               device_type = "ethernet-phy";
+               reg = <0>;
+       };
+};
+
+&eth0 {
+       status = "okay";
+       ethernet0-port@0 {
+               phy-handle = <&ethphy0>;
+       };
+};