/*
 * Copyright (c) 2020 Gerson Fernando Budke <nandojve@gmail.com>
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;

#include <atmel/sam4lx4.dtsi>
#include "sam4l_ek-pinctrl.dtsi"

/ {
	model = "Atmel SAM4L-EK Board with an Atmel SAM4LC4C SoC";
	compatible = "atmel,sam4l_ek";

	aliases {
		i2c-0 = &twim0;
		led0 = &user_led;
		sw0 = &sw0_dfu;
	};

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

	leds {
		compatible = "gpio-leds";
		user_led: led_0 {
			gpios = <&gpioc 10 GPIO_ACTIVE_HIGH>;
			label = "LED_0";
		};
	};

	gpio_keys {
		compatible = "gpio-keys";

		sw0_dfu: button_1 {
			label = "SW0_DFU";
			gpios = <&gpioc 3 GPIO_ACTIVE_LOW>;
		};
	};
};

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

&usart2 {
	status = "okay";
	current-speed = <115200>;

	pinctrl-0 = <&usart2_default>;
	pinctrl-names = "default";
};

&spi0 {
	status = "okay";

	pinctrl-0 = <&spi0_default>;
	pinctrl-names = "default";

	cs-gpios = <&gpioa 2 GPIO_ACTIVE_LOW>,
		   <&gpioc 0 GPIO_ACTIVE_LOW>;
};

&tc0 {
	clk = <4>;
	status = "okay";
};

&twim0 {
	status = "okay";

	pinctrl-0 = <&twi0_default>;
	pinctrl-names = "default";

	std-clk-slew-lim = <0>;
	std-clk-strength-low = "0.5";
	std-data-slew-lim = <0>;
	std-data-strength-low = "0.5";

	hs-clk-slew-lim = <0>;
	hs-clk-strength-high = "0.5";
	hs-clk-strength-low = "0.5";
	hs-data-slew-lim = <0>;
	hs-data-strength-low = "0.5";

	hs-master-code = <0>;
};

zephyr_udc0: &usbc {
	status = "okay";

	pinctrl-0 = <&usbc_default>;
	pinctrl-names = "default";
};
