/dts-v1/;

#include "bcm6368.dtsi"

#include <dt-bindings/input/input.h>

/ {
	model = "Observa VH4032N";
	compatible = "observa,vh4032n", "brcm,bcm6368";

	chosen {
		bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
		stdout-path = "serial0:115200n8";
	};

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

		reset {
			label = "reset";
			gpios = <&pinctrl 34 1>;
			linux,code = <KEY_RESTART>;
			debounce-interval = <60>;
		};

		wlan {
			label = "wlan";
			gpios = <&pinctrl 35 1>;
			linux,code = <KEY_WLAN>;
			debounce-interval = <60>;
		};
	};

	leds {
		compatible = "gpio-leds";

		dsl_blue {
			label = "VH4032N:blue:dsl";
			gpios = <&pinctrl 2 1>;
		};
		dsl_red {
			label = "VH4032N:red:dsl";
			gpios = <&pinctrl 5 1>;
		};
		hspa_blue {
			label = "VH4032N:blue:hspa";
			gpios = <&pinctrl 11 1>;
		};
		hspa_red {
			label = "VH4032N:red:hspa";
			gpios = <&pinctrl 12 1>;
		};
		power_blue {
			label = "VH4032N:blue:power";
			gpios = <&pinctrl 22 0>;
			default-state = "on";
		};
		power_red {
			label = "VH4032N:red:power";
			gpios = <&pinctrl 24 0>;
		};
		voice_blue {
			label = "VH4032N:blue:voice";
			gpios = <&pinctrl 25 1>;
		};
		voice_red {
			label = "VH4032N:red:voice";
			gpios = <&pinctrl 26 1>;
		};
	};
};

&pinctrl {
       pinctrl-names = "default";
       pinctrl-0 = <&pinctrl_pci &pinctrl_ephy0_led &pinctrl_ephy1_led
		    &pinctrl_ephy2_led &pinctrl_ephy3_led>;

	usb_hub_reset {
		gpio-hog;
		gpios = <27 0>;
		output-high;
		line-name = "usb-hub-reset-gpio";
	};
};

&pflash {
	status = "ok";

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

		cfe@0 {
			label = "CFE";
			reg = <0x0000000 0x0020000>;
			read-only;
		};

		linux@20000 {
			label = "linux";
			reg = <0x0020000 0x1fc0000>;
			compatible = "brcm,bcm963xx-imagetag";
		};

		nvram@1fe0000 {
			label = "nvram";
			reg = <0x1fe0000 0x020000>;
		};
	};
};

&uart0 {
	status = "ok";
};
