// SPDX-License-Identifier: (GPL-2.0 OR MIT)

/dts-v1/;

#include "imx8mp-skov-reva.dtsi"

/ {
	model = "SKOV IMX8MP CPU revB - MI1010AIT-1CP1";
	compatible = "skov,imx8mp-skov-revb-mi1010ait-1cp1", "fsl,imx8mp";

	panel {
		compatible = "multi-inno,mi1010ait-1cp";
		backlight = <&backlight>;
		power-supply = <&reg_tft_vcom>;

		port {
			in_lvds0: endpoint {
				remote-endpoint = <&ldb_lvds_ch0>;
			};
		};
	};
};

&backlight {
	status = "okay";
};

&i2c2 {
	clock-frequency = <100000>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c2>;
	status = "okay";

	touchscreen@38 {
		compatible = "edt,edt-ft5406";
		reg = <0x38>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_touchscreen>;
		interrupts-extended = <&gpio4 28 IRQ_TYPE_EDGE_FALLING>;
		reset-gpios = <&gpio4 29 GPIO_ACTIVE_LOW>;
		touchscreen-size-x = <1280>;
		touchscreen-size-y = <800>;
		vcc-supply = <&reg_vdd_3v3>;
		iovcc-supply = <&reg_vdd_3v3>;
		wakeup-source;
	};
};

&lcdif2 {
	status = "okay";
};

&lvds_bridge {
	/* IMX8MP_CLK_MEDIA_LDB = IMX8MP_CLK_MEDIA_DISP2_PIX * 7 */
	assigned-clock-rates = <482300000>;
	status = "okay";

	ports {
		port@1 {
			ldb_lvds_ch0: endpoint {
				remote-endpoint = <&in_lvds0>;
			};
		};
	};
};

&media_blk_ctrl {
	/* currently it is not possible to let display clocks confugure
	 * automatically, so we need to set them manually
	 */
	assigned-clock-rates = <500000000>, <200000000>, <0>,
		/* IMX8MP_CLK_MEDIA_DISP2_PIX = pixelclk of lvds panel */
		<68900000>,
		/* IMX8MP_VIDEO_PLL1 = IMX8MP_CLK_MEDIA_LDB * 2 */
		<964600000>;
};

&pwm4 {
	status = "okay";
};

&pwm1 {
	status = "okay";
};

&reg_tft_vcom {
	regulator-min-microvolt = <3160000>;
	regulator-max-microvolt = <3160000>;
	voltage-table = <3160000 73>;
	status = "okay";
};

&iomuxc {
	pinctrl_i2c2: i2c2grp {
		fsl,pins = <
			MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL				0x400001c2
			MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA				0x400001c2
		>;
	};
};
