/*
 * Copyright 2022 Google LLC
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;

#include <espressif/esp32c3.dtsi>
#include "xiao_esp32c3-pinctrl.dtsi"
#include "seeed_xiao_connector.dtsi"

/ {
	model = "Seeed XIAO ESP32C3";
	compatible = "seeed,xiao-esp32c3";

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

	aliases {
		i2c-0 = &i2c0;
		watchdog0 = &wdt0;
	};

	power-states {
		light_sleep: light_sleep {
			compatible = "zephyr,power-state";
			power-state-name = "standby";
			min-residency-us = <200>;
			exit-latency-us = <60>;
		};

		deep_sleep: deep_sleep {
			compatible = "zephyr,power-state";
			power-state-name = "soft-off";
			min-residency-us = <660>;
			exit-latency-us = <105>;
		};
	};
};

&cpu0 {
	clock-frequency = <ESP32_CLK_CPU_160M>;
	cpu-power-states = <&deep_sleep &light_sleep>;
};

&uart0 {
	status = "okay";
	current-speed = <115200>;
	pinctrl-0 = <&uart0_default>;
	pinctrl-names = "default";
};

&usb_serial {
	status = "okay";
};

&i2c0 {
	status = "okay";
	clock-frequency = <I2C_BITRATE_STANDARD>;
	pinctrl-0 = <&i2c0_default>;
	pinctrl-names = "default";
};

&trng0 {
	status = "okay";
};

&spi2 {
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";
	pinctrl-0 = <&spim2_default>;
	pinctrl-names = "default";
};

&gpio0 {
	status = "okay";
};

&wdt0 {
	status = "okay";
};

&timer0 {
	status = "okay";
};

&timer1 {
	status = "okay";
};

&twai {
	status = "okay";
	pinctrl-0 = <&twai_default>;
	pinctrl-names = "default";
	bus-speed = <125000>;
};

&wifi {
	status = "okay";
};

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

		boot_partition: partition@0 {
			label = "mcuboot";
			reg = <0x00000000 0x0000F000>;
			read-only;
		};

		slot0_partition: partition@10000 {
			label = "image-0";
			reg = <0x00010000 0x00100000>;
		};

		slot1_partition: partition@110000 {
			label = "image-1";
			reg = <0x00110000 0x00100000>;
		};

		scratch_partition: partition@210000 {
			label = "image-scratch";
			reg = <0x00210000 0x00040000>;
		};

		storage_partition: partition@250000 {
			label = "storage";
			reg = <0x00250000 0x00006000>;
		};
	};
};
