/*
 * Copyright 2022-2023, NXP
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;

#include <nxp/nxp_rt5xx.dtsi>
#include <zephyr/dt-bindings/input/input-event-codes.h>

#include "mimxrt595_evk_mimxrt595s_cm33-pinctrl.dtsi"


/ {
	model = "NXP MIMXRT595-EVK board";
	compatible = "nxp,mimxrt595";

	aliases {
		sw0 = &user_button_1;
		sw1 = &user_button_2;
		led0 = &green_led;
		led1 = &blue_led;
		led2 = &red_led;
		usart-0 = &flexcomm0;
		watchdog0 = &wwdt0;
		magn0 = &fxos8700;
		accel0 = &fxos8700;
		sdhc0 = &usdhc0;
		pwm-0 = &sc_timer;
		dmic-dev = &dmic0;
	};

	chosen {
		zephyr,flash-controller = &mx25um51345g;
		zephyr,flash = &mx25um51345g;
		zephyr,code-partition = &slot0_partition;
		zephyr,sram = &sram0;
		zephyr,console = &flexcomm0;
		zephyr,shell-uart = &flexcomm0;
		zephyr,display = &lcdif;
	};

	gpio_keys {
		compatible = "gpio-keys";
		user_button_1: button_0 {
			label = "User SW1";
			gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
			zephyr,code = <INPUT_KEY_0>;
		};
		user_button_2: button_1 {
			label = "User SW2";
			gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
			zephyr,code = <INPUT_KEY_1>;
		};
	};

	leds {
		compatible = "gpio-leds";
		green_led: led_1 {
			gpios = <&gpio1 0 0>;
			label = "User LED_GREEN";
		};
		blue_led: led_2 {
			gpios = <&gpio3 17 0>;
			label = "User LED_BLUE";
		};
		red_led: led_3 {
			gpios = <&gpio0 14 0>;
			label = "User LED_RED";
		};
	};

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

	/*
	 * This node describes the GPIO pins of the MIPI FPC interface,
	 * J44 on the EVK. This interface is standard to several
	 * NXP EVKs, and is used with several MIPI displays
	 * (available as zephyr shields)
	 */
	nxp_mipi_connector: mipi-connector {
		compatible = "gpio-nexus";
		#gpio-cells = <2>;
		gpio-map-mask = <0xffffffff 0xffffffc0>;
		gpio-map-pass-thru = <0 0x3f>;
		gpio-map =	<0  0 &gpio0 12 0>,	/* Pin 1, LEDK */
				<21 0 &gpio3 21 0>,	/* Pin 21, RESET */
				<22 0 &gpio3 18 0>,	/* Pin 22, LPTE */
				<26 0 &gpio0 30 0>,	/* Pin 26, CTP_I2C SDA */
				<27 0 &gpio0 29 0>,	/* Pin 27, CTP_I2C SCL */
				<28 0 &gpio4 4 0>,	/* Pin 28, CTP_RST */
				<29 0 &gpio3 19 0>,	/* Pin 29, CTP_INT */
				<32 0 &gpio3 15 0>,	/* Pin 32, PWR_EN */
				<34 0 &gpio0 12 0>;	/* Pin 34, BL_PWM */
	};

	en_mipi_display: enable-mipi-display {
		compatible = "regulator-fixed";
		regulator-name = "en_mipi_display";
		enable-gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>;
		regulator-boot-on;
	};
};

/*
 * RT595 EVK board uses OS timer as the kernel timer
 * In case we need to switch to SYSTICK timer, then
 * replace &os_timer with &systick
 */
&os_timer {
	status = "okay";
	wakeup-source;
};

&rtc {
	status = "okay";
};

&flexcomm0 {
	compatible = "nxp,lpc-usart";
	status = "okay";
	current-speed = <115200>;
	pinctrl-0 = <&pinmux_flexcomm0_usart>;
	pinctrl-names = "default";
	dmas = <&dma0 0>, <&dma0 1>;
	dma-names = "rx", "tx";
};

arduino_i2c: &flexcomm4 {
	compatible = "nxp,lpc-i2c";
	status = "okay";
	clock-frequency = <I2C_BITRATE_FAST>;
	#address-cells = <1>;
	#size-cells = <0>;
	pinctrl-0 = <&pinmux_flexcomm4_i2c>;
	pinctrl-names = "default";

	fxos8700: fxos8700@1e {
		compatible = "nxp,fxos8700";
		reg = <0x1e>;
		int1-gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
		reset-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
	};
};

nxp_mipi_i2c: &arduino_i2c {};

zephyr_mipi_dsi: &mipi_dsi {};

zephyr_lcdif: &lcdif {};


hs_spi1: &hs_lspi1 {
	compatible = "nxp,lpc-spi";
	pinctrl-0 = <&pinmux_flexcomm16_spi>;
	pinctrl-names = "default";
	dmas = <&dma0 28>, <&dma0 29>;
	dma-names = "rx", "tx";
	status = "okay";
};

/* I2S RX */
i2s0: &flexcomm1 {
	compatible = "nxp,lpc-i2s";
	pinctrl-0 = <&pinmux_flexcomm1_i2s>;
	pinctrl-names = "default";
	#address-cells = <1>;
	#size-cells = <0>;
	dmas = <&dma0 2>;
	dma-names = "rx";
	status = "disabled";
};

/* I2S TX */
i2s1: &flexcomm3 {
	compatible = "nxp,lpc-i2s";
	pinctrl-0 = <&pinmux_flexcomm3_i2s>;
	pinctrl-names = "default";
	#address-cells = <1>;
	#size-cells = <0>;
	dmas = <&dma0 7>;
	dma-names = "tx";
	status = "disabled";
};

arduino_serial: &flexcomm12 {
	compatible = "nxp,lpc-usart";
	status = "okay";
	current-speed = <115200>;
	pinctrl-0 = <&pinmux_flexcomm12_usart>;
	pinctrl-names = "default";
	dmas = <&dma0 34>, <&dma0 35>;
	dma-names = "rx", "tx";
};

/* PCA9420 PMIC */
&pmic_i2c {
	status = "okay";
	clock-frequency = <I2C_BITRATE_FAST>;
	#address-cells = <1>;
	#size-cells = <0>;
	pinctrl-0 = <&pinmux_pmic_i2c>;
	pinctrl-names = "default";

	pca9420: pca9420@61 {
		compatible = "nxp,pca9420";
		reg = <0x61>;
		nxp,enable-modesel-pins;

		pca9420_sw1: BUCK1 {
			regulator-boot-on;
			nxp,mode0-microvolt = <1100000>;
			nxp,mode1-microvolt = <600000>;
			nxp,mode2-microvolt = <900000>;
			nxp,mode3-microvolt = <800000>;
		};

		pca9420_sw2: BUCK2 {
			regulator-boot-on;
			nxp,mode0-microvolt = <1800000>;
			nxp,mode1-microvolt = <1800000>;
			nxp,mode2-microvolt = <1800000>;
			nxp,mode3-microvolt = <1800000>;
		};

		pca9420_ldo1: LDO1 {
			regulator-boot-on;
			nxp,mode0-microvolt = <1800000>;
			nxp,mode1-microvolt = <1800000>;
			nxp,mode2-microvolt = <1800000>;
			nxp,mode3-microvolt = <1800000>;
		};

		pca9420_ldo2: LDO2 {
			regulator-boot-on;
			nxp,mode0-microvolt = <3300000>;
			nxp,mode1-microvolt = <3300000>;
			nxp,mode2-microvolt = <3300000>;
			nxp,mode3-microvolt = <3300000>;
		};
	};
};

&lpadc0 {
	status = "okay";
	pinctrl-0 = <&pinmux_lpadc0>;
	pinctrl-names = "default";
};

&gpio0 {
	status = "okay";
};

&gpio1 {
	status = "okay";
};

&gpio2 {
	status = "okay";
};

/*
 * GPIO module interrupts are shared between all GPIO devices on this
 * SOC, but Zephyr does not currently support sharing interrupts between
 * devices. The user can select GPIO modules to support interrupts by
 * setting the appropriate `int-source` and `interrupt` property for
 * a given module. On this board, GPIO3 and GPIO4 are configured to support
 * interrupts.
 */
&gpio3 {
	status = "okay";
	int-source = "int-a";
	interrupts = <2 0>;
};

&gpio4 {
	status = "okay";
	int-source = "int-b";
	interrupts = <3 0>;
};

&gpio5 {
	status = "okay";
};

&gpio6 {
	status = "okay";
};

&user_button_1 {
	status = "okay";
};

&user_button_2 {
	status = "okay";
};

&green_led {
	status = "okay";
};

&blue_led {
	status = "okay";
};

&red_led {
	status = "okay";
};

&dma0 {
	status = "okay";
};

zephyr_udc0: &usbhs {
	status = "okay";
};

&ctimer0 {
	status = "okay";
};

&ctimer1 {
	status = "okay";
};

&ctimer2 {
	status = "okay";
};

&ctimer3 {
	status = "okay";
};

&ctimer4 {
	status = "okay";
};

&usdhc0 {
	status = "okay";
	pwr-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
	cd-gpios = <&gpio2 9 GPIO_ACTIVE_LOW>;
	mmc {
		compatible = "zephyr,mmc-disk";
		status = "okay";
	};
	pinctrl-0 = <&pinmux_usdhc>;
	pinctrl-names = "default";
	mmc-hs200-1_8v;
	mmc-hs400-1_8v;
};

&wwdt0 {
	status = "okay";
};

&flexspi {
	status = "okay";
	pinctrl-0 = <&pinmux_flexspi>;
	pinctrl-1 = <&pinmux_flexspi_sleep>;
	pinctrl-names = "default", "sleep";

	mx25um51345g: mx25um51345g@0 {
		compatible = "nxp,imx-flexspi-mx25um51345g";
		/* MX25UM51245G is 64MB, 512MBit flash part */
		size = <DT_SIZE_M(64 * 8)>;
		reg = <0>;
		spi-max-frequency = <200000000>;
		status = "okay";
		jedec-id = [c2 81 3a];
		erase-block-size = <4096>;
		write-block-size = <16>;

		partitions {
			compatible = "fixed-partitions";
			#address-cells = <1>;
			#size-cells = <1>;

			boot_partition: partition@0 {
				label = "mcuboot";
				reg = <0x00000000 DT_SIZE_K(128)>;
			};
			slot0_partition: partition@20000 {
				label = "image-0";
				reg = <0x00020000 DT_SIZE_K(3076)>;
			};
			slot1_partition: partition@321000 {
				label = "image-1";
				reg = <0x00321000 DT_SIZE_K(3072)>;
			};
			storage_partition: partition@621000 {
				label = "storage";
				reg = <0x00621000 DT_SIZE_M(57)>;
			};
		};
	};
};

&flexspi2 {
	status = "okay";
	pinctrl-0 = <&pinmux_flexspi2>;
	pinctrl-names = "default";
	rx-clock-source = <3>;
	ahb-prefetch;
	ahb-bufferable;
	ahb-cacheable;
	ahb-read-addr-opt;
	aps6408l: aps6408l@0 {
		compatible = "nxp,imx-flexspi-aps6408l";
		/* APS6408L is 8MB, 64MBit pSRAM */
		size = <DT_SIZE_M(8 * 8)>;
		reg = <0>;
		spi-max-frequency = <198000000>;
		status = "okay";
		cs-interval-unit = <1>;
		cs-interval = <5>;
		cs-hold-time = <3>;
		cs-setup-time = <3>;
		data-valid-time = <1>;
		column-space = <0>;
		ahb-write-wait-unit = <2>;
		ahb-write-wait-interval = <0>;
	};
};

&sc_timer {
	pinctrl-0 = <&pinmux_sctimer_default>;
	pinctrl-names = "default";
	status = "okay";
};

&i3c0 {
	pinctrl-0 = <&pinmux_i3c>;
	pinctrl-names = "default";

	status = "okay";
};

&mbox {
	status = "okay";
};

/* Disable this node if not using USB and need another MPU region */
&sram1 {
	status = "okay";
};

/* Enable smartDMA controller */
&smartdma {
	status = "okay";
};

/* Add smartDMA to mipi DSI */
&mipi_dsi {
	dmas = <&smartdma>;
	dma-names = "smartdma";
};

&dmic0 {
	status = "okay";
	pinctrl-0 = <&pinmux_dmic0>;
	pinctrl-names = "default";
	use2fs;
};

/* Configure pdm channels 0 and 1 with gain, and cutoff settings
 * appropriate for the attached MEMS microphones.
 */
&pdmc0 {
	status = "okay";
	gainshift = <3>;
	dc-cutoff = "155hz";
	dc-gain = <1>;
};

&pdmc1 {
	status = "okay";
	gainshift = <3>;
	dc-cutoff = "155hz";
	dc-gain = <1>;
};

&mrt_channel0 {
	status = "okay";
};
