--- /dev/null
+/*
+ * Copyright (C) 2016 Rafał Miłecki <rafal@milecki.pl>
+ *
+ * Licensed under the ISC license.
+ */
+
+/dts-v1/;
+
+#include "bcm53573.dtsi"
+
+/ {
+       compatible = "tenda,ac9", "brcm,bcm47189", "brcm,bcm53573";
+       model = "Tenda AC9";
+
+       chosen {
+               bootargs = "console=ttyS0,115200 earlycon";
+       };
+
+       memory {
+               reg = <0x00000000 0x08000000>;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               usb {
+                       label = "bcm53xx:blue:usb";
+                       gpios = <&chipcommon 1 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-off";
+               };
+
+               wps {
+                       label = "bcm53xx:blue:wps";
+                       gpios = <&chipcommon 10 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-off";
+               };
+
+               5ghz {
+                       label = "bcm53xx:blue:5ghz";
+                       gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-off";
+               };
+
+               system {
+                       label = "bcm53xx:blue:system";
+                       gpios = <&chipcommon 15 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "timer";
+               };
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               rfkill {
+                       label = "WiFi";
+                       linux,code = <KEY_RFKILL>;
+                       gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+               };
+
+               restart {
+                       label = "Reset";
+                       linux,code = <KEY_RESTART>;
+                       gpios = <&chipcommon 7 GPIO_ACTIVE_LOW>;
+               };
+
+               wps {
+                       label = "WPS";
+                       linux,code = <KEY_WPS_BUTTON>;
+                       gpios = <&chipcommon 9 GPIO_ACTIVE_LOW>;
+               };
+       };
+};
 
--- /dev/null
+/*
+ * Copyright (C) 2016 Rafał Miłecki <rafal@milecki.pl>
+ *
+ * Licensed under the ISC license.
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include "skeleton.dtsi"
+
+/ {
+       interrupt-parent = <&gic>;
+
+       chosen {
+               stdout-path = &uart0;
+       };
+
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               cpu@0 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a7";
+                       reg = <0x0>;
+               };
+       };
+
+       mpcore {
+               compatible = "simple-bus";
+               ranges = <0x00000000 0x18310000 0x00008000>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               gic: interrupt-controller@1000 {
+                       compatible = "arm,cortex-a7-gic";
+                       #interrupt-cells = <3>;
+                       #address-cells = <0>;
+                       interrupt-controller;
+                       reg = <0x1000 0x1000>,
+                             <0x2000 0x0100>;
+               };
+       };
+
+       clocks {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               alp: oscillator {
+                       #clock-cells = <0>;
+                       compatible = "fixed-clock";
+                       clock-frequency = <40000000>;
+               };
+       };
+
+       axi@18000000 {
+               compatible = "brcm,bus-axi";
+               reg = <0x18000000 0x1000>;
+               ranges = <0x00000000 0x18000000 0x00100000>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               #interrupt-cells = <1>;
+               interrupt-map-mask = <0x000fffff 0xffff>;
+               interrupt-map =
+                       /* ChipCommon */
+                       <0x00000000 0 &gic GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
+
+                       /* IEEE 802.11 0 */
+                       <0x00001000 0 &gic GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
+
+                       /* PCIe Controller 0 */
+                       <0x00002000 0 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
+                       <0x00002000 1 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
+                       <0x00002000 2 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
+                       <0x00002000 3 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
+                       <0x00002000 4 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
+                       <0x00002000 5 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
+
+                       /* USB 2.0 Controller */
+                       <0x00004000 0 &gic GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
+
+                       /* Ethernet Controller 0 */
+                       <0x00005000 0 &gic GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
+
+                       /* IEEE 802.11 1 */
+                       <0x0000a000 0 &gic GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
+
+                       /* Ethernet Controller 1 */
+                       <0x0000b000 0 &gic GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
+
+               chipcommon: chipcommon@0 {
+                       compatible = "simple-bus";
+                       reg = <0x00000000 0x1000>;
+                       ranges;
+
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       gpio-controller;
+                       #gpio-cells = <2>;
+
+                       uart0: serial@0300 {
+                               compatible = "ns16550a";
+                               reg = <0x0300 0x100>;
+                               interrupt-parent = <&gic>;
+                               interrupts = <GIC_PPI 16 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&alp>;
+                               status = "okay";
+                       };
+               };
+
+               usb2: usb2@4000 {
+                       reg = <0x4000 0x1000>;
+                       ranges;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       ehci: ehci@4000 {
+                               compatible = "generic-ehci";
+                               reg = <0x4000 0x1000>;
+                               interrupt-parent = <&gic>;
+                               interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
+                       };
+
+                       ohci: ohci@d000 {
+                               #usb-cells = <0>;
+
+                               compatible = "generic-ohci";
+                               reg = <0xd000 0x1000>;
+                               interrupt-parent = <&gic>;
+                               interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
+                       };
+               };
+
+               gmac0: ethernet@5000 {
+                       reg = <0x5000 0x1000>;
+               };
+
+               gmac1: ethernet@b000 {
+                       reg = <0xb000 0x1000>;
+               };
+       };
+};