/*
 * Copyright (c) 2019, NXP
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;

#include <nxp/nxp_rt1015.dtsi>

/ {
	model = "NXP MIMXRT1015-EVK board";
	compatible = "nxp,mimxrt1015";

	aliases {
		led0 = &green_led;
		sw0 = &user_button;
	};

	chosen {
		zephyr,console = &lpuart1;
		zephyr,shell-uart = &lpuart1;
	};

	leds {
		compatible = "gpio-leds";
		green_led: led-1 {
			gpios = <&gpio3 21 GPIO_ACTIVE_LOW>;
			label = "User LD1";
		};
	};

	gpio_keys {
		compatible = "gpio-keys";
		user_button: button-1 {
			label = "User SW4";
			gpios = <&gpio2 9 GPIO_ACTIVE_LOW>;
		};
	};

	arduino_header: connector {
		compatible = "arduino-header-r3";
		#gpio-cells = <2>;
		gpio-map-mask = <0xffffffff 0xffffffc0>;
		gpio-map-pass-thru = <0 0x3f>;
		gpio-map = <0 0 &gpio1 29 0>,	/* A0 */
			   <1 0 &gpio1 14 0>,	/* A1 */
			   <2 0 &gpio1 28 0>,	/* A2 */
			   <3 0 &gpio1 26 0>,	/* A3 */
			   <4 0 &gpio1 31 0>,	/* A4 */
			   <5 0 &gpio1 30 0>,	/* A5 */
			   <6 0 &gpio3 1 0>,	/* D0 */
			   <7 0 &gpio3 0 0>,	/* D1 */
			   <8 0 &gpio2 20 0>,	/* D2 */
			   <9 0 &gpio2 26 0>,	/* D3 */
			   <10 0 &gpio3 2 0>,	/* D4 */
			   <11 0 &gpio2 27 0>,	/* D5 */
			   <12 0 &gpio1 27 0>,	/* D6 */
			   <13 0 &gpio1 15 0>,	/* D7 */
			   <14 0 &gpio2 21 0>,	/* D8 */
			   <15 0 &gpio2 22 0>,	/* D9 */
			   <16 0 &gpio1 11 0>,	/* D10 */
			   <17 0 &gpio1 12 0>,	/* D11 */
			   <18 0 &gpio1 13 0>,	/* D12 */
			   <19 0 &gpio1 10 0>,	/* D13 */
			   <20 0 &gpio1 31 0>,	/* D14 */
			   <21 0 &gpio1 30 0>;	/* D15 */
	};
};

arduino_serial: &lpuart4 {};

&flexspi {
	reg = <0x402a8000 0x4000>, <0x60000000 0x1000000>;
	at25sf128a: at25sf128a@0 {
		compatible = "adesto,at25sf128a", "jedec,spi-nor";
		size = <134217728>;
		label = "AT25SF128A";
		reg = <0>;
		spi-max-frequency = <133000000>;
		status = "okay";
		jedec-id = [1f 89 01];
	};
};

&lpi2c1 {
	status = "okay";
};

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

&usb1 {
	status = "okay";
};
