summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--target/linux/lantiq/base-files/etc/uci-defaults/01_leds7
-rw-r--r--target/linux/lantiq/base-files/etc/uci-defaults/02_network2
-rw-r--r--target/linux/lantiq/dts/ARV8539PW22.dts162
-rw-r--r--target/linux/lantiq/image/Makefile3
-rw-r--r--target/linux/lantiq/xway/profiles/arv.mk12
5 files changed, 185 insertions, 1 deletions
diff --git a/target/linux/lantiq/base-files/etc/uci-defaults/01_leds b/target/linux/lantiq/base-files/etc/uci-defaults/01_leds
index 3e05eba..7ef88ea 100644
--- a/target/linux/lantiq/base-files/etc/uci-defaults/01_leds
+++ b/target/linux/lantiq/base-files/etc/uci-defaults/01_leds
@@ -51,6 +51,13 @@ P2812HNUF*)
ucidef_set_led_netdev "dsl" "dsl" "dsl" "nas0"
ucidef_set_led_netdev "internet_green" "internet_green" "internet_green" "pppoe-wan"
;;
+ARV8539PW22)
+ ucidef_set_led_default "power" "power" "soc:green:power" "1"
+ ucidef_set_led_default "power2" "power2" "soc:red:power" "0"
+ ucidef_set_led_wlan "wifi" "wifi" "soc:green:wireless" "phy0tpt"
+ ucidef_set_led_netdev "dsl" "dsl" "soc:green:dsl" "nas0"
+ ucidef_set_led_netdev "online" "online" "soc:green:online" "pppoe-wan"
+ ;;
*)
;;
esac
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 6f9d9c0..ff21e02 100644
--- a/target/linux/lantiq/base-files/etc/uci-defaults/02_network
+++ b/target/linux/lantiq/base-files/etc/uci-defaults/02_network
@@ -93,7 +93,7 @@ ACMP252|GIGASX76X)
;;
# ar8316
-ARV4519PW|ARV7510PW22|ARV7518PW|ARV752DPW22)
+ARV4519PW|ARV7510PW22|ARV7518PW|ARV752DPW22|ARV8539PW22)
ucidef_set_interface_lan "eth0.1"
ucidef_add_switch "switch0" "1" "1"
ucidef_add_switch_vlan "switch0" "1" "0t 2 3 4 5"
diff --git a/target/linux/lantiq/dts/ARV8539PW22.dts b/target/linux/lantiq/dts/ARV8539PW22.dts
new file mode 100644
index 0000000..acca47f
--- /dev/null
+++ b/target/linux/lantiq/dts/ARV8539PW22.dts
@@ -0,0 +1,162 @@
+/dts-v1/;
+
+/include/ "danube.dtsi"
+
+/ {
+ model = "ARV8539PW22 - Speedport W 504V Typ A";
+
+ memory@0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ sram@1F000000 {
+ vmmc@107000 {
+ status = "okay";
+ gpios = <&gpio 31 0>;
+ };
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x800000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x30000>; /* 192 KiB */
+ read-only;
+ };
+
+ partition@30000 {
+ label = "uboot";
+ reg = <0x30000 0x10000>; /* 64 KiB */
+ read-only;
+ };
+
+ partition@40000 {
+ label = "firmware";
+ reg = <0x40000 0x7B0000>; /* 7872 KiB */
+ };
+
+ partition@7F0000 {
+ label = "art";
+ reg = <0x7F0000 0x10000>; /* 64 KiB*/
+ read-only;
+ };
+ };
+
+ mac_addr {
+ compatible = "lantiq,eth-mac";
+ reg = <0 0x7f0016 0x6>;
+ mac-increment = <2>;
+ };
+
+ ath9k_eep {
+ compatible = "ath9k,eeprom";
+ reg = <0 0x7f0400 0x1000
+ 0 0x7f0016 0x6>;
+ ath,mac-increment = <1>;
+ ath,pci-slot = <14>;
+ ath,eep-endian;
+ ath,arv-ath9k-fix;
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+
+ 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,output = <1>;
+ };
+ pci_rst {
+ lantiq,pins = "io21";
+ lantiq,pull = <2>;
+ lantiq,output = <1>;
+ };
+ relay {
+ lantiq,pins = "io31";
+ lantiq,output = <1>;
+ };
+ };
+ };
+
+ etop@E180000 {
+ phy-mode = "mii";
+ };
+
+ pci@E105400 {
+ status = "okay";
+ gpio-reset = <&gpio 21 0>;
+ };
+
+ ifxhcd@E101000 {
+ status = "okay";
+ gpios = <&gpio 14 0>;
+ lantiq,portmask = <0x3>;
+ };
+
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+
+ wlan {
+ label = "wlan";
+ gpios = <&gpio 29 1>;
+ linux,code = <0x211>;
+ };
+ reset {
+ label = "reset";
+ gpios = <&gpio 30 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ power-green {
+ label = "power";
+ gpios = <&gpio 24 1>;
+ };
+ power-red {
+ label = "soc:red:power";
+ gpios = <&gpio 4 1>;
+ };
+
+ dsl-green {
+ label = "soc:green:dsl";
+ gpios = <&gpio 5 1>;
+ };
+
+ online-green {
+ label = "soc:green:online";
+ gpios = <&gpio 6 1>;
+ };
+
+ wireless-green {
+ label = "soc:green:wireless";
+ gpios = <&gpio 8 1>;
+ };
+ };
+};
+
diff --git a/target/linux/lantiq/image/Makefile b/target/linux/lantiq/image/Makefile
index 726092d..f89df52 100644
--- a/target/linux/lantiq/image/Makefile
+++ b/target/linux/lantiq/image/Makefile
@@ -367,6 +367,9 @@ Image/Build/Profile/ARV752DPW=$(call Image/Build/$(1),$(1),ARV752DPW)
Image/BuildKernel/Profile/ARV752DPW22=$(call Image/BuildKernel/Template,ARV752DPW22)
Image/Build/Profile/ARV752DPW22=$(call Image/Build/$(1),$(1),ARV752DPW22)
+Image/BuildKernel/Profile/ARV8539PW22=$(call Image/BuildKernel/Template,ARV8539PW22)
+Image/Build/Profile/ARV8539PW22=$(call Image/Build/$(1),$(1),ARV8539PW22)
+
Image/BuildKernel/Profile/GIGASX76X=$(call Image/BuildKernel/Template,GIGASX76X)
Image/Build/Profile/GIGASX76X=$(call Image/Build/$(1),$(1),GIGASX76X)
diff --git a/target/linux/lantiq/xway/profiles/arv.mk b/target/linux/lantiq/xway/profiles/arv.mk
index 7732437..976cd19 100644
--- a/target/linux/lantiq/xway/profiles/arv.mk
+++ b/target/linux/lantiq/xway/profiles/arv.mk
@@ -8,6 +8,18 @@ endef
$(eval $(call Profile,ARV4525PW))
+define Profile/ARV8539PW22
+ NAME:=Speedport W504V Typ A - ARV8539PW22
+ PACKAGES:=kmod-ltq-hcd-danube \
+ kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
+ kmod-ltq-adsl-danube-fw-b kmod-ltq-atm-danube \
+ ltq-adsl-app ppp-mod-pppoa \
+ kmod-ath9k wpad-mini \
+ swconfig
+endef
+
+$(eval $(call Profile,ARV8539PW22))
+
define Profile/ARV7525PW
NAME:=Speedport W303V Typ A - ARV7525PW
PACKAGES:=kmod-rt2800-pci wpad-mini \