// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Broadcom BCM470X / BCM5301X ARM platform code.
 * DTS for Asus RT-AC87U
 *
 * Copyright (C) 2015 Rafał Miłecki <zajec5@gmail.com>
 */

/dts-v1/;

#include "bcm4709.dtsi"
#include "bcm5301x-nand-cs0-bch8.dtsi"

/ {
	compatible = "asus,rt-ac87u", "brcm,bcm4709", "brcm,bcm4708";
	model = "Asus RT-AC87U";

	chosen {
		bootargs = "console=ttyS0,115200";
	};

	memory {
		device_type = "memory";
		reg = <0x00000000 0x08000000
		       0x88000000 0x08000000>;
	};

	leds {
		compatible = "gpio-leds";

		wps {
			label = "bcm53xx:blue:wps";
			gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
		};

		power {
			label = "bcm53xx:blue:power";
			gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "default-on";
		};

		wan {
			label = "bcm53xx:red:wan";
			gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>;
		};
	};

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

		wps {
			label = "WPS";
			linux,code = <KEY_WPS_BUTTON>;
			gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
		};

		restart {
			label = "Reset";
			linux,code = <KEY_RESTART>;
			gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
		};
	};
};

&usb3_phy {
	status = "okay";
};

&nandcs {
	partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;

		boot@0 {
			label = "boot";
			reg = <0x00000000 0x00080000>;
			read-only;
		};

		nvram@80000 {
			label = "nvram";
			reg = <0x00080000 0x00180000>;
		};

		firmware@200000 {
			label = "firmware";
			reg = <0x00200000 0x07cc0000>;
			compatible = "brcm,trx";
		};

		asus@7ec0000 {
			label = "asus";
			reg = <0x07ec0000 0x00140000>;
			read-only;
		};
	};
};
