/*
 * Copyright (c) 2017 Christian Taedcke
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <silabs/efm32wg990f256.dtsi>

/ {
	model = "Silicon Labs EFM32WG STK3800 board";
	compatible = "silabs,efm32wg_stk3800", "silabs,efm32wg";

	chosen {
		zephyr,console = &uart0;
		zephyr,shell-uart = &uart0;
		zephyr,sram = &sram0;
		zephyr,flash = &flash0;
	};

	/* These aliases are provided for compatibility with samples */
	aliases {
		led0 = &led0;
		led1 = &led1;
		sw0 = &button0;
		sw1 = &button1;
	};

	leds {
		compatible = "gpio-leds";
		led0: led_0 {
			gpios = <&gpioe 2 0>;
			label = "LED 0";
		};
		led1: led_1 {
			gpios = <&gpioe 3 0>;
			label = "LED 1";
		};
	};

	buttons {
		compatible = "gpio-keys";
		button0: button_0 {
			/* gpio flags need validation */
			gpios = <&gpiob 9 GPIO_INT_ACTIVE_LOW>;
			label = "User Push Button 0";
		};
		button1: button_1 {
			/* gpio flags need validation */
			gpios = <&gpiob 19 GPIO_INT_ACTIVE_LOW>;
			label = "User Push Button 1";
		};
	};
};

&cpu0 {
	clock-frequency = <48000000>;
};

&uart0 {
	current-speed = <115200>;
	location-rx = <GECKO_LOCATION(1) GECKO_PORT_E GECKO_PIN(1)>;
	location-tx = <GECKO_LOCATION(1) GECKO_PORT_E GECKO_PIN(0)>;
	status = "okay";
};

&flash0 {
	/*
	 * For more information, see:
	 * http://docs.zephyrproject.org/latest/guides/dts/index.html#flash-partitions
	 */
	partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;

		/* Set 4Kb of storage at the end of the 256Kb of flash */
		storage_partition: partition@3f000 {
			label = "storage";
			reg = <0x0003f000 0x00001000>;
		};

	};
};
