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

/dts-v1/;

#include <nxp/nxp_rt1064.dtsi>

/ {
	model = "NXP MIMXRT1064-EVK board";
	compatible = "nxp,mimxrt1064";

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

	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";
		};
	};

	pwmleds {
		compatible = "pwm-leds";

		green_pwm_led: green_pwm_led {
			pwms = <&flexpwm2_pwm3 0>;
		};
	};

	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_i2c: &i2c1 {};

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

&i2c1 {
	status = "okay";

	mt9m114@48 {
		compatible = "aptina,mt9m114";
		reg = <0x48>;
		label = "MT9M114";
		status = "okay";

		port {
			mt9m114_ep_out: endpoint {
				remote-endpoint = <&csi_ep_in>;
			};
		};
	};
};

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

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

&usbd1 {
	status = "okay";
};

&csi {
	status = "okay";
	sensor-label = "MT9M114";

	port {
		csi_ep_in: endpoint {
			remote-endpoint = <&mt9m114_ep_out>;
		};
	};
};
