[OpenWrt-Devel] [PATCH] kirkwood: add support for the Seagate GoflexHome
L. D. Pinney
ldpinney at gmail.com
Fri May 8 15:54:49 EDT 2015
Add Support for the Seagate GoflexHome <http://wiki.openwrt.org/toh/seagate/goflexhome>
Signed-off-by: L. D. Pinney <ldpinney at gmail.com>
---
target/linux/kirkwood/base-files/etc/diag.sh | 1 +
target/linux/kirkwood/base-files/etc/uci-defaults/01_leds | 1 +
target/linux/kirkwood/base-files/etc/uci-defaults/02_network | 1 +
target/linux/kirkwood/base-files/lib/kirkwood.sh | 4 +++
target/linux/kirkwood/image/Makefile | 3 ++
target/linux/kirkwood/patches-3.18/180-goflexhome.patch | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
target/linux/kirkwood/profiles/110-nas.mk | 17 ++++++++++
7 files changed, 167 insertions(+)
diff --git a/target/linux/kirkwood/base-files/etc/diag.sh b/target/linux/kirkwood/base-files/etc/diag.sh
index 29445d5..716e6c9 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 0f7a906..a8ba1f6 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 4ed0ab4..f0628cd 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 c088581..aa16daf 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 ede7cb3..8413a41 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 0000000..b224f53
--- /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
+@@ -125,6 +126,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 at f1000000 {
++ pinctrl: pin-controller at 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 at 12000 {
++ status = "ok";
++ };
++
++ sata at 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 at 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 at 0 {
++ label = "u-boot";
++ reg = <0x0000000 0x100000>;
++ read-only;
++ };
++
++ partition at 100000 {
++ label = "uImage";
++ reg = <0x0100000 0x400000>;
++ };
++
++ partition at 500000 {
++ label = "pogoplug";
++ reg = <0x0500000 0x2000000>;
++ };
++
++ partition at 2500000 {
++ label = "root";
++ reg = <0x02500000 0xd800000>;
++ };
++};
++
++&mdio {
++ status = "okay";
++
++ ethphy0: ethernet-phy at 0 {
++ reg = <0>;
++ };
++};
++
++ð0 {
++ status = "okay";
++ ethernet0-port at 0 {
++ phy-handle = <ðphy0>;
++ };
++};
diff --git a/target/linux/kirkwood/profiles/110-nas.mk b/target/linux/kirkwood/profiles/110-nas.mk
index d87c45c..748efac 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:= \
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list