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

/dts-v1/;

#include <nxp/nxp_rt1020.dtsi>

/ {
	model = "NXP MIMXRT1020-EVK board";
	compatible = "nxp,mimxrt1021";

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

	chosen {
		zephyr,sram = &sdram0;
		zephyr,itcm = &itcm;
		zephyr,dtcm = &dtcm;
		zephyr,console = &lpuart1;
		zephyr,shell-uart = &lpuart1;
	};

	sdram0: memory@80000000 {
		/* ISSI IS42S16160J-6TLI */
		device_type = "memory";
		reg = <0x80000000 DT_SIZE_M(32)>;
	};

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

	gpio_keys {
		compatible = "gpio-keys";
		user_button: button-1 {
			label = "User SW4";
			gpios = <&gpio5 0 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 26 0>,	/* A0 */
			   <1 0 &gpio1 27 0>,	/* A1 */
			   <2 0 &gpio1 28 0>,	/* A2 */
			   <3 0 &gpio1 29 0>,	/* A3 */
			   <4 0 &gpio1 31 0>,	/* A4 */
			   <5 0 &gpio1 30 0>,	/* A5 */
			   <6 0 &gpio1 25 0>,	/* D0 */
			   <7 0 &gpio1 24 0>,	/* D1 */
			   <8 0 &gpio1 9 0>,	/* D2 */
			   <9 0 &gpio1 7 0>,	/* D3 */
			   <10 0 &gpio1 5 0>,	/* D4 */
			   <11 0 &gpio1 6 0>,	/* D5 */
			   <12 0 &gpio1 14 0>,	/* D6 */
			   <13 0 &gpio1 22 0>,	/* D7 */
			   <14 0 &gpio1 23 0>,	/* D8 */
			   <15 0 &gpio1 15 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 &gpio3 23 0>,	/* D14 */
			   <21 0 &gpio3 22 0>;	/* D15 */
	};
};

arduino_serial: &lpuart2 {};

&flexspi {
	reg = <0x402a8000 0x4000>, <0x60000000 DT_SIZE_M(8)>;
	is25wp064: is25wp064@0 {
		compatible = "nxp,imx-flexspi-nor";
		size = <67108864>;
		label = "IS25WP064";
		reg = <0>;
		spi-max-frequency = <133000000>;
		status = "okay";
		jedec-id = [9d 70 17];
	};
};

&lpi2c1 {
	status = "okay";
};

&lpi2c4 {
	status = "okay";
};

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

&enet {
	status = "okay";
	ptp {
		status = "okay";
	};
};

&usb1 {
	status = "okay";
};
