/*
 * Copyright (c) Justin Watson 2017
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;

#include <atmel/sam4s16c.dtsi>

/ {
	model = "Atmel SAM4S Xplained Board with an Atmel SAM4S16C SoC";
	compatible = "atmel,sam4s_xplained", "atmel,sam4s16c", "atmel,sam4s";

	aliases {
		i2c-0 = &i2c0;
		i2c-1 = &i2c1;
		led0 = &yellow_led_1;
		led1 = &yellow_led_2;
		sw0 = &user_button;
		wdog = &wdog;
	};

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

	leds {
		compatible = "gpio-leds";
		yellow_led_1: led_1 {
			gpios = <&portc 10 0>;
			label = "LED 1";
		};
		yellow_led_2: led_2 {
			gpios = <&portc 17 0>;
			label = "LED 2";
		};
	};

	gpio_keys {
		compatible = "gpio-keys";
		user_button: button_1 {
			label = "User Button";
			gpios = <&porta 5 (GPIO_PUD_PULL_UP |
					   GPIO_INT_ACTIVE_LOW)>;
		};
	};
};

&i2c0 {
	status = "ok";
};

&uart0 {
	current-speed = <115200>;
	status = "ok";
};

&uart1 {
	current-speed = <115200>;
	status = "ok";
};

&wdog {
	status = "ok";
};
