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

/dts-v1/;

#include <nxp/nxp_rt.dtsi>

/ {
	model = "NXP MIMXRT1050-EVK board";
	compatible = "nxp,mimxrt1052";

	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 {
#if defined(CONFIG_CODE_ITCM)
		zephyr,flash = &itcm0;
#elif defined(CONFIG_CODE_HYPERFLASH)
		zephyr,flash = &hyperflash0;
#elif defined(CONFIG_CODE_QSPI)
		zephyr,flash = &qspi0;
#endif
		zephyr,sram = &dtcm0;
		zephyr,console = &uart1;
	};

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

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

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

&flexspi0 {
	hyperflash0: hyperflash@0 {
		/* Cypress S26KS512SDPBHI02 */
		reg = <0x60000000 0x4000000>;
#if defined(CONFIG_CODE_HYPERFLASH)
		status = "ok";
#else
		status = "disabled";
#endif
	};

	qspi0: qspi@0 {
		/* ISSI IS25WP064AJBLE */
		reg = <0x60000000 0x800000>;
#if defined(CONFIG_CODE_QSPI)
		status = "ok";
#else
		status = "disabled";
#endif
	};
};

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