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 70a14d9..7c122db 100644
--- a/target/linux/lantiq/base-files/etc/uci-defaults/01_leds
+++ b/target/linux/lantiq/base-files/etc/uci-defaults/01_leds
@@ -30,6 +30,13 @@ BTHOMEHUBV2B)
 	ucidef_set_led_netdev "internet" "internet" "soc:blue:broadband" "nas0"
 	ucidef_set_led_usbdev "usb" "usb" "soc:blue:phone" "1-1"
 	;;
+ARV8539PW22)
+	ucidef_set_led_default "power" "power" "soc:green:power" "1"
+#	ucidef_set_led_default "power" "power" "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 02f4f6a..9995af8 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/image/Makefile b/target/linux/lantiq/image/Makefile
index f8d46fb..f44a0f1 100644
--- a/target/linux/lantiq/image/Makefile
+++ b/target/linux/lantiq/image/Makefile
@@ -310,6 +310,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,BRNDTW504,0xE3AEF33F,memsize=64)
+
 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 30cc778..b1c720b 100644
--- a/target/linux/lantiq/xway/profiles/arv.mk
+++ b/target/linux/lantiq/xway/profiles/arv.mk
@@ -18,6 +18,18 @@ endef
 
 $(eval $(call Profile,ARV7525PW))
 
+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/ARV4518PWR01
   NAME:=ARV4518PWR01
   PACKAGES:=kmod-ltq-hcd-danube kmod-ledtrig-usbdev \
diff --git a/target/linux/lantiq/dts/ARV8539PW22.dts b/target/linux/lantiq/dts/ARV8539PW22.dts
new file mode 100644
index 0000000..4206937
--- /dev/null
+++ b/target/linux/lantiq/dts/ARV8539PW22.dts
@@ -0,0 +1,160 @@
+/dts-v1/;
+
+/include/ "danube.dtsi"
+
+/ {
+	model = "ARV8539PW22 - Speedport W504V";
+
+	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 = "brnboot";
+					reg = <0x00000 0x30000>;
+					read-only;
+				};
+
+				partition@30000 {
+					label = "configuration";
+					reg = <0x30000 0x40000>;
+				};
+
+				partition@70000 {
+					label = "firmware";
+					reg = <0x70000 0x780000>;
+				};
+
+				partition@7F0000 {
+					label = "art";
+					reg = <0x7F0000 0x10000>;
+					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,arv7518pw-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>;
+		};
+
+	};
+
+	gpio-keys-polled {
+		compatible = "gpio-keys-polled";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		poll-interval = <100>;
+
+		wireless {
+			label = "wireless";
+			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>;
+		};
+
+		phone-green {
+			label = "soc:green:phone";
+			gpios = <&gpio 9 1>;
+		};
+
+	};
+};
