summaryrefslogtreecommitdiffstats
path: root/target/linux/kirkwood
diff options
context:
space:
mode:
authorLuka Perkov <luka@openwrt.org>2015-05-08 20:12:39 +0000
committerLuka Perkov <luka@openwrt.org>2015-05-08 20:12:39 +0000
commit7437be53bae03b3d3ee5c3b32ad9f159834d9452 (patch)
tree84cb8c3be9643fe4382d1072c4e8dd527314be71 /target/linux/kirkwood
parent7b01a650f8ad8d22c360d359432ffe5365bbee4f (diff)
downloadmaster-31e0f0ae-7437be53bae03b3d3ee5c3b32ad9f159834d9452.tar.gz
master-31e0f0ae-7437be53bae03b3d3ee5c3b32ad9f159834d9452.tar.bz2
master-31e0f0ae-7437be53bae03b3d3ee5c3b32ad9f159834d9452.zip
kirkwood: add support for the Seagate GoflexHome
Add Support for the Seagate GoflexHome <http://wiki.openwrt.org/toh/seagate/goflexhome> Signed-off-by: L. D. Pinney <ldpinney@gmail.com> SVN-Revision: 45647
Diffstat (limited to 'target/linux/kirkwood')
-rwxr-xr-xtarget/linux/kirkwood/base-files/etc/diag.sh1
-rw-r--r--target/linux/kirkwood/base-files/etc/uci-defaults/01_leds1
-rw-r--r--target/linux/kirkwood/base-files/etc/uci-defaults/02_network1
-rwxr-xr-xtarget/linux/kirkwood/base-files/lib/kirkwood.sh4
-rw-r--r--target/linux/kirkwood/image/Makefile3
-rw-r--r--target/linux/kirkwood/patches-3.18/180-goflexhome.patch140
-rw-r--r--target/linux/kirkwood/profiles/110-nas.mk17
7 files changed, 167 insertions, 0 deletions
diff --git a/target/linux/kirkwood/base-files/etc/diag.sh b/target/linux/kirkwood/base-files/etc/diag.sh
index 29445d5d0d..716e6c9fbf 100755
--- a/target/linux/kirkwood/base-files/etc/diag.sh
+++ b/target/linux/kirkwood/base-files/etc/diag.sh
@@ -7,6 +7,7 @@
get_status_led() {
case $(kirkwood_board_name) in
dockstar|\
+ goflexhome|\
goflexnet|\
pogo_e02)
status_led="status:orange:fault"
diff --git a/target/linux/kirkwood/base-files/etc/uci-defaults/01_leds b/target/linux/kirkwood/base-files/etc/uci-defaults/01_leds
index 0f7a906b09..a8ba1f6c3d 100644
--- a/target/linux/kirkwood/base-files/etc/uci-defaults/01_leds
+++ b/target/linux/kirkwood/base-files/etc/uci-defaults/01_leds
@@ -20,6 +20,7 @@ case "$board" in
ucidef_set_led_default "health" "health" "ea4500:white:health" "1"
ucidef_set_led_default "pulse" "pulse" "ea4500:white:pulse" "1"
;;
+"goflexhome" | \
"goflexnet")
ucidef_set_led_default "health" "health" "status:green:health" "1"
ucidef_set_led_default "fault" "fault" "status:orange:fault" "0"
diff --git a/target/linux/kirkwood/base-files/etc/uci-defaults/02_network b/target/linux/kirkwood/base-files/etc/uci-defaults/02_network
index 4ed0ab497a..f0628cd618 100644
--- a/target/linux/kirkwood/base-files/etc/uci-defaults/02_network
+++ b/target/linux/kirkwood/base-files/etc/uci-defaults/02_network
@@ -29,6 +29,7 @@ ucidef_set_interface_loopback
case "$board" in
"dockstar"|\
+"goflexhome"|\
"goflexnet"|\
"iconnect"|\
"ib62x0"|\
diff --git a/target/linux/kirkwood/base-files/lib/kirkwood.sh b/target/linux/kirkwood/base-files/lib/kirkwood.sh
index c088581215..aa16daf4c0 100755
--- a/target/linux/kirkwood/base-files/lib/kirkwood.sh
+++ b/target/linux/kirkwood/base-files/lib/kirkwood.sh
@@ -17,6 +17,10 @@ kirkwood_board_detect() {
name="dockstar"
;;
+ "Seagate GoFlex Home")
+ name="goflexhome"
+ ;;
+
"Seagate GoFlex Net")
name="goflexnet"
;;
diff --git a/target/linux/kirkwood/image/Makefile b/target/linux/kirkwood/image/Makefile
index ede7cb30aa..8413a41ba3 100644
--- a/target/linux/kirkwood/image/Makefile
+++ b/target/linux/kirkwood/image/Makefile
@@ -123,6 +123,9 @@ Image/InstallKernel/Template/EA3500=$(call Image/InstallKernel/Template,ea3500)
Image/BuildKernel/Template/EA4500=$(call Image/BuildKernel/Template,ea4500)
Image/InstallKernel/Template/EA4500=$(call Image/InstallKernel/Template,ea4500)
+Image/BuildKernel/Template/GOFLEXHOME=$(call Image/BuildKernel/Template,goflexhome)
+Image/InstallKernel/Template/GOFLEXHOME=$(call Image/InstallKernel/Template,goflexhome)
+
Image/BuildKernel/Template/GOFLEXNET=$(call Image/BuildKernel/Template,goflexnet)
Image/InstallKernel/Template/GOFLEXNET=$(call Image/InstallKernel/Template,goflexnet)
diff --git a/target/linux/kirkwood/patches-3.18/180-goflexhome.patch b/target/linux/kirkwood/patches-3.18/180-goflexhome.patch
new file mode 100644
index 0000000000..e54c8537f1
--- /dev/null
+++ b/target/linux/kirkwood/patches-3.18/180-goflexhome.patch
@@ -0,0 +1,140 @@
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -122,6 +122,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-
+ kirkwood-ds411slim.dtb \
+ kirkwood-ea3500.dtb \
+ kirkwood-ea4500.dtb \
++ kirkwood-goflexhome.dtb \
+ kirkwood-goflexnet.dtb \
+ kirkwood-guruplug-server-plus.dtb \
+ kirkwood-ib62x0.dtb \
+--- /dev/null
++++ b/arch/arm/boot/dts/kirkwood-goflexhome.dts
+@@ -0,0 +1,127 @@
++/dts-v1/;
++
++#include "kirkwood.dtsi"
++#include "kirkwood-6281.dtsi"
++
++/ {
++ model = "Seagate GoFlex Home";
++ compatible = "seagate,goflexhome", "marvell,kirkwood-88f6281", "marvell,kirkwood";
++
++ memory {
++ device_type = "memory";
++ reg = <0x00000000 0x8000000>;
++ };
++
++ chosen {
++ bootargs = "console=ttyS0,115200n8 earlyprintk root=/dev/sda1 rootdelay=10";
++ stdout-path = &uart0;
++ };
++
++ ocp@f1000000 {
++ pinctrl: pin-controller@10000 {
++ pmx_usb_power_enable: pmx-usb-power-enable {
++ marvell,pins = "mpp29";
++ marvell,function = "gpio";
++ };
++ pmx_led_white: pmx-led-white {
++ marvell,pins = "mpp40";
++ marvell,function = "gpio";
++ };
++ pmx_led_green: pmx-led_green {
++ marvell,pins = "mpp46";
++ marvell,function = "gpio";
++ };
++ pmx_led_orange: pmx-led-orange {
++ marvell,pins = "mpp47";
++ marvell,function = "gpio";
++ };
++ };
++ serial@12000 {
++ status = "ok";
++ };
++
++ sata@80000 {
++ status = "okay";
++ nr-ports = <2>;
++ };
++
++ };
++ gpio-leds {
++ compatible = "gpio-leds";
++
++ health {
++ label = "status:green:health";
++ gpios = <&gpio1 14 1>;
++ linux,default-trigger = "default-on";
++ };
++ fault {
++ label = "status:orange:fault";
++ gpios = <&gpio1 15 1>;
++ };
++ misc {
++ label = "status:white:misc";
++ gpios = <&gpio1 8 1>;
++ linux,default-trigger = "ide-disk";
++ };
++ };
++ regulators {
++ compatible = "simple-bus";
++ #address-cells = <1>;
++ #size-cells = <0>;
++ pinctrl-0 = <&pmx_usb_power_enable>;
++ pinctrl-names = "default";
++
++ usb_power: regulator@1 {
++ compatible = "regulator-fixed";
++ reg = <1>;
++ regulator-name = "USB Power";
++ regulator-min-microvolt = <5000000>;
++ regulator-max-microvolt = <5000000>;
++ enable-active-high;
++ regulator-always-on;
++ regulator-boot-on;
++ gpio = <&gpio0 29 GPIO_ACTIVE_HIGH>;
++ };
++ };
++};
++
++&nand {
++ chip-delay = <40>;
++ status = "okay";
++
++ partition@0 {
++ label = "u-boot";
++ reg = <0x0000000 0x100000>;
++ read-only;
++ };
++
++ partition@100000 {
++ label = "uImage";
++ reg = <0x0100000 0x400000>;
++ };
++
++ partition@500000 {
++ label = "pogoplug";
++ reg = <0x0500000 0x2000000>;
++ };
++
++ partition@2500000 {
++ label = "root";
++ reg = <0x02500000 0xd800000>;
++ };
++};
++
++&mdio {
++ status = "okay";
++
++ ethphy0: ethernet-phy@0 {
++ reg = <0>;
++ };
++};
++
++&eth0 {
++ status = "okay";
++ ethernet0-port@0 {
++ phy-handle = <&ethphy0>;
++ };
++};
diff --git a/target/linux/kirkwood/profiles/110-nas.mk b/target/linux/kirkwood/profiles/110-nas.mk
index d87c45c2bf..748efacd56 100644
--- a/target/linux/kirkwood/profiles/110-nas.mk
+++ b/target/linux/kirkwood/profiles/110-nas.mk
@@ -20,6 +20,23 @@ DOCKSTAR_UBI_OPTS:="-m 2048 -p 128KiB -s 512"
$(eval $(call Profile,DOCKSTAR))
+define Profile/GOFLEXHOME
+ NAME:=Seagate GoFlexHome
+ PACKAGES:= \
+ kmod-ata-core kmod-ata-marvell-sata \
+ kmod-rtc-marvell kmod-usb2 kmod-usb-storage \
+ uboot-envtools
+endef
+
+define Profile/GOFLEXHOME/Description
+ Package set compatible with Seagate GoFlexHome
+endef
+
+GOFLEXHOME_UBIFS_OPTS:="-m 2048 -e 126KiB -c 4096"
+GOFLEXHOME_UBI_OPTS:="-m 2048 -p 128KiB -s 512"
+
+$(eval $(call Profile,GOFLEXHOME))
+
define Profile/GOFLEXNET
NAME:=Seagate GoFlexNet
PACKAGES:= \