summaryrefslogtreecommitdiffstats
path: root/dts/src/arm/imx6q-skov-reve-mi1010ait-1cp1.dts
blob: a3f247c722b438bcb91d6a22bee2633158b5fde7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
//
// Copyright (C) 2020 Pengutronix, Ulrich Oelmann <kernel@pengutronix.de>

/dts-v1/;
#include "imx6q.dtsi"
#include "imx6qdl-skov-cpu.dtsi"

/ {
	model = "SKOV IMX6 CPU QuadCore";
	compatible = "skov,imx6q-skov-reve-mi1010ait-1cp1", "fsl,imx6q";

	backlight: backlight {
		compatible = "pwm-backlight";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_backlight>;
		enable-gpios = <&gpio6 23 GPIO_ACTIVE_LOW>;
		pwms = <&pwm2 0 20000 0>;
		brightness-levels = <0 255>;
		num-interpolated-steps = <17>;
		default-brightness-level = <8>;
		power-supply = <&reg_24v0>;
	};

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

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

&clks {
	assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>,
			  <&clks IMX6QDL_CLK_LDB_DI1_SEL>;
	assigned-clock-parents = <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>,
				 <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>;
};

&hdmi {
	ddc-i2c-bus = <&i2c2>;
	status = "okay";
};

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

	touchscreen@38 {
		compatible = "edt,edt-ft5406";
		reg = <0x38>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_touchscreen>;
		interrupt-parent = <&gpio3>;
		interrupts = <19 IRQ_TYPE_EDGE_FALLING>;
		reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
		touchscreen-size-x = <1280>;
		touchscreen-size-y = <800>;
		wakeup-source;
	};
};

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

&ldb {
	status = "okay";

	lvds-channel@0 {
		status = "okay";

		port@4 {
			reg = <4>;

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

&iomuxc {
	pinctrl_backlight: backlightgrp {
		fsl,pins = <
			MX6QDL_PAD_RGMII_TD3__GPIO6_IO23		0x58
		>;
	};

	pinctrl_i2c1: i2c1grp {
		fsl,pins = <
			/* external 1 k pull up */
			MX6QDL_PAD_EIM_D21__I2C1_SCL		0x40010878
			/* external 1 k pull up */
			MX6QDL_PAD_EIM_D28__I2C1_SDA		0x40010878
		>;
	};

	pinctrl_i2c2: i2c2grp {
		fsl,pins = <
			/* internal 22 k pull up required */
			MX6QDL_PAD_KEY_COL3__I2C2_SCL		0x4001F878
			/* internal 22 k pull up required */
			MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001F878
		>;
	};

	pinctrl_touchscreen: touchscreengrp {
		fsl,pins = <
			/* external 10 k pull up */
			/* CTP_INT */
			MX6QDL_PAD_EIM_D19__GPIO3_IO19		0x1b0b0
			/* CTP_RST */
			MX6QDL_PAD_EIM_D23__GPIO3_IO23		0x1b0b0
		>;
	};
};

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