From 7437be53bae03b3d3ee5c3b32ad9f159834d9452 Mon Sep 17 00:00:00 2001 From: Luka Perkov Date: Fri, 8 May 2015 20:12:39 +0000 Subject: [PATCH] kirkwood: add support for the Seagate GoflexHome Add Support for the Seagate GoflexHome Signed-off-by: L. D. Pinney SVN-Revision: 45647 --- target/linux/kirkwood/base-files/etc/diag.sh | 1 + .../base-files/etc/uci-defaults/01_leds | 1 + .../base-files/etc/uci-defaults/02_network | 1 + .../linux/kirkwood/base-files/lib/kirkwood.sh | 4 + target/linux/kirkwood/image/Makefile | 3 + .../patches-3.18/180-goflexhome.patch | 140 ++++++++++++++++++ target/linux/kirkwood/profiles/110-nas.mk | 17 +++ 7 files changed, 167 insertions(+) create mode 100644 target/linux/kirkwood/patches-3.18/180-goflexhome.patch 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>; ++ }; ++}; ++ ++ð0 { ++ status = "okay"; ++ ethernet0-port@0 { ++ phy-handle = <ðphy0>; ++ }; ++}; 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:= \ -- 2.25.1