/* SPDX-License-Identifier: Apache-2.0 */

/dts-v1/;

#include <intel/intel_s1000.dtsi>

/ {
	model = "intel_s1000_crb";
	compatible = "intel,s1000";

	aliases {
		uart-0 = &uart0;
	};

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

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

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

&uart0 {
	status = "okay";
	current-speed = <115200>;
};

&i2c0 {
	status = "okay";
	clock-frequency = <I2C_BITRATE_FAST>;

	codec0: tlv320dac@18 {
		compatible = "ti,tlv320dac";
		reg = <0x18>;
		label = "TLV320DAC";
		reset-gpios = <&gpio0 4 0>;
	};
};

&spi0 {
	status = "okay";

	flash0: flash@0 {
		compatible = "jedec,spi-nor";
		reg = <0>;
		spi-max-frequency = <2000000>;
		label = "MX25UM512";
		jedec-id = [c2 80 3a];
		size = <0x2000000>;
	};
};

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

		/* The flash is 64MB in size. Each sector is 4kB and
		 * 16 sectors make a block (64kB). The flash is partitioned
		 * in terms of blocks.
		 */

		/* Reserve 192kB for the bootloader */
		boot_partition: partition@0 {
			label = "mcuboot";
			reg = <0x00000000 0x00030000>;
			read-only;
		};

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

		/* Reserve 1856kB for the application in slot 1 */
		slot1_partition: partition@1F0000 {
			label = "image-1";
			reg = <0x00200000 0x001D0000>;
		};

		/* Reserve 192kB for the scratch partition */
		scratch_partition: partition@3D0000 {
			label = "image-scratch";
			reg = <0x003D0000 0x00030000>;
		};
	};
};
