/*
 * Copyright (C) 2017 Álvaro Fernández Rojas <noltari@gmail.com>
 *
 * SPDX-License-Identifier:	GPL-2.0+
 */

/dts-v1/;

#include "brcm,bcm6358.dtsi"

/ {
	model = "SFR NeufBox 4 (Sercomm) Board";
	compatible = "sfr,nb4-ser", "brcm,bcm6358";

	aliases {
		serial0 = &uart0;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	gpio-leds {
		compatible = "gpio-leds";

		traffic_white {
			label = "NB4-SER:white:traffic";
			gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
		};

		service_blue {
			label = "NB4-SER:blue:service";
			gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
		};

		wifi_white {
			label = "NB4-SER:white:wifi";
			gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
		};

		service_red {
			label = "NB4-SER:red:service";
			gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
		};

		service_green {
			label = "NB4-SER:green:service";
			gpios = <&gpio0 30 GPIO_ACTIVE_LOW>;
		};
	};
};

&gpio0 {
	status = "okay";
};

&leds {
	status = "okay";
	brcm,clk-div = <1>;

	led@0 {
		reg = <0>;
		active-low;
		label = "NB4-SER:white:alarm";
	};

	led@2 {
		reg = <2>;
		active-low;
		label = "NB4-SER:white:tv";
	};

	led@3 {
		reg = <3>;
		active-low;
		label = "NB4-SER:white:tel";
	};

	led@4 {
		reg = <4>;
		active-low;
		label = "NB4-SER:white:adsl";
	};
};

&pflash {
	status = "okay";
};

&uart0 {
	u-boot,dm-pre-reloc;
	status = "okay";
};
