summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2014-03-30 09:16:15 +0000
committerJohn Crispin <john@openwrt.org>2014-03-30 09:16:15 +0000
commite733242a2399fb444997a6c10f45f15d2166c872 (patch)
tree7d979804de23b36d5b5807902ea782e267956a84
parent3a43738e214a256dbe59f17796ddb967b08ee67c (diff)
downloadmtk-20170518-e733242a2399fb444997a6c10f45f15d2166c872.zip
mtk-20170518-e733242a2399fb444997a6c10f45f15d2166c872.tar.gz
mtk-20170518-e733242a2399fb444997a6c10f45f15d2166c872.tar.bz2
lantiq: add support for Arcadyan ARV7519PW
This patch adds almost full support for this board. - WiFi is still not working - USB will not power up. According to some reports, it may be a passive port Signed-off-by: Antonios Vamporakis <ant@area128.com> SVN-Revision: 40319
-rw-r--r--target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom2
-rw-r--r--target/linux/lantiq/base-files/etc/uci-defaults/02_network9
-rw-r--r--target/linux/lantiq/dts/ARV7519PW.dts213
-rw-r--r--target/linux/lantiq/image/Makefile3
-rw-r--r--target/linux/lantiq/xway/profiles/arv.mk12
5 files changed, 238 insertions, 1 deletions
diff --git a/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
index 2d5e09d..a849584 100644
--- a/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
+++ b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
@@ -29,7 +29,7 @@ case "$FIRMWARE" in
"RT2860.eeprom" )
local board=$(lantiq_board_id)
case $board in
- ARV7510PW22|ARV7525PW|ARV752DPW|ARV752DPW22)
+ ARV7510PW22|ARV7519PW|ARV7525PW|ARV752DPW|ARV752DPW22)
rt2x00_eeprom_extract "board_config" 1040 512
;;
*)
diff --git a/target/linux/lantiq/base-files/etc/uci-defaults/02_network b/target/linux/lantiq/base-files/etc/uci-defaults/02_network
index 4903eb9..329fa2d 100644
--- a/target/linux/lantiq/base-files/etc/uci-defaults/02_network
+++ b/target/linux/lantiq/base-files/etc/uci-defaults/02_network
@@ -74,6 +74,15 @@ ARV4519PW|ARV7510PW22|ARV7518PW|ARV752DPW22)
ucidef_add_switch_vlan "switch0" "1" "0t 2 3 4 5"
;;
+# rtl8306g
+ARV7519PW)
+ lan_mac=$(mtd_get_mac_binary board_config 22)
+ wan_mac=$(macaddr_add "$lan_mac" 1)
+ ucidef_set_interface_lan "eth0.1"
+ ucidef_add_switch "switch0" "1" "1"
+ ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 4t"
+ ;;
+
WBMR)
ucidef_set_interface_lan "eth0.1"
ucidef_add_switch "switch0" "1" "1"
diff --git a/target/linux/lantiq/dts/ARV7519PW.dts b/target/linux/lantiq/dts/ARV7519PW.dts
new file mode 100644
index 0000000..1478192
--- /dev/null
+++ b/target/linux/lantiq/dts/ARV7519PW.dts
@@ -0,0 +1,213 @@
+/dts-v1/;
+
+/include/ "danube.dtsi"
+
+/ {
+ model = "ARV7519PW - Astoria Networks";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x40000>;
+ read-only;
+ };
+
+ partition@40000 {
+ label = "uboot_env";
+ reg = <0x40000 0x20000>;
+ };
+
+ partition@60000 {
+ label = "firmware";
+ reg = <0x60000 0xf80000>;
+ };
+
+ partition@fe0000 {
+ label = "board_config";
+ reg = <0xfe0000 0x20000>;
+ read-only;
+ };
+ };
+
+ mac_addr {
+ compatible = "lantiq,eth-mac";
+ reg = <0 0xfe0016 0x6>;
+ mac-increment = <2>;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ebu {
+ lantiq,groups = "ebu cs1";
+ lantiq,function = "ebu";
+ };
+ pci_in {
+ lantiq,groups = "req1";
+ lantiq,function = "pci";
+ lantiq,open-drain = <1>;
+ lantiq,pull = <2>;
+ lantiq,output = <0>;
+ };
+ pci_out {
+ lantiq,groups = "gnt1";
+ lantiq,function = "pci";
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ switch_rst {
+ lantiq,pins = "io19";
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "mii";
+ };
+
+ /* warning: passive port
+ only works with active devices */
+ ifxhcd@E101000 {
+ status = "okay";
+ };
+
+ pci@E105400 {
+ status = "okay";
+ lantiq,external-clock;
+ gpio-reset = <&gpio 21 0>;
+ req-mask = <0xf>;
+ };
+ };
+
+ ralink_eep {
+ compatible = "ralink,eeprom";
+ ralink,eeprom = "RT2860.eeprom";
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+
+ rfkill {
+ label = "rfkill";
+ gpios = <&gpio 11 1>;
+ linux,code = <0xf7>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 28 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ power {
+ label = "power";
+ gpios = <&gpio 2 1>;
+ default-state = "off";
+ };
+ power2 {
+ label = "power2";
+ gpios = <&gpio 14 1>;
+ };
+ online {
+ label = "online";
+ gpios = <&gpio 3 1>;
+ };
+ online2 {
+ label = "online2";
+ gpios = <&gpio 30 1>;
+ };
+ wifi {
+ label = "wifi";
+ gpios = <&gpio 12 1>;
+ };
+ wifi2 {
+ label = "wifi2";
+ gpios = <&gpio 10 1>;
+ };
+ wifi3 {
+ label = "wifi3";
+ gpios = <&gpio 6 1>;
+ };
+ voice {
+ label = "voice";
+ gpios = <&gpio 31 1>;
+ };
+ wps {
+ label = "wps";
+ gpios = <&gpio 15 1>;
+ };
+ wps2 {
+ label = "wps2";
+ gpios = <&gpio 7 1>;
+ };
+ wps3 {
+ label = "wps3";
+ gpios = <&gpio 23 1>;
+ };
+ dsl {
+ label = "dsl";
+ gpios = <&gpio 4 1>;
+ };
+ lan {
+ label = "lan";
+ gpios = <&gpio 1 1>;
+ };
+ tv {
+ label = "tv";
+ gpios = <&gpio 20 1>;
+ };
+ upgrade {
+ label = "upgrade";
+ gpios = <&gpio 29 1>;
+ };
+ };
+
+ /* is there another way to "reserve" the GPIO? */
+ gpio_export {
+ compatible = "gpio-export";
+ #size-cells = <0>;
+
+ switch {
+ gpio-export,name = "switch";
+ gpio-export,output = <1>;
+ gpios = <&gpio 19 0>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/image/Makefile b/target/linux/lantiq/image/Makefile
index 4550fc4..cd36d12 100644
--- a/target/linux/lantiq/image/Makefile
+++ b/target/linux/lantiq/image/Makefile
@@ -269,6 +269,9 @@ Image/Build/Profile/ARV7510PW22=$(call Image/Build/$(1),$(1),ARV7510PW22)
Image/BuildKernel/Profile/ARV7518PW=$(call Image/BuildKernel/Template,ARV7518PW)
Image/Build/Profile/ARV7518PW=$(call Image/Build/$(1),$(1),ARV7518PW)
+Image/BuildKernel/Profile/ARV7519PW=$(call Image/BuildKernel/Template,ARV7519PW)
+Image/Build/Profile/ARV7519PW=$(call Image/Build/$(1),$(1),ARV7519PW)
+
Image/BuildKernel/Profile/ARV752DPW=$(call Image/BuildKernel/Template,ARV752DPW)
Image/Build/Profile/ARV752DPW=$(call Image/Build/$(1),$(1),ARV752DPW)
diff --git a/target/linux/lantiq/xway/profiles/arv.mk b/target/linux/lantiq/xway/profiles/arv.mk
index 9b172f2..30cc778 100644
--- a/target/linux/lantiq/xway/profiles/arv.mk
+++ b/target/linux/lantiq/xway/profiles/arv.mk
@@ -92,6 +92,18 @@ endef
$(eval $(call Profile,ARV7518PW))
+define Profile/ARV7519PW
+ NAME:=Astoria - ARV7519PW
+ PACKAGES:=kmod-ltq-hcd-danube kmod-ledtrig-usbdev \
+ kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
+ kmod-ltq-adsl-danube-fw-a kmod-ltq-atm-danube \
+ ltq-adsl-app ppp-mod-pppoa \
+ kmod-rt2800-pci wpad-mini \
+ swconfig
+endef
+
+$(eval $(call Profile,ARV7519PW))
+
define Profile/ARV4520PW
NAME:=Easybox 800, WAV-281 - ARV4520PW
PACKAGES:=kmod-ltq-hcd-danube kmod-ledtrig-usbdev \