// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (C) 2019 Marek Vasut <marex@denx.de>
 */

/dts-v1/;
#include "imx53-m53.dtsi"

/ {
	model = "MENLO M53 EMBEDDED DEVICE";
	compatible = "menlo,m53menlo", "fsl,imx53";

	gpio-keys {
		compatible = "gpio-keys";
		pinctrl-0 = <&pinctrl_power_button>;
		pinctrl-names = "default";

		power-button {
			label = "Power button";
			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_POWER>;
		};
	};

	gpio-poweroff {
		compatible = "gpio-poweroff";
		pinctrl-0 = <&pinctrl_power_out>;
		pinctrl-names = "default";
		gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
	};

	leds {
		compatible = "gpio-leds";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_led>;

		user1 {
			label = "TestLed601";
			gpios = <&gpio6 1 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "mmc0";
		};

		user2 {
			label = "TestLed602";
			gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "heartbeat";
		};

		eth {
			label = "EthLedYe";
			gpios = <&gpio2 11 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "netdev";
		};
	};

	panel {
		compatible = "edt,etm0700g0dh6";
		pinctrl-0 = <&pinctrl_display_gpio>;
		enable-gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>;

		port {
			panel_in: endpoint {
				remote-endpoint = <&lvds0_out>;
			};
		};
	};

	beeper {
		compatible = "gpio-beeper";
		pinctrl-0 = <&pinctrl_beeper>;
		gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>;
	};

	reg_usbh1_vbus: regulator-usbh1-vbus {
		compatible = "regulator-fixed";
		regulator-name = "vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};
};

&can1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_can1>;
	status = "okay";
};

&can2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_can2>;
	status = "okay";
};

&clks {
	assigned-clocks = <&clks IMX5_CLK_CKO1_SEL>,
			  <&clks IMX5_CLK_CKO1_PODF>,
			  <&clks IMX5_CLK_CKO1>;
	assigned-clock-parents = <&clks IMX5_CLK_AHB>;
	assigned-clock-rates = <133333334>, <33333334>, <33333334>;
};

&ecspi2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_ecspi2>;
	cs-gpios = <&gpio2 26 GPIO_ACTIVE_LOW>, <&gpio2 27 GPIO_ACTIVE_LOW>;
	status = "okay";

	spidev@0 {
		compatible = "menlo,m53cpld";
		spi-max-frequency = <25000000>;
		reg = <0>;
	};

	spidev@1 {
		compatible = "menlo,m53cpld";
		spi-max-frequency = <25000000>;
		reg = <1>;
	};
};

&esdhc1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_esdhc1>;
	cd-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
	wp-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
	status = "okay";
};

&fec {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_fec>;
	phy-mode = "rmii";
	phy-reset-gpios = <&gpio7 7 GPIO_ACTIVE_LOW>;
	status = "okay";
};

&gpio1 {
	gpio-line-names =
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "";
};

&gpio2 {
	gpio-line-names =
		"", "", "", "",
		"", "", "", "",
		"TestPin_SV2_3", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "";
};

&gpio3 {
	gpio-line-names =
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"CPLD_JTAG_TDI", "CPLD_JTAG_TMS", "", "",
		"", "CPLD_JTAG_TDO", "", "";
};

&gpio5 {
	gpio-line-names =
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "CPLD_JTAG_TCK", "KBD_intK",
		"CPLD_int", "CPLD_JTAG_internal", "CPLD_D[0]", "CPLD_D[1]",
		"CPLD_D[2]", "CPLD_D[3]", "CPLD_D[4]", "CPLD_D[5]",
		"CPLD_D[6]", "CPLD_D[7]", "DISP_reset", "KBD_intI";
};

&gpio6 {
	gpio-line-names =
		"", "", "", "",
		"CPLD_reset", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "";
};

&gpio7 {
	gpio-line-names =
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "USB-OTG_OverCurrent", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "",
		"", "", "", "";
};

&i2c1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c1>;
	status = "okay";

	touchscreen@38 {
		compatible = "edt,edt-ft5x06";
		reg = <0x38>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_edt_ft5x06>;
		interrupt-parent = <&gpio6>;
		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
		reset-gpios = <&gpio2 9 GPIO_ACTIVE_LOW>;
		wake-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
	};

	eeprom@50 {
		compatible = "atmel,24c64";
		reg = <0x50>;
		pagesize = <32>;
	};

	dac@60 {
		compatible = "microchip,mcp4725";
		reg = <0x60>;
	};
};

&i2c2 {
	touchscreen@41 {
		status = "disabled";
	};
};

&i2c3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c3>;
	status = "okay";
};

&iomuxc {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_hog>;

	imx53-m53evk {
		hoggrp {
			fsl,pins = <
				MX53_PAD_GPIO_19__CCM_CLKO		0x1e4
				MX53_PAD_CSI0_DATA_EN__GPIO5_20		0x1e4
				MX53_PAD_CSI0_DAT4__GPIO5_22		0x1e4
				MX53_PAD_CSI0_DAT5__GPIO5_23		0x1c4
				MX53_PAD_CSI0_DAT6__GPIO5_24		0x1e4
				MX53_PAD_CSI0_DAT7__GPIO5_25		0x1e4
				MX53_PAD_CSI0_DAT8__GPIO5_26		0x1e4
				MX53_PAD_CSI0_DAT9__GPIO5_27		0x1c4
				MX53_PAD_CSI0_DAT10__GPIO5_28		0x1e4
				MX53_PAD_CSI0_DAT11__GPIO5_29		0x1e4
				MX53_PAD_PATA_DATA11__GPIO2_11		0x1e4
				MX53_PAD_EIM_D24__GPIO3_24		0x1e4
				MX53_PAD_EIM_D25__GPIO3_25		0x1e4
				MX53_PAD_EIM_D29__GPIO3_29		0x1e4
				MX53_PAD_CSI0_PIXCLK__GPIO5_18		0x1e4
				MX53_PAD_CSI0_VSYNC__GPIO5_21		0x1e4
				MX53_PAD_CSI0_DAT18__GPIO6_4		0x1c4
				MX53_PAD_PATA_DATA8__GPIO2_8		0x1e4
			>;
		};

		pinctrl_led: ledgrp {
			fsl,pins = <
				MX53_PAD_CSI0_DAT15__GPIO6_1		0x1c4
				MX53_PAD_CSI0_DAT16__GPIO6_2		0x1c4
			>;
		};

		pinctrl_beeper: beepergrp {
			fsl,pins = <
				MX53_PAD_CSI0_DAT17__GPIO6_3		0x1c4
			>;
		};

		pinctrl_can1: can1grp {
			fsl,pins = <
				MX53_PAD_GPIO_7__CAN1_TXCAN		0x1c4
				MX53_PAD_GPIO_8__CAN1_RXCAN		0x1c4
			>;
		};

		pinctrl_can2: can2grp {
			fsl,pins = <
				MX53_PAD_KEY_COL4__CAN2_TXCAN		0x1e4
				MX53_PAD_KEY_ROW4__CAN2_RXCAN		0x1c4
			>;
		};

		pinctrl_display_gpio: display-gpiogrp {
			fsl,pins = <
				MX53_PAD_CSI0_DAT12__GPIO5_30		0x1c4 /* Reset */
				MX53_PAD_CSI0_MCLK__GPIO5_19		0x1e4 /* Int-K */
				MX53_PAD_CSI0_DAT13__GPIO5_31		0x1c4 /* Int-I */

				MX53_PAD_CSI0_DAT14__GPIO6_0		0x1c4 /* Power down */
			>;
		};

		pinctrl_edt_ft5x06: edt-ft5x06grp {
			fsl,pins = <
				MX53_PAD_PATA_DATA9__GPIO2_9		0x1e4 /* Reset */
				MX53_PAD_CSI0_DAT19__GPIO6_5		0x1c4 /* Interrupt */
				MX53_PAD_PATA_DATA10__GPIO2_10		0x1e4 /* Wake */
			>;
		};

		pinctrl_ecspi2: ecspi2grp {
			fsl,pins = <
				MX53_PAD_EIM_CS0__ECSPI2_SCLK		0xe4
				MX53_PAD_EIM_OE__ECSPI2_MISO		0xe4
				MX53_PAD_EIM_CS1__ECSPI2_MOSI		0xe4
				MX53_PAD_EIM_RW__GPIO2_26		0xe4
				MX53_PAD_EIM_LBA__GPIO2_27		0xe4
			>;
		};

		pinctrl_esdhc1: esdhc1grp {
			fsl,pins = <
				MX53_PAD_SD1_DATA0__ESDHC1_DAT0		0x1e4
				MX53_PAD_SD1_DATA1__ESDHC1_DAT1		0x1e4
				MX53_PAD_SD1_DATA2__ESDHC1_DAT2		0x1e4
				MX53_PAD_SD1_DATA3__ESDHC1_DAT3		0x1e4
				MX53_PAD_SD1_CMD__ESDHC1_CMD		0x1e4
				MX53_PAD_SD1_CLK__ESDHC1_CLK		0x1e4
				MX53_PAD_GPIO_1__GPIO1_1		0x1c4
				MX53_PAD_GPIO_9__GPIO1_9		0x1e4
			>;
		};

		pinctrl_fec: fecgrp {
			fsl,pins = <
				MX53_PAD_FEC_MDC__FEC_MDC		0x1e4
				MX53_PAD_FEC_MDIO__FEC_MDIO		0x1e4
				MX53_PAD_FEC_REF_CLK__FEC_TX_CLK	0x1e4
				MX53_PAD_FEC_RX_ER__FEC_RX_ER		0x1e4
				MX53_PAD_FEC_CRS_DV__FEC_RX_DV		0x1e4
				MX53_PAD_FEC_RXD1__FEC_RDATA_1		0x1e4
				MX53_PAD_FEC_RXD0__FEC_RDATA_0		0x1e4
				MX53_PAD_FEC_TX_EN__FEC_TX_EN		0x1c4
				MX53_PAD_FEC_TXD1__FEC_TDATA_1		0x1e4
				MX53_PAD_FEC_TXD0__FEC_TDATA_0		0x1e4
				MX53_PAD_PATA_DA_1__GPIO7_7		0x1e4
				MX53_PAD_EIM_EB3__GPIO2_31		0x1e4
			>;
		};

		pinctrl_i2c1: i2c1grp {
			fsl,pins = <
				MX53_PAD_EIM_D21__I2C1_SCL		0x400001e4
				MX53_PAD_EIM_D28__I2C1_SDA		0x400001e4
			>;
		};

		pinctrl_i2c3: i2c3grp {
			fsl,pins = <
				MX53_PAD_GPIO_6__I2C3_SDA		0x400001e4
				MX53_PAD_GPIO_5__I2C3_SCL		0x400001e4
			>;
		};

		pinctrl_lvds0: lvds0grp {
			/* LVDS pins only have pin mux configuration */
			fsl,pins = <
				MX53_PAD_LVDS0_CLK_P__LDB_LVDS0_CLK	0x80000000
				MX53_PAD_LVDS0_TX0_P__LDB_LVDS0_TX0	0x80000000
				MX53_PAD_LVDS0_TX1_P__LDB_LVDS0_TX1	0x80000000
				MX53_PAD_LVDS0_TX2_P__LDB_LVDS0_TX2	0x80000000
				MX53_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3	0x80000000
			>;
		};

		pinctrl_power_button: powerbutgrp {
			fsl,pins = <
				MX53_PAD_SD2_DATA0__GPIO1_15		0x1e4
			>;
		};

		pinctrl_power_out: poweroutgrp {
			fsl,pins = <
				MX53_PAD_SD2_DATA2__GPIO1_13		0x1e4
			>;
		};

		pinctrl_uart1: uart1grp {
			fsl,pins = <
				MX53_PAD_PATA_DIOW__UART1_TXD_MUX	0x1e4
				MX53_PAD_PATA_DMACK__UART1_RXD_MUX	0x1e4
				MX53_PAD_PATA_IORDY__UART1_RTS		0x1e4
				MX53_PAD_PATA_RESET_B__UART1_CTS	0x1e4
			>;
		};

		pinctrl_uart2: uart2grp {
			fsl,pins = <
				MX53_PAD_PATA_BUFFER_EN__UART2_RXD_MUX	0x1e4
				MX53_PAD_PATA_DMARQ__UART2_TXD_MUX	0x1e4
				MX53_PAD_PATA_DIOR__UART2_RTS		0x1e4
				MX53_PAD_PATA_INTRQ__UART2_CTS		0x1e4
			>;
		};

		pinctrl_uart3: uart3grp {
			fsl,pins = <
				MX53_PAD_PATA_CS_1__UART3_RXD_MUX	0x1e4
				MX53_PAD_PATA_CS_0__UART3_TXD_MUX	0x1e4
				MX53_PAD_PATA_DA_2__UART3_RTS		0x1e4
			>;
		};

		pinctrl_usb: usbgrp {
			fsl,pins = <
				MX53_PAD_GPIO_2__GPIO1_2		0x1c4
				MX53_PAD_GPIO_3__USBOH3_USBH1_OC	0x1c4
				MX53_PAD_GPIO_4__GPIO1_4		0x1c4
				MX53_PAD_GPIO_18__GPIO7_13		0x1c4
			>;
		};
	};
};

&ldb {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_lvds0>;
	status = "okay";

	lvds0: lvds-channel@0 {
		reg = <0>;
		fsl,data-mapping = "spwg";
		fsl,data-width = <18>;
		status = "okay";

		port@2 {
			reg = <2>;

			lvds0_out: endpoint {
				remote-endpoint = <&panel_in>;
			};
		};
	};
};

&uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart1>;
	uart-has-rtscts;
	status = "okay";
};

&uart2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart2>;
	uart-has-rtscts;
	status = "okay";
};

&uart3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart3>;
	linux,rs485-enabled-at-boot-time;
	status = "okay";
};

&usbh1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usb>;
	vbus-supply = <&reg_usbh1_vbus>;
	phy_type = "utmi";
	dr_mode = "host";
	status = "okay";
};

&usbotg {
	dr_mode = "peripheral";
	status = "okay";
};
