kirkwood: add support for Linksys EA3500

http://wiki.openwrt.org/toh/linksys/ea3500

Signed-off-by: Dan Walters <dan@walters.io>

SVN-Revision: 43230
owl
Luka Perkov 2014-11-10 23:55:10 +00:00
parent a69ebe234d
commit 4f1a9470f0
7 changed files with 192 additions and 0 deletions

View File

@ -14,6 +14,7 @@ touch /etc/config/ubootenv
board=$(kirkwood_board_name) board=$(kirkwood_board_name)
case "$board" in case "$board" in
"ea3500" | \
"ea4500" | \ "ea4500" | \
"ib62x0" | \ "ib62x0" | \
"pogo_e02") "pogo_e02")

View File

@ -13,6 +13,9 @@ case "$board" in
ucidef_set_led_default "health" "status:green:health" "1" ucidef_set_led_default "health" "status:green:health" "1"
ucidef_set_led_default "fault" "status:orange:fault" "1" ucidef_set_led_default "fault" "status:orange:fault" "1"
;; ;;
"ea3500")
ucidef_set_led_default "power" "ea3500:green:power" "1"
;;
"ea4500") "ea4500")
ucidef_set_led_default "health" "ea4500:white:health" "1" ucidef_set_led_default "health" "ea4500:white:health" "1"
ucidef_set_led_default "pulse" "ea4500:white:pulse" "1" ucidef_set_led_default "pulse" "ea4500:white:pulse" "1"

View File

@ -40,6 +40,9 @@ case "$board" in
"pogo_e02") "pogo_e02")
set_lan_dhcp "eth0" set_lan_dhcp "eth0"
;; ;;
"ea3500")
ucidef_set_interfaces_lan_wan "eth0" "eth1"
;;
"ea4500") "ea4500")
ucidef_set_interfaces_lan_wan "eth0" "eth1" ucidef_set_interfaces_lan_wan "eth0" "eth1"
;; ;;

View File

@ -29,6 +29,10 @@ kirkwood_board_detect() {
name="pogo_e02" name="pogo_e02"
;; ;;
"Linksys EA3500")
name="ea3500"
;;
"Linksys EA4500") "Linksys EA4500")
name="ea4500" name="ea4500"
;; ;;

View File

@ -117,6 +117,9 @@ Image/InstallKernel/Template/Generic=$(call Image/InstallKernel/Template)
Image/BuildKernel/Template/DOCKSTAR=$(call Image/BuildKernel/Template,dockstar) Image/BuildKernel/Template/DOCKSTAR=$(call Image/BuildKernel/Template,dockstar)
Image/InstallKernel/Template/DOCKSTAR=$(call Image/InstallKernel/Template,dockstar) Image/InstallKernel/Template/DOCKSTAR=$(call Image/InstallKernel/Template,dockstar)
Image/BuildKernel/Template/EA3500=$(call Image/BuildKernel/Template,ea3500)
Image/InstallKernel/Template/EA3500=$(call Image/InstallKernel/Template,ea3500)
Image/BuildKernel/Template/EA4500=$(call Image/BuildKernel/Template,ea4500) Image/BuildKernel/Template/EA4500=$(call Image/BuildKernel/Template,ea4500)
Image/InstallKernel/Template/EA4500=$(call Image/InstallKernel/Template,ea4500) Image/InstallKernel/Template/EA4500=$(call Image/InstallKernel/Template,ea4500)

View File

@ -0,0 +1,162 @@
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -90,6 +90,7 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-
kirkwood-dns325.dtb \
kirkwood-dockstar.dtb \
kirkwood-dreamplug.dtb \
+ kirkwood-ea3500.dtb \
kirkwood-ea4500.dtb \
kirkwood-goflexnet.dtb \
kirkwood-guruplug-server-plus.dtb \
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-ea3500.dts
@@ -0,0 +1,149 @@
+/*
+ * kirkwood-ea3500.dts - Device Tree file for Linksys EA3500
+ *
+ * (c) 2013 Jonas Gorski <jogo@openwrt.org>
+ * (c) 2013 Deutsche Telekom Innovation Laboratories
+ * (c) 2014 Luka Perkov <luka@openwrt.org>
+ * (c) 2014 Dan Walters <dan@walters.io>
+ *
+ * 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 "kirkwood.dtsi"
+#include "kirkwood-6282.dtsi"
+
+/ {
+ model = "Linksys EA3500";
+ compatible = "linksys,ea3500", "marvell,kirkwood-88f6282", "marvell,kirkwood";
+
+ memory {
+ device_type = "memory";
+ reg = <0x00000000 0x4000000>;
+ };
+
+ chosen {
+ bootargs = "console=ttyS0,115200n8 earlyprintk";
+ };
+
+ mbus {
+ pcie-controller {
+ status = "okay";
+
+ pcie@1,0 {
+ status = "okay";
+ };
+
+ pcie@2,0 {
+ status = "okay";
+ };
+ };
+ };
+
+ ocp@f1000000 {
+ pinctrl: pinctrl@10000 {
+ pmx_led_green_power: pmx-led-green-power {
+ marvell,pins = "mpp7";
+ marvell,function = "gpo";
+ };
+ pmx_btn_wps: pmx-btn-wps {
+ marvell,pins = "mpp47";
+ marvell,function = "gpio";
+ };
+ pmx_btn_reset: pmx-btn-reset {
+ marvell,pins = "mpp48";
+ marvell,function = "gpio";
+ };
+ };
+
+ rtc@10300 {
+ status = "disabled";
+ };
+
+ serial@12000 {
+ status = "okay";
+ };
+
+ };
+
+ gpio_keys {
+ compatible = "gpio-keys";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-0 = < &pmx_btn_wps &pmx_btn_reset >;
+ pinctrl-names = "default";
+
+ button@15 {
+ label = "WPS Button";
+ linux,code = <KEY_WPS_BUTTON>;
+ gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
+ };
+
+ button@16 {
+ label = "Reset Button";
+ linux,code = <KEY_RESTART>;
+ gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ pinctrl-0 = < &pmx_led_green_power >;
+ pinctrl-names = "default";
+
+ green-power {
+ label = "ea3500:green:power";
+ gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
+
+&nand {
+ status = "okay";
+ pinctrl-0 = <&pmx_nand>;
+ pinctrl-names = "default";
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x0000000 0x80000>;
+ read-only;
+ };
+
+ partition@80000 {
+ label = "u-boot environment";
+ reg = <0x80000 0x20000>;
+ };
+
+ partition@200000 {
+ label = "kernel";
+ reg = <0x200000 0x200000>;
+ };
+
+ partition@400000 {
+ label = "root";
+ reg = <0x400000 0x1200000>;
+ };
+};
+
+&mdio {
+ status = "okay";
+};
+
+&eth0 {
+ status = "okay";
+ ethernet0-port@0 {
+ speed = <1000>;
+ duplex = <1>;
+ };
+};
+
+&eth1 {
+ status = "okay";
+ ethernet1-port@0 {
+ speed = <1000>;
+ duplex = <1>;
+ };
+};

View File

@ -5,6 +5,22 @@
# See /LICENSE for more information. # See /LICENSE for more information.
# #
define Profile/EA3500
NAME:=Linksys EA3500
PACKAGES:= \
kmod-mwl8k kmod-usb2 kmod-usb-storage \
uboot-envtools
endef
define Profile/EA3500/Description
Package set compatible with Linksys EA3500 board.
endef
EA3500_UBIFS_OPTS:="-m 2048 -e 126KiB -c 4096"
EA3500_UBI_OPTS:="-m 2048 -p 128KiB -s 512"
$(eval $(call Profile,EA3500))
define Profile/EA4500 define Profile/EA4500
NAME:=Linksys EA4500 NAME:=Linksys EA4500
PACKAGES:= \ PACKAGES:= \