/*
 * Copyright (c) 2019 Intel Corporation.
 *
 * SPDX-License-Identifier: Apache-2.0
 */
/dts-v1/;

#include <espressif/esp32.dtsi>

/ {
	model = "esp32";
	compatible = "espressif,esp32";

	aliases {
		uart-0 = &uart0;
		i2c-0 = &i2c0;
	};

	chosen {
		zephyr,sram = &sram0;
		zephyr,console = &uart0;
		zephyr,shell-uart = &uart0;
	};
};

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

&cpu1 {
	clock-frequency = <ESP32_CLK_CPU_240M>;
};

&uart0 {
	status = "okay";
	current-speed = <115200>;
	tx-pin = <1>;
	rx-pin = <3>;
	rts-pin = <22>;
	cts-pin = <19>;
};

&uart1 {
	current-speed = <115200>;
	tx-pin = <10>;
	rx-pin = <9>;
	rts-pin = <11>;
	cts-pin = <6>;
	hw-flow-control;
};

&uart2 {
	current-speed = <115200>;
	tx-pin = <17>;
	rx-pin = <16>;
	rts-pin = <7>;
	cts-pin = <8>;
	hw-flow-control;
};

&i2c0 {
	status = "okay";
	clock-frequency = <I2C_BITRATE_FAST>;
	sda-pin = <21>;
	scl-pin = <22>;
};

&i2c1 {
	clock-frequency = <I2C_BITRATE_FAST>;
	sda-pin = <18>;
	scl-pin = <5>;
};

&trng0 {
	status = "okay";
};
