summaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts/imx6q-skov-reve-mi1010ait-1cp1.dts
blob: 7f1f19b74bfa5985dea38aeb7d1d6b129a7deb01 (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
// 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
		>;
	};
};