/*
 * Copyright (c) 2020 Google LLC.
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <atmel/samd5xx19.dtsi>
#include "adafruit_itsybitsy_m4_express-pinctrl.dtsi"

/ {
	model = "Adafruit ItsyBitsy M4 Express";
	compatible = "adafruit,itsybitsy-m4-express";

	chosen {
		zephyr,console = &sercom3;
		zephyr,shell-uart = &sercom3;
		zephyr,sram = &sram0;
		zephyr,flash = &flash0;
		zephyr,code-partition = &code_partition;
	};

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

	leds {
		compatible = "gpio-leds";
		led0: led_0 {
			gpios = <&porta 22 0>;
			label = "LED";
		};
	};

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

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

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

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

&sercom1 {
	status = "okay";
	compatible = "atmel,sam0-spi";
	dipo = <3>;
	dopo = <0>;

	#address-cells = <1>;
	#size-cells = <0>;

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

&tcc0 {
	status = "okay";
	compatible = "atmel,sam0-tcc-pwm";
	prescaler = <8>;
	#pwm-cells = <2>;

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

zephyr_udc0: &usb0 {
	status = "okay";

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

&dmac {
	status = "okay";
};

&flash0 {
	partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;

		boot_partition: partition@0 {
			label = "uf2";
			reg = <0x00000000 DT_SIZE_K(16)>;
			read-only;
		};

		code_partition: partition@4000 {
			label = "code";
			reg = <0x4000 DT_SIZE_K(512-16-16)>;
			read-only;
		};

		/*
		 * The final 16 KiB is reserved for the application.
		 * Storage partition will be used by FCB/LittleFS/NVS
		 * if enabled.
		 */
		storage_partition: partition@7c000 {
			label = "storage";
			reg = <0x7c000 DT_SIZE_K(16)>;
		};
	};
};
