xref: /linux/scripts/dtc/include-prefixes/arm/nxp/imx/imx6qdl-dhcom-pdk2.dtsi (revision 8a00ce563c30ea86707344614430e7909068d98c)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0+
2724ba675SRob Herring/*
3724ba675SRob Herring * Copyright (C) 2015-2021 DH electronics GmbH
4724ba675SRob Herring * Copyright (C) 2018 Marek Vasut <marex@denx.de>
5724ba675SRob Herring */
6724ba675SRob Herring
7724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
8724ba675SRob Herring#include <dt-bindings/input/input.h>
9724ba675SRob Herring#include <dt-bindings/leds/common.h>
10724ba675SRob Herring#include <dt-bindings/pwm/pwm.h>
11724ba675SRob Herring
12724ba675SRob Herring/ {
13724ba675SRob Herring	chosen {
14724ba675SRob Herring		stdout-path = "serial0:115200n8";
15724ba675SRob Herring	};
16724ba675SRob Herring
17724ba675SRob Herring	clk_ext_audio_codec: clock-codec {
18724ba675SRob Herring		#clock-cells = <0>;
19724ba675SRob Herring		clock-frequency = <24000000>;
20724ba675SRob Herring		compatible = "fixed-clock";
21724ba675SRob Herring	};
22724ba675SRob Herring
23724ba675SRob Herring	display_bl: display-bl {
24724ba675SRob Herring		brightness-levels = <0 16 22 30 40 55 75 102 138 188 255>;
25724ba675SRob Herring		compatible = "pwm-backlight";
26724ba675SRob Herring		default-brightness-level = <8>;
27724ba675SRob Herring		enable-gpios = <&gpio3 27 GPIO_ACTIVE_HIGH>; /* GPIO G */
28724ba675SRob Herring		pwms = <&pwm1 0 50000 PWM_POLARITY_INVERTED>;
29724ba675SRob Herring		status = "okay";
30724ba675SRob Herring	};
31724ba675SRob Herring
32724ba675SRob Herring	lcd_display: disp0 {
33724ba675SRob Herring		#address-cells = <1>;
34724ba675SRob Herring		#size-cells = <0>;
35724ba675SRob Herring		compatible = "fsl,imx-parallel-display";
36724ba675SRob Herring		interface-pix-fmt = "rgb24";
37724ba675SRob Herring		pinctrl-0 = <&pinctrl_ipu1_lcdif &pinctrl_dhcom_g>;
38724ba675SRob Herring		pinctrl-names = "default";
39724ba675SRob Herring		status = "okay";
40724ba675SRob Herring
41724ba675SRob Herring		port@0 {
42724ba675SRob Herring			reg = <0>;
43724ba675SRob Herring
44724ba675SRob Herring			lcd_display_in: endpoint {
45724ba675SRob Herring				remote-endpoint = <&ipu1_di0_disp0>;
46724ba675SRob Herring			};
47724ba675SRob Herring		};
48724ba675SRob Herring
49724ba675SRob Herring		port@1 {
50724ba675SRob Herring			reg = <1>;
51724ba675SRob Herring
52724ba675SRob Herring			lcd_display_out: endpoint {
53724ba675SRob Herring				remote-endpoint = <&lcd_panel_in>;
54724ba675SRob Herring			};
55724ba675SRob Herring		};
56724ba675SRob Herring	};
57724ba675SRob Herring
58724ba675SRob Herring	gpio-keys {
59724ba675SRob Herring		compatible = "gpio-keys";
60724ba675SRob Herring
61724ba675SRob Herring		button-0 {
62724ba675SRob Herring			gpios = <&gpio1 2 GPIO_ACTIVE_LOW>; /* GPIO A */
63724ba675SRob Herring			label = "TA1-GPIO-A";
64724ba675SRob Herring			linux,code = <KEY_A>;
65724ba675SRob Herring			pinctrl-0 = <&pinctrl_dhcom_a>;
66724ba675SRob Herring			pinctrl-names = "default";
67724ba675SRob Herring			wakeup-source;
68724ba675SRob Herring		};
69724ba675SRob Herring
70724ba675SRob Herring		button-1 {
71724ba675SRob Herring			gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; /* GPIO B */
72724ba675SRob Herring			label = "TA2-GPIO-B";
73724ba675SRob Herring			linux,code = <KEY_B>;
74724ba675SRob Herring			pinctrl-0 = <&pinctrl_dhcom_b>;
75724ba675SRob Herring			pinctrl-names = "default";
76724ba675SRob Herring			wakeup-source;
77724ba675SRob Herring		};
78724ba675SRob Herring
79724ba675SRob Herring		button-2 {
80724ba675SRob Herring			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>; /* GPIO C */
81724ba675SRob Herring			label = "TA3-GPIO-C";
82724ba675SRob Herring			linux,code = <KEY_C>;
83724ba675SRob Herring			pinctrl-0 = <&pinctrl_dhcom_c>;
84724ba675SRob Herring			pinctrl-names = "default";
85724ba675SRob Herring			wakeup-source;
86724ba675SRob Herring		};
87724ba675SRob Herring
88724ba675SRob Herring		button-3 {
89724ba675SRob Herring			gpios = <&gpio6 3 GPIO_ACTIVE_LOW>; /* GPIO D */
90724ba675SRob Herring			label = "TA4-GPIO-D";
91724ba675SRob Herring			linux,code = <KEY_D>;
92724ba675SRob Herring			pinctrl-0 = <&pinctrl_dhcom_d>;
93724ba675SRob Herring			pinctrl-names = "default";
94724ba675SRob Herring			wakeup-source;
95724ba675SRob Herring		};
96724ba675SRob Herring	};
97724ba675SRob Herring
98724ba675SRob Herring	led {
99724ba675SRob Herring		compatible = "gpio-leds";
100724ba675SRob Herring
101724ba675SRob Herring		/*
102724ba675SRob Herring		 * Disable led-5, because GPIO E is
103724ba675SRob Herring		 * already used as touch interrupt.
104724ba675SRob Herring		 */
105724ba675SRob Herring		led-5 {
106724ba675SRob Herring			color = <LED_COLOR_ID_GREEN>;
107724ba675SRob Herring			default-state = "off";
108724ba675SRob Herring			function = LED_FUNCTION_INDICATOR;
109724ba675SRob Herring			gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>; /* GPIO E */
110724ba675SRob Herring			pinctrl-0 = <&pinctrl_dhcom_e>;
111724ba675SRob Herring			pinctrl-names = "default";
112724ba675SRob Herring			status = "disabled";
113724ba675SRob Herring		};
114724ba675SRob Herring
115724ba675SRob Herring		led-6 {
116724ba675SRob Herring			color = <LED_COLOR_ID_GREEN>;
117724ba675SRob Herring			default-state = "off";
118724ba675SRob Herring			function = LED_FUNCTION_INDICATOR;
119724ba675SRob Herring			gpios = <&gpio4 20 GPIO_ACTIVE_HIGH>; /* GPIO F */
120724ba675SRob Herring			pinctrl-0 = <&pinctrl_dhcom_f>;
121724ba675SRob Herring			pinctrl-names = "default";
122724ba675SRob Herring		};
123724ba675SRob Herring
124724ba675SRob Herring		led-7 {
125724ba675SRob Herring			color = <LED_COLOR_ID_GREEN>;
126724ba675SRob Herring			default-state = "off";
127724ba675SRob Herring			function = LED_FUNCTION_INDICATOR;
128724ba675SRob Herring			gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>; /* GPIO H */
129724ba675SRob Herring			pinctrl-0 = <&pinctrl_dhcom_h>;
130724ba675SRob Herring			pinctrl-names = "default";
131724ba675SRob Herring		};
132724ba675SRob Herring
133724ba675SRob Herring		led-8 {
134724ba675SRob Herring			color = <LED_COLOR_ID_GREEN>;
135724ba675SRob Herring			default-state = "off";
136724ba675SRob Herring			function = LED_FUNCTION_INDICATOR;
137724ba675SRob Herring			gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* GPIO I */
138724ba675SRob Herring			pinctrl-0 = <&pinctrl_dhcom_i>;
139724ba675SRob Herring			pinctrl-names = "default";
140724ba675SRob Herring		};
141724ba675SRob Herring	};
142724ba675SRob Herring
143724ba675SRob Herring	panel {
144724ba675SRob Herring		backlight = <&display_bl>;
145724ba675SRob Herring		compatible = "edt,etm0700g0edh6";
146*8a00ce56SMarek Vasut		power-supply = <&reg_panel_3v3>;
147724ba675SRob Herring
148724ba675SRob Herring		port {
149724ba675SRob Herring			lcd_panel_in: endpoint {
150724ba675SRob Herring				remote-endpoint = <&lcd_display_out>;
151724ba675SRob Herring			};
152724ba675SRob Herring		};
153724ba675SRob Herring	};
154724ba675SRob Herring
155*8a00ce56SMarek Vasut	/* Filtered supply voltage */
156*8a00ce56SMarek Vasut	reg_pdk2_24v: regulator-pdk2-24v {
157*8a00ce56SMarek Vasut		compatible = "regulator-fixed";
158*8a00ce56SMarek Vasut		regulator-always-on;
159*8a00ce56SMarek Vasut		regulator-max-microvolt = <24000000>;
160*8a00ce56SMarek Vasut		regulator-min-microvolt = <24000000>;
161*8a00ce56SMarek Vasut		regulator-name = "24V_PDK2";
162*8a00ce56SMarek Vasut	};
163*8a00ce56SMarek Vasut
164*8a00ce56SMarek Vasut	/* 560-200 U1 */
165*8a00ce56SMarek Vasut	reg_panel_3v3: regulator-panel-3v3 {
166*8a00ce56SMarek Vasut		compatible = "regulator-fixed";
167*8a00ce56SMarek Vasut		regulator-always-on;
168*8a00ce56SMarek Vasut		regulator-min-microvolt = <3300000>;
169*8a00ce56SMarek Vasut		regulator-max-microvolt = <3300000>;
170*8a00ce56SMarek Vasut		regulator-name = "3V3_PANEL";
171*8a00ce56SMarek Vasut		vin-supply = <&reg_pdk2_24v>;
172*8a00ce56SMarek Vasut	};
173*8a00ce56SMarek Vasut
174724ba675SRob Herring	sound {
175724ba675SRob Herring		audio-codec = <&sgtl5000>;
176724ba675SRob Herring		audio-routing =
177724ba675SRob Herring			"MIC_IN", "Mic Jack",
178724ba675SRob Herring			"Mic Jack", "Mic Bias",
179724ba675SRob Herring			"LINE_IN", "Line In Jack",
180724ba675SRob Herring			"Headphone Jack", "HP_OUT";
181724ba675SRob Herring		compatible = "fsl,imx-audio-sgtl5000";
182724ba675SRob Herring		model = "imx-sgtl5000";
183724ba675SRob Herring		mux-ext-port = <3>;
184724ba675SRob Herring		mux-int-port = <1>;
185724ba675SRob Herring		ssi-controller = <&ssi1>;
186724ba675SRob Herring	};
187724ba675SRob Herring};
188724ba675SRob Herring
189724ba675SRob Herring&audmux {
190724ba675SRob Herring	pinctrl-0 = <&pinctrl_audmux_ext>;
191724ba675SRob Herring	pinctrl-names = "default";
192724ba675SRob Herring	status = "okay";
193724ba675SRob Herring};
194724ba675SRob Herring
195724ba675SRob Herring&can1 {
196724ba675SRob Herring	status = "okay";
197724ba675SRob Herring};
198724ba675SRob Herring
199724ba675SRob Herring&can2 {
200724ba675SRob Herring	status = "disabled";
201724ba675SRob Herring};
202724ba675SRob Herring
203724ba675SRob Herring/* 1G ethernet */
204724ba675SRob Herring/delete-node/ &ethphy0;
205724ba675SRob Herring&fec {
206724ba675SRob Herring	phy-mode = "rgmii";
207724ba675SRob Herring	phy-handle = <&ethphy7>;
208724ba675SRob Herring	pinctrl-0 = <&pinctrl_enet_1G>;
209724ba675SRob Herring	pinctrl-names = "default";
210724ba675SRob Herring	status = "okay";
211724ba675SRob Herring
212724ba675SRob Herring	mdio {
213724ba675SRob Herring		#address-cells = <1>;
214724ba675SRob Herring		#size-cells = <0>;
215724ba675SRob Herring
216724ba675SRob Herring		ethphy7: ethernet-phy@7 { /* KSZ 9021 */
217724ba675SRob Herring			compatible = "ethernet-phy-ieee802.3-c22";
218724ba675SRob Herring			interrupt-parent = <&gpio1>;
219724ba675SRob Herring			interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
220724ba675SRob Herring			pinctrl-0 = <&pinctrl_ethphy7>;
221724ba675SRob Herring			pinctrl-names = "default";
222724ba675SRob Herring			reg = <7>;
223724ba675SRob Herring			reset-assert-us = <1000>;
224724ba675SRob Herring			reset-deassert-us = <1000>;
225724ba675SRob Herring			reset-gpios = <&gpio3 29 GPIO_ACTIVE_LOW>;
226724ba675SRob Herring			rxc-skew-ps = <3000>;
227724ba675SRob Herring			rxd0-skew-ps = <0>;
228724ba675SRob Herring			rxd1-skew-ps = <0>;
229724ba675SRob Herring			rxd2-skew-ps = <0>;
230724ba675SRob Herring			rxd3-skew-ps = <0>;
231724ba675SRob Herring			rxdv-skew-ps = <0>;
232724ba675SRob Herring			txc-skew-ps = <3000>;
233724ba675SRob Herring			txd0-skew-ps = <0>;
234724ba675SRob Herring			txd1-skew-ps = <0>;
235724ba675SRob Herring			txd2-skew-ps = <0>;
236724ba675SRob Herring			txd3-skew-ps = <0>;
237724ba675SRob Herring			txen-skew-ps = <0>;
238724ba675SRob Herring		};
239724ba675SRob Herring	};
240724ba675SRob Herring};
241724ba675SRob Herring
242724ba675SRob Herring&hdmi {
243724ba675SRob Herring	ddc-i2c-bus = <&i2c2>;
244724ba675SRob Herring	status = "okay";
245724ba675SRob Herring};
246724ba675SRob Herring
247724ba675SRob Herring&i2c2 {
248724ba675SRob Herring	sgtl5000: codec@a {
249724ba675SRob Herring		#sound-dai-cells = <0>;
250724ba675SRob Herring		clocks = <&clk_ext_audio_codec>;
251724ba675SRob Herring		compatible = "fsl,sgtl5000";
252724ba675SRob Herring		reg = <0x0a>;
253724ba675SRob Herring		VDDA-supply = <&reg_3p3v>;
254724ba675SRob Herring		VDDIO-supply = <&sw2_reg>;
255724ba675SRob Herring	};
256724ba675SRob Herring
257724ba675SRob Herring	touchscreen@38 {
258724ba675SRob Herring		compatible = "edt,edt-ft5406";
259724ba675SRob Herring		interrupt-parent = <&gpio4>;
260724ba675SRob Herring		interrupts = <5 IRQ_TYPE_EDGE_FALLING>; /* GPIO E */
261724ba675SRob Herring		pinctrl-0 = <&pinctrl_dhcom_e>;
262724ba675SRob Herring		pinctrl-names = "default";
263724ba675SRob Herring		reg = <0x38>;
264724ba675SRob Herring	};
265724ba675SRob Herring};
266724ba675SRob Herring
267724ba675SRob Herring&ipu1_di0_disp0 {
268724ba675SRob Herring	remote-endpoint = <&lcd_display_in>;
269724ba675SRob Herring};
270724ba675SRob Herring
271724ba675SRob Herring&pcie {
272724ba675SRob Herring	pinctrl-0 = <&pinctrl_pcie &pinctrl_dhcom_j>;
273724ba675SRob Herring	reset-gpio = <&gpio6 14 GPIO_ACTIVE_LOW>; /* GPIO J */
274724ba675SRob Herring	status = "okay";
275724ba675SRob Herring};
276724ba675SRob Herring
277724ba675SRob Herring&pwm1 {
278724ba675SRob Herring	status = "okay";
279724ba675SRob Herring};
280724ba675SRob Herring
281724ba675SRob Herring&ssi1 {
282724ba675SRob Herring	status = "okay";
283724ba675SRob Herring};
284724ba675SRob Herring
285724ba675SRob Herring&usbh1 {
286724ba675SRob Herring	disable-over-current;
287724ba675SRob Herring};
288724ba675SRob Herring
289724ba675SRob Herring&usdhc2 { /* SD card */
290724ba675SRob Herring	status = "okay";
291724ba675SRob Herring};
292724ba675SRob Herring
293724ba675SRob Herring&iomuxc {
294724ba675SRob Herring	pinctrl-0 = <
295724ba675SRob Herring			/*
296724ba675SRob Herring			 * The following DHCOM GPIOs are used on this board.
297724ba675SRob Herring			 * Therefore, they have been removed from the list below.
298724ba675SRob Herring			 * A: key TA1
299724ba675SRob Herring			 * B: key TA2
300724ba675SRob Herring			 * C: key TA3
301724ba675SRob Herring			 * D: key TA4
302724ba675SRob Herring			 * E: touchscreen
303724ba675SRob Herring			 * F: led6
304724ba675SRob Herring			 * G: backlight enable
305724ba675SRob Herring			 * H: led7
306724ba675SRob Herring			 * I: led8
307724ba675SRob Herring			 * J: PCIe reset
308724ba675SRob Herring			 */
309724ba675SRob Herring			&pinctrl_hog_base
310724ba675SRob Herring			&pinctrl_dhcom_k &pinctrl_dhcom_l
311724ba675SRob Herring			&pinctrl_dhcom_m &pinctrl_dhcom_n &pinctrl_dhcom_o
312724ba675SRob Herring			&pinctrl_dhcom_p &pinctrl_dhcom_q &pinctrl_dhcom_r
313724ba675SRob Herring			&pinctrl_dhcom_s &pinctrl_dhcom_t &pinctrl_dhcom_u
314724ba675SRob Herring			&pinctrl_dhcom_v &pinctrl_dhcom_w &pinctrl_dhcom_int
315724ba675SRob Herring		>;
316724ba675SRob Herring	pinctrl-names = "default";
317724ba675SRob Herring
318724ba675SRob Herring	pinctrl_audmux_ext: audmux-ext-grp {
319724ba675SRob Herring		fsl,pins = <
320724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT4__AUD3_TXC		0x130b0
321724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT5__AUD3_TXD		0x110b0
322724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS		0x130b0
323724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT7__AUD3_RXD		0x130b0
324724ba675SRob Herring		>;
325724ba675SRob Herring	};
326724ba675SRob Herring
327724ba675SRob Herring	pinctrl_enet_1G: enet-1G-grp {
328724ba675SRob Herring		fsl,pins = <
329724ba675SRob Herring			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x100b0
330724ba675SRob Herring			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x100b0
331724ba675SRob Herring			MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x100b0
332724ba675SRob Herring			MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b0b0
333724ba675SRob Herring			MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b0b0
334724ba675SRob Herring			MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b0b0
335724ba675SRob Herring			MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b0b0
336724ba675SRob Herring			MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b0b0
337724ba675SRob Herring			MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b0b0
338724ba675SRob Herring			MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x100b0
339724ba675SRob Herring			MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x100b0
340724ba675SRob Herring			MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x100b0
341724ba675SRob Herring			MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x100b0
342724ba675SRob Herring			MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x100b0
343724ba675SRob Herring			MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x100b0
344724ba675SRob Herring		>;
345724ba675SRob Herring	};
346724ba675SRob Herring
347724ba675SRob Herring	pinctrl_ethphy7: ethphy7-grp {
348724ba675SRob Herring		fsl,pins = <
349724ba675SRob Herring			MX6QDL_PAD_EIM_D26__GPIO3_IO26		0xb1 /* WOL */
350724ba675SRob Herring			MX6QDL_PAD_EIM_D29__GPIO3_IO29		0xb0 /* Reset */
351724ba675SRob Herring			MX6QDL_PAD_GPIO_0__GPIO1_IO00		0xb1 /* Int */
352724ba675SRob Herring		>;
353724ba675SRob Herring	};
354724ba675SRob Herring};
355