/*
 * Copyright (C) 2017 Luxul Inc.
 *
 * Licensed under the ISC license.
 */

/dts-v1/;

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

/ {
	compatible = "luxul,xbr-4500-v1", "brcm,bcm47094", "brcm,bcm4708";
	model = "Luxul XBR-4500 V1";

	chosen {
		bootargs = "earlycon";
	};

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

	leds {
		compatible = "gpio-leds";

		status {
			label = "bcm53xx:green:status";
			gpios = <&chipcommon 20 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "timer";
		};

		usb3 {
			label = "bcm53xx:green:usb3";
			gpios = <&chipcommon 19 GPIO_ACTIVE_HIGH>;
			trigger-sources = <&ohci_port1>, <&ehci_port1>,
				<&xhci_port1>;
			linux,default-trigger = "usbport";
		};

	};

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

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

&usb3 {
	vcc-gpio = <&chipcommon 18 GPIO_ACTIVE_HIGH>;
};

&spi_nor {
	status = "okay";
};
