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

/dts-v1/;

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

/ {
	compatible = "asus,rt-ac68u", "brcm,bcm4708";
	model = "Asus RT-AC68U (BCM4708)";

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

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

	leds {
		compatible = "gpio-leds";

		usb2 {
			label = "bcm53xx:blue:usb2";
			gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
		};

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

		logo {
			label = "bcm53xx:white:logo";
			gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "default-on";
		};

		usb3 {
			label = "bcm53xx:blue:usb3";
			gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
		};
	};

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

		brightness {
			label = "Backlight";
			linux,code = <KEY_BRIGHTNESS_ZERO>;
			gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>;
		};

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

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

		rfkill {
			label = "WiFi";
			linux,code = <KEY_RFKILL>;
			gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>;
		};
	};
};

&usb3_phy {
	status = "okay";
};
