// 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_HIGH>, <&gpio2 27 GPIO_ACTIVE_HIGH>;
	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";
};
