// SPDX-License-Identifier: GPL-2.0
/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

#include "ar9132.dtsi"

/ {
	compatible = "tplink,tl-wr1043nd-v1", "qca,ar9132";
	model = "TP-Link TL-WR1043ND Version 1";

	memory@0 {
		device_type = "memory";
		reg = <0x0 0x2000000>;
	};

	extosc: ref {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <40000000>;
	};

	gpio-keys {
		compatible = "gpio-keys";
		#address-cells = <1>;
		#size-cells = <0>;

		button@0 {
			label = "reset";
			linux,code = <KEY_RESTART>;
			gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
			debounce-interval = <60>;
		};

		button@1 {
			label = "qss";
			linux,code = <KEY_WPS_BUTTON>;
			gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
			debounce-interval = <60>;
		};
	};

	leds {
		compatible = "gpio-leds";
		led@0 {
			label = "tp-link:green:usb";
			gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
		};

		led@1 {
			label = "tp-link:green:system";
			gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "heartbeat";
		};

		led@2 {
			label = "tp-link:green:qss";
			gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
		};

		led@3 {
			label = "tp-link:green:wlan";
			gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
		};
	};
};

&uart {
	status = "okay";
};

&pll {
	clocks = <&extosc>;
};

&usb {
	status = "okay";
};

&usb_phy {
	status = "okay";
};

&spi {
	status = "okay";
	num-cs = <1>;

	flash@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "s25sl064a";
		reg = <0>;
		spi-max-frequency = <25000000>;

		partition@0 {
			label = "u-boot";
			reg = <0x000000 0x020000>;
		};

		partition@1 {
			label = "firmware";
			reg = <0x020000 0x7D0000>;
		};

		partition@2 {
			label = "art";
			reg = <0x7F0000 0x010000>;
			read-only;
		};
	};
};
