/*
 * Copyright (c) 2021 Argentum Systems Ltd.
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <atmel/samr34.dtsi>
#include "atsamr34_xpro-pinctrl.dtsi"

/ {
	model = "SAM R34 Xplained Pro";
	compatible = "atsamr34,xpro", "atmel,samr34j18b", "atmel,samr34";

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

	/* These aliases are provided for compatibility with samples */
	aliases {
		led0 = &led0;
		pwm-led0 = &pwm_led0;
		sw0 = &user_button;
	};

	leds {
		compatible = "gpio-leds";
		led0: led_0 {
			gpios = <&porta 19 GPIO_ACTIVE_LOW>;
			label = "Yellow LED";
		};
	};

	pwmleds {
		compatible = "pwm-leds";
		pwm_led0: pwm_led_0 {
			pwms = <&tcc0 3 PWM_MSEC(20)>;
		};
	};

	buttons {
		compatible = "gpio-keys";
		user_button: button_0 {
			gpios = <&porta 28 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
			label = "SW0";
		};
	};
};

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

&adc {
	status = "okay";
};

&tcc0 {
	status = "okay";
	compatible = "atmel,sam0-tcc-pwm";
	/* Gives a maximum period of 1.4s */
	prescaler = <4>;
	#pwm-cells = <2>;

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

&sercom0 {
	status = "okay";
	compatible = "atmel,sam0-uart";
	current-speed = <115200>;
	rxpo = <1>;
	txpo = <0>;

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

&sercom1 {
	status = "okay";
	compatible = "atmel,sam0-i2c";
	clock-frequency = <I2C_BITRATE_FAST>;
	#address-cells = <1>;
	#size-cells = <0>;

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

/* SERCOM4 is used for the internal LoRa radio */
&sercom4 {
	status = "okay";

	pinctrl-0 = <&sercom4_default>;
	pinctrl-names = "default";
};
&lora {
	tcxo-power-gpios = <&porta 9 GPIO_ACTIVE_HIGH>;  /* TCXO_PWR */
	tcxo-power-startup-delay-ms = <5>;
	rfi-enable-gpios = <&porta 13 GPIO_ACTIVE_HIGH>; /* BAND_SEL */
	rfo-enable-gpios = <&porta 13 GPIO_ACTIVE_HIGH>; /* BAND_SEL */
};

&sercom5 {
	status = "okay";
	compatible = "atmel,sam0-spi";
	dipo = <0>;
	dopo = <1>;
	#address-cells = <1>;
	#size-cells = <0>;

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

zephyr_udc0: &usb0 {
	status = "okay";
};
