/*
 * Copyright (c) 2023 Bartosz Bilas
 *
 * SPDX-License-Identifier: Apache-2.0
 */
/dts-v1/;

#include <espressif/esp32/esp32_wroom_32ue_n4.dtsi>
#include "kincony_kc868_a32-pinctrl.dtsi"

/ {
	model = "Kincony KC868-A32";
	compatible = "espressif,esp32";

	aliases {
		uart-0 = &uart0;
		watchdog0 = &wdt0;
	};

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

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

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

&gpio0 {
	status = "okay";
};

&gpio1 {
	status = "okay";
};

&i2c0 {
	status = "okay";
	clock-frequency = <I2C_BITRATE_STANDARD>;
	sda-gpios = <&gpio0 15 GPIO_OPEN_DRAIN>;
	scl-gpios = <&gpio0 13 GPIO_OPEN_DRAIN>;
	pinctrl-0 = <&i2c0_default>;
	pinctrl-names = "default";

	i2c0_pcf8574@21 {
		 compatible = "nxp,pcf857x";
		 reg = <0x21>;
		 gpio-controller;
		 #gpio-cells = <2>;
		 ngpios = <8>;
	};

	i2c0_pcf8574@22 {
		 compatible = "nxp,pcf857x";
		 reg = <0x22>;
		 gpio-controller;
		 #gpio-cells = <2>;
		 ngpios = <8>;
	};

	i2c0_pcf8574@24 {
		 compatible = "nxp,pcf857x";
		 reg = <0x24>;
		 gpio-controller;
		 #gpio-cells = <2>;
		 ngpios = <8>;
	};

	i2c0_pcf8574@25 {
		 compatible = "nxp,pcf857x";
		 reg = <0x25>;
		 gpio-controller;
		 #gpio-cells = <2>;
		 ngpios = <8>;
	};
};

&i2c1 {
	status = "okay";
	clock-frequency = <I2C_BITRATE_STANDARD>;
	sda-gpios = <&gpio0 4 GPIO_OPEN_DRAIN>;
	scl-gpios = <&gpio0 5 GPIO_OPEN_DRAIN>;
	pinctrl-0 = <&i2c1_default>;
	pinctrl-names = "default";

	i2c1_pcf8574@21 {
		compatible = "nxp,pcf857x";
		reg = <0x21>;
		gpio-controller;
		#gpio-cells = <2>;
		ngpios = <8>;
	};

	i2c1_pcf8574@22 {
		compatible = "nxp,pcf857x";
		reg = <0x22>;
		gpio-controller;
		#gpio-cells = <2>;
		ngpios = <8>;
	};

	i2c1_pcf8574@24 {
		compatible = "nxp,pcf857x";
		reg = <0x24>;
		gpio-controller;
		#gpio-cells = <2>;
		ngpios = <8>;
	};

	i2c1_pcf8574@25 {
		compatible = "nxp,pcf857x";
		reg = <0x25>;
		gpio-controller;
		#gpio-cells = <2>;
		ngpios = <8>;
	};
};

&mdio {
	pinctrl-0 = <&mdio_default>;
	pinctrl-names = "default";
	status = "okay";

	phy: ethernet-phy@0 {
		compatible = "ethernet-phy";
		status = "okay";
		reg = <0>;
	};
};

&eth {
	status = "okay";
	phy-handle = <&phy>;
	ref-clk-output-gpios = <&gpio0 17 0>;
};

&psram0 {
	status = "disabled";
};

&timer0 {
	status = "okay";
};

&timer1 {
	status = "okay";
};

&timer2 {
	status = "okay";
};

&timer3 {
	status = "okay";
};

&trng0 {
	status = "okay";
};

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

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

		/* Reserve 60kB for the bootloader */
		boot_partition: partition@1000 {
			label = "mcuboot";
			reg = <0x00001000 0x0000F000>;
			read-only;
		};

		/* Reserve 1024kB for the application in slot 0 */
		slot0_partition: partition@10000 {
			label = "image-0";
			reg = <0x00010000 0x00100000>;
		};

		/* Reserve 1024kB for the application in slot 1 */
		slot1_partition: partition@110000 {
			label = "image-1";
			reg = <0x00110000 0x00100000>;
		};

		/* Reserve 256kB for the scratch partition */
		scratch_partition: partition@210000 {
			   label = "image-scratch";
			   reg = <0x00210000 0x00040000>;
		};

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