// 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;
		};
	};
};
