ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/target/linux/ath79/dts/ar9331_arduino_yun.dts b/target/linux/ath79/dts/ar9331_arduino_yun.dts
new file mode 100644
index 0000000..389a83d
--- /dev/null
+++ b/target/linux/ath79/dts/ar9331_arduino_yun.dts
@@ -0,0 +1,208 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "ar9331.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+	model = "Arduino Yun";
+	compatible = "arduino,yun", "qca,ar9331";
+
+	chosen {
+		bootargs = "console=ttyATH0,250000";
+	};
+
+	ahb {
+		apb {
+			pinmux_extended: pinmux@18040030 {
+				compatible = "pinctrl-single";
+				reg = <0x18040030 0x4>;
+
+				pinctrl-single,bit-per-mux;
+				pinctrl-single,register-width = <32>;
+				pinctrl-single,function-mask = <0x1>;
+				#pinctrl-cells = <2>;
+
+				enable_gpio11: pinmux_enable_gpio11 {
+					pinctrl-single,bits = <0x0 0x200 0x200>;
+				};
+			};
+
+			pinmux_bootstrap: pinmux@180600ac {
+				compatible = "pinctrl-single";
+				reg = <0x180600ac 0x4>;
+
+				pinctrl-single,bit-per-mux;
+				pinctrl-single,register-width = <32>;
+				pinctrl-single,function-mask = <0x1>;
+				#pinctrl-cells = <2>;
+
+				enable_gpio26_gpio27: pinmux_enable_gpio26_gpio27 {
+					pinctrl-single,bits = <0x0 0x40000 0x40000>;
+				};
+			};
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		wlan {
+			label = "blue:wlan";
+			gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
+			linux,default-trigger = "phy0tpt";
+		};
+
+		usb {
+			label = "white:usb";
+			gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
+			trigger-sources = <&hub_port1>;
+			linux,default-trigger = "usbport";
+		};
+	};
+
+	keys {
+		compatible = "gpio-keys";
+
+		config {
+			label = "config";
+			linux,code = <BTN_0>;
+			gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	gpio-export {
+		compatible = "gpio-export";
+
+		gpio_spi_enable {
+			gpio-export,name = "yun:oe:spi";
+			gpio-export,output = <0>;
+			gpios = <&gpio 21 GPIO_ACTIVE_HIGH>;
+		};
+
+		gpio_handshake_enable {
+			gpio-export,name = "yun:oe:hs";
+			gpio-export,output = <0>;
+			gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
+		};
+
+		gpio_uart_enable {
+			gpio-export,name = "yun:oe:uart";
+			gpio-export,output = <0>;
+			gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	reg_usb_vbus: reg_usb_vbus {
+		compatible = "regulator-fixed";
+		regulator-name = "usb_vbus";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		enable-active-high;
+	};
+};
+
+&pinmux {
+	pinctrl-names = "default";
+	pinctrl-0 = <&jtag_disable_pins &switch_led_disable_pins>;
+};
+
+&switch_led_disable_pins {
+	pinctrl-single,bits = <0x0 0x80 0xf8>;
+};
+
+&pinmux_extended {
+	pinctrl-names = "default";
+	pinctrl-0 = <&enable_gpio11>;
+};
+
+&pinmux_bootstrap {
+	pinctrl-names = "default";
+	pinctrl-0 = <&enable_gpio26_gpio27>;
+};
+
+&usb {
+	status = "okay";
+
+	#address-cells = <1>;
+	#size-cells = <0>;
+	dr_mode = "host";
+	vbus-supply = <&reg_usb_vbus>;
+
+	port@1 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		reg = <1>;
+		#trigger-source-cells = <0>;
+
+		hub_port1: port@1 {
+			reg = <1>;
+			#trigger-source-cells = <0>;
+		};
+	};
+};
+
+&usb_phy {
+	status = "okay";
+};
+
+&spi {
+	status = "okay";
+
+	flash@0 {
+		compatible = "jedec,spi-nor";
+		reg = <0>;
+		spi-max-frequency = <50000000>;
+
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			partition@0 {
+				label = "u-boot";
+				reg = <0x0 0x40000>;
+				read-only;
+			};
+
+			partition@40000 {
+				label = "u-boot-env";
+				reg = <0x40000 0x10000>;
+			};
+
+			partition@50000 {
+				compatible = "denx,uimage";
+				label = "firmware";
+				reg = <0x50000 0xf90000>;
+			};
+
+			partition@fe0000 {
+				label = "nvram";
+				reg = <0xfe0000 0x10000>;
+			};
+
+			art: partition@ff0000 {
+				label = "art";
+				reg = <0xff0000 0x10000>;
+				read-only;
+			};
+		};
+	};
+};
+
+&eth0 {
+	status = "okay";
+};
+
+&eth1 {
+	status = "okay";
+
+	compatible = "syscon", "simple-mfd";
+};
+
+&wmac {
+	status = "okay";
+
+	mtd-cal-data = <&art 0x1000>;
+};