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

/dts-v1/;

#include <mem.h>

#define DT_FLASH_SIZE		DT_SIZE_K(144)
#define DT_SRAM_SIZE		DT_SIZE_K(52)

#include "intel_curie.dtsi"

/ {
	model = "Arduino 101";
	compatible = "arduino,101","intel,quark";

	aliases {
		led0 = &led0;
		uart-0 = &uart0;
		uart-1 = &uart1;
	};

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

	leds {
		compatible = "gpio-leds";
		led0: led_0 {
			gpios = <&gpio0 8 0>;
			label = "LED";
		};
	};
};

&uart0 {
	status = "ok";
	current-speed = <1000000>;
};

&uart1 {
	status = "ok";
	current-speed = <115200>;
};

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

&i2c1 {
	status = "ok";
	clock-frequency = <I2C_BITRATE_FAST>;
};

&spi0 {
	status = "ok";
	cs-gpios = <&gpio0 24 0>;

	spi-flash@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "winbond,w25q16", "jedec,spi-nor";
		reg = <0>;
		spi-max-frequency = <8000000>;
	};
};

&spi1 {
	status = "ok";
};

&spi2 {
	status = "ok";
};
