/*
 * Copyright (c) 2022 Espressif Systems (Shanghai) Co., Ltd.
 *
 * SPDX-License-Identifier: Apache-2.0
 */
#include <mem.h>
#include <xtensa/xtensa.dtsi>
#include <zephyr/dt-bindings/adc/adc.h>
#include <zephyr/dt-bindings/gpio/gpio.h>
#include <zephyr/dt-bindings/i2c/i2c.h>
#include <zephyr/dt-bindings/clock/esp32s3_clock.h>
#include <zephyr/dt-bindings/interrupt-controller/esp32s3-xtensa-intmux.h>
#include <dt-bindings/pinctrl/esp32s3-pinctrl.h>

/ {

	aliases {
		die-temp0 = &coretemp;
	};

	chosen {
		zephyr,canbus = &twai;
		zephyr,entropy = &trng0;
		zephyr,flash-controller = &flash;
	};

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

		cpu0: cpu@0 {
			device_type = "cpu";
			compatible = "cdns,tensilica-xtensa-lx7";
			reg = <0>;
		};

		cpu1: cpu@1 {
			device_type = "cpu";
			compatible = "cdns,tensilica-xtensa-lx7";
			reg = <1>;
		};

	};

	wifi: wifi {
		compatible = "espressif,esp32-wifi";
		status = "disabled";
	};

	pinctrl: pin-controller {
		compatible = "espressif,esp32-pinctrl";
		status = "okay";
	};

	soc {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "simple-bus";
		ranges;

		sram0: memory@3fc88000 {
			compatible = "mmio-sram";
			reg = <0x3fc88000 0x77FFF>;
		};

		ipmmem0: memory@3fcbd000 {
			compatible = "mmio-sram";
			reg = <0x3fcbd000 0x400>;
		};

		shm0: memory@3fcbd400 {
			compatible = "mmio-sram";
			reg = <0x3fcbd400 0x4000>;
		};

		intc: interrupt-controller@600c2000 {
			#interrupt-cells = <1>;
			compatible = "espressif,esp32-intc";
			interrupt-controller;
			reg = <0x600c2000 0x1000>;
			status = "okay";
		};

		rtc: rtc@60021000 {
			compatible = "espressif,esp32-rtc";
			reg = <0x60021000 0x2000>;
			xtal-freq = <ESP32_CLK_XTAL_40M>;
			#clock-cells = <1>;
			status = "okay";

			rtc_timer: rtc_timer {
				compatible = "espressif,esp32-rtc-timer";
				slow-clk-freq = <ESP32_RTC_SLOW_CLK_FREQ_150K>;
				interrupts = <RTC_CORE_INTR_SOURCE>;
				interrupt-parent = <&intc>;
				status = "okay";
			};
		};

		flash: flash-controller@60002000 {
			compatible = "espressif,esp32-flash-controller";
			reg = <0x60002000 0x1000>;
			/* interrupts = <3 0>; */

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

			flash0: flash@0 {
				compatible = "soc-nv-flash";
				reg = <0 0x800000>;
				erase-block-size = <4096>;
				write-block-size = <4>;
				/* Flash size is specified in SOC/SIP dtsi */
			};
		};

		psram0: psram@3c000000 {
			device_type = "memory";
			compatible = "mmio-sram";
			/* PSRAM size is specified in SOC/SIP dtsi */
			reg = <0x3c000000 DT_SIZE_M(2)>;
			status = "disabled";
		};

		ipm0: ipm@3fcc1400 {
			compatible = "espressif,esp32-ipm";
			reg = <0x3fcc1400 0x8>;
			status = "disabled";
			shared-memory = <&ipmmem0>;
			shared-memory-size = <0x400>;
			interrupts = <FROM_CPU_INTR0_SOURCE FROM_CPU_INTR1_SOURCE>;
			interrupt-parent = <&intc>;
		};

		uart0: uart@60000000 {
			compatible = "espressif,esp32-uart";
			reg = <0x60000000 0x1000>;
			interrupts = <UART0_INTR_SOURCE>;
			interrupt-parent = <&intc>;
			clocks = <&rtc ESP32_UART0_MODULE>;
			status = "disabled";
		};

		uart1: uart@60010000 {
			compatible = "espressif,esp32-uart";
			reg = <0x60010000 0x1000>;
			interrupts = <UART1_INTR_SOURCE>;
			interrupt-parent = <&intc>;
			clocks = <&rtc ESP32_UART1_MODULE>;
			status = "disabled";
		};

		uart2: uart@6002e000 {
			compatible = "espressif,esp32-uart";
			reg = <0x6002e000 0x1000>;
			interrupts = <UART2_INTR_SOURCE>;
			interrupt-parent = <&intc>;
			clocks = <&rtc ESP32_UART2_MODULE>;
			status = "disabled";
		};

		gpio: gpio {
			compatible = "simple-bus";
			gpio-map-mask = <0xffffffe0 0xffffffc0>;
			gpio-map-pass-thru = <0x1f 0x3f>;
			gpio-map = <
				0x00 0x0 &gpio0 0x0 0x0
				0x20 0x0 &gpio1 0x0 0x0
			>;
			#gpio-cells = <2>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;

			gpio0: gpio@60004000 {
				compatible = "espressif,esp32-gpio";
				gpio-controller;
				#gpio-cells = <2>;
				reg = <0x60004000 0x800>;
				interrupts = <GPIO_INTR_SOURCE>;
				interrupt-parent = <&intc>;
				/* Maximum available pins (per port)
				 * Actual occupied pins are specified
				 * on part number dtsi level, using
				 * the `gpio-reserved-ranges` property.
				 */
				ngpios = <32>;  /* 0..31 */
			};

			gpio1: gpio@60004800 {
				compatible = "espressif,esp32-gpio";
				gpio-controller;
				#gpio-cells = <2>;
				reg = <0x60004800 0x800>;
				interrupts = <GPIO_INTR_SOURCE>;
				interrupt-parent = <&intc>;
				ngpios = <22>; /* 32..53 */
			};
		};

		touch: touch@6000885c {
			compatible = "espressif,esp32-touch";
			reg = <0x6000885c 0x88 0x60008908 0x18>;
			interrupts = <RTC_CORE_INTR_SOURCE>;
			interrupt-parent = <&intc>;
			status = "disabled";
		};

		i2c0: i2c@60013000 {
			compatible = "espressif,esp32-i2c";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x60013000 DT_SIZE_K(4)>;
			interrupts = <I2C_EXT0_INTR_SOURCE>;
			interrupt-parent = <&intc>;
			clocks = <&rtc ESP32_I2C0_MODULE>;
			status = "disabled";
		};

		i2c1: i2c@60027000 {
			compatible = "espressif,esp32-i2c";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x60027000 DT_SIZE_K(4)>;
			interrupts = <I2C_EXT1_INTR_SOURCE>;
			interrupt-parent = <&intc>;
			clocks = <&rtc ESP32_I2C1_MODULE>;
			status = "disabled";
		};

		spi2: spi@60024000 {
			compatible = "espressif,esp32-spi";
			reg = <0x60024000 DT_SIZE_K(4)>;
			interrupts = <SPI2_INTR_SOURCE>;
			interrupt-parent = <&intc>;
			clocks = <&rtc ESP32_SPI2_MODULE>;
			dma-clk = <ESP32_GDMA_MODULE>;
			dma-host = <0>;
			status = "disabled";
		};

		spi3: spi@60025000 {
			compatible = "espressif,esp32-spi";
			reg = <0x60025000 DT_SIZE_K(4)>;
			interrupts = <SPI3_INTR_SOURCE>;
			interrupt-parent = <&intc>;
			clocks = <&rtc ESP32_SPI3_MODULE>;
			dma-clk = <ESP32_GDMA_MODULE>;
			dma-host = <1>;
			status = "disabled";
		};

		coretemp: coretemp@60008800 {
			compatible = "espressif,esp32-temp";
			friendly-name = "coretemp";
			reg = <0x60008800 0x4>;
			status = "disabled";
		};

		adc0: adc@60040000 {
			compatible = "espressif,esp32-adc";
			reg = <0x60040000 4>;
			unit = <1>;
			channel-count = <10>;
			#io-channel-cells = <1>;
			status = "disabled";
		};

		adc1: adc@60040004 {
			compatible = "espressif,esp32-adc";
			reg = <0x60040004 4>;
			unit = <2>;
			channel-count = <10>;
			#io-channel-cells = <1>;
			status = "disabled";
		};

		twai: can@6002b000 {
			compatible = "espressif,esp32-twai";
			reg = <0x6002b000 DT_SIZE_K(4)>;
			interrupts = <TWAI_INTR_SOURCE>;
			interrupt-parent = <&intc>;
			clocks = <&rtc ESP32_TWAI_MODULE>;
			status = "disabled";
		};

		usb_serial: uart@60038000 {
			compatible = "espressif,esp32-usb-serial";
			reg = <0x60038000 DT_SIZE_K(4)>;
			status = "disabled";
			interrupts = <USB_SERIAL_JTAG_INTR_SOURCE>;
			interrupt-parent = <&intc>;
			clocks = <&rtc ESP32_USB_MODULE>;
		};

		timer0: counter@6001f000 {
			compatible = "espressif,esp32-timer";
			reg = <0x6001f000 DT_SIZE_K(4)>;
			group = <0>;
			index = <0>;
			interrupts = <TG0_T0_LEVEL_INTR_SOURCE>;
			interrupt-parent = <&intc>;
			status = "disabled";
		};

		timer1: counter@6001f024 {
			compatible = "espressif,esp32-timer";
			reg = <0x6001f024 DT_SIZE_K(4)>;
			group = <0>;
			index = <1>;
			interrupts = <TG0_T1_LEVEL_INTR_SOURCE>;
			interrupt-parent = <&intc>;
			status = "disabled";
		};

		timer2: counter@60020000 {
			compatible = "espressif,esp32-timer";
			reg = <0x60020000 DT_SIZE_K(4)>;
			group = <1>;
			index = <0>;
			interrupts = <TG1_T0_LEVEL_INTR_SOURCE>;
			interrupt-parent = <&intc>;
			status = "disabled";
		};

		timer3: counter@60020024 {
			compatible = "espressif,esp32-timer";
			reg = <0x60020024 DT_SIZE_K(4)>;
			group = <1>;
			index = <1>;
			interrupts = <TG1_T1_LEVEL_INTR_SOURCE>;
			interrupt-parent = <&intc>;
		};

		wdt0: watchdog@6001f048 {
			compatible = "espressif,esp32-watchdog";
			reg = <0x6001f048 0x20>;
			interrupts = <TG0_WDT_LEVEL_INTR_SOURCE>;
			interrupt-parent = <&intc>;
			clocks = <&rtc ESP32_TIMG0_MODULE>;
			status = "disabled";
		};

		wdt1: watchdog@60020048 {
			compatible = "espressif,esp32-watchdog";
			reg = <0x60020048 0x20>;
			interrupts = <TG1_WDT_LEVEL_INTR_SOURCE>;
			interrupt-parent = <&intc>;
			clocks = <&rtc ESP32_TIMG1_MODULE>;
			status = "disabled";
		};

		trng0: trng@6003507c {
			compatible = "espressif,esp32-trng";
			reg = <0x6003507c 0x4>;
			status = "disabled";
		};

		ledc0: ledc@60019000 {
			compatible = "espressif,esp32-ledc";
			#pwm-cells = <3>;
			reg = <0x60019000 DT_SIZE_K(4)>;
			clocks = <&rtc ESP32_LEDC_MODULE>;
			status = "disabled";
		};

		mcpwm0: mcpwm@6001e000 {
			compatible = "espressif,esp32-mcpwm";
			reg = <0x6001e000 DT_SIZE_K(4)>;
			interrupts = <PWM0_INTR_SOURCE>;
			interrupt-parent = <&intc>;
			clocks = <&rtc ESP32_PWM0_MODULE>;
			#pwm-cells = <3>;
			status = "disabled";
		};

		mcpwm1: mcpwm@6002c000 {
			compatible = "espressif,esp32-mcpwm";
			reg = <0x6002c000 DT_SIZE_K(4)>;
			interrupts = <PWM1_INTR_SOURCE>;
			interrupt-parent = <&intc>;
			clocks = <&rtc ESP32_PWM1_MODULE>;
			#pwm-cells = <3>;
			status = "disabled";
		};

		pcnt: pcnt@60017000 {
			compatible = "espressif,esp32-pcnt";
			reg = <0x60017000 DT_SIZE_K(4)>;
			interrupts = <PCNT_INTR_SOURCE>;
			interrupt-parent = <&intc>;
			clocks = <&rtc ESP32_PCNT_MODULE>;
			status = "disabled";
		};

		dma: dma@6003f000 {
			compatible = "espressif,esp32-gdma";
			reg = <0x6003f000 DT_SIZE_K(4)>;
			#dma-cells = <1>;
			interrupts = <DMA_IN_CH0_INTR_SOURCE DMA_OUT_CH0_INTR_SOURCE
						DMA_IN_CH1_INTR_SOURCE DMA_OUT_CH1_INTR_SOURCE
						DMA_IN_CH2_INTR_SOURCE DMA_OUT_CH2_INTR_SOURCE>;
			interrupt-parent = <&intc>;
			clocks = <&rtc ESP32_GDMA_MODULE>;
			dma-channels = <10>;
			dma-buf-addr-alignment = <4>;
			status = "disabled";
		};

	};
};
