/*
 * Copyright 2016 Luxul Inc.
 *
 * Licensed under the ISC license.
 */

/dts-v1/;

#include "bcm47094.dtsi"
#include "bcm5301x-nand-cs0-bch4.dtsi"

/ {
	compatible = "luxul,xwr-3100v1", "brcm,bcm47094", "brcm,bcm4708";
	model = "Luxul XWR-3100 V1";

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

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

	leds {
		compatible = "gpio-leds";

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

		lan3	{
			label = "bcm53xx:green:lan1";
			gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "default-off";
		};

		lan4	{
			label = "bcm53xx:green:lan0";
			gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "default-off";
		};

		wan	{
			label = "bcm53xx:green:wan";
			gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "default-off";
		};

		lan1	{
			label = "bcm53xx:green:lan3";
			gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "default-off";
		};

		lan2	{
			label = "bcm53xx:green:lan2";
			gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "default-off";
		};

		usb3	{
			label = "bcm53xx:green:usb3";
			gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "default-off";
		};

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

		2ghz {
			label = "bcm53xx:green:2ghz";
			gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "default-off";
		};

		5ghz {
			label = "bcm53xx:green:5ghz";
			gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "default-off";
		};
	};

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

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

&uart0 {
	status = "okay";
};

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

&spi_nor {
	status = "okay";
};
