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

/dts-v1/;

#include <nxp/nxp_rt1060.dtsi>

/ {
	model = "NXP MIMXRT1060-EVK board";
	compatible = "nxp,mimxrt1062";

	aliases {
		gpio-1= &gpio1;
		gpio-2= &gpio2;
		gpio-3= &gpio3;
		gpio-4= &gpio4;
		gpio-5= &gpio5;
		uart-1 = &uart1;
		led0 = &green_led;
		sw0 = &user_button;
	};

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

	sdram0: memory@80000000 {
		/* Micron MT48LC16M16A2B4-6AIT:G */
		device_type = "memory";
		compatible = "mmio-sram";
		reg = <0x80000000 0x2000000>;
	};

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

	gpio_keys {
		compatible = "gpio-keys";
		user_button: button-1 {
			label = "User SW8";
			gpios = <&gpio5 0 GPIO_INT_ACTIVE_LOW>;
		};
	};

	panel {
		compatible = "rocktech,rk043fn02h-ct";
		port {
			lcd_panel_in: endpoint {
				remote-endpoint = <&lcd_panel_out>;
			};
		};
	};
};

arduino_serial: &uart3 {};

&flexspi0 {
	reg = <0x402a8000 0x4000>, <0x60000000 0x800000>;
	is25wp064: is25wp064@0 {
		compatible = "issi,is25wp064", "jedec,spi-nor";
		reg = <0>;
		status = "ok";
	};
};

&lcdif1 {
	status = "ok";
	port {
		lcd_panel_out: endpoint {
			remote-endpoint = <&lcd_panel_in>;
		};
	};
};

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