1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru>
4f126890aSEmmanuel Vadot */
5f126890aSEmmanuel Vadot
6f126890aSEmmanuel Vadot#include "imx27-eukrea-cpuimx27.dtsi"
7f126890aSEmmanuel Vadot
8f126890aSEmmanuel Vadot/ {
9f126890aSEmmanuel Vadot	model = "Eukrea MBIMXSD27";
10f126890aSEmmanuel Vadot	compatible = "eukrea,mbimxsd27-baseboard", "eukrea,cpuimx27", "fsl,imx27";
11f126890aSEmmanuel Vadot
12f126890aSEmmanuel Vadot	display0: CMO-QVGA {
13f126890aSEmmanuel Vadot		model = "CMO-QVGA";
14f126890aSEmmanuel Vadot		bits-per-pixel = <16>;
15f126890aSEmmanuel Vadot		fsl,pcr = <0xfad08b80>;
16f126890aSEmmanuel Vadot
17f126890aSEmmanuel Vadot		display-timings {
18f126890aSEmmanuel Vadot			native-mode = <&timing0>;
19*8d13bc63SEmmanuel Vadot			timing0: timing0 {
20f126890aSEmmanuel Vadot				clock-frequency = <6500000>;
21f126890aSEmmanuel Vadot				hactive = <320>;
22f126890aSEmmanuel Vadot				vactive = <240>;
23f126890aSEmmanuel Vadot				hback-porch = <20>;
24f126890aSEmmanuel Vadot				hsync-len = <30>;
25f126890aSEmmanuel Vadot				hfront-porch = <38>;
26f126890aSEmmanuel Vadot				vback-porch = <4>;
27f126890aSEmmanuel Vadot				vsync-len = <3>;
28f126890aSEmmanuel Vadot				vfront-porch = <15>;
29f126890aSEmmanuel Vadot			};
30f126890aSEmmanuel Vadot		};
31f126890aSEmmanuel Vadot	};
32f126890aSEmmanuel Vadot
33f126890aSEmmanuel Vadot	backlight {
34f126890aSEmmanuel Vadot		compatible = "gpio-backlight";
35f126890aSEmmanuel Vadot		pinctrl-names = "default";
36f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_backlight>;
37f126890aSEmmanuel Vadot		gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>;
38f126890aSEmmanuel Vadot	};
39f126890aSEmmanuel Vadot
40f126890aSEmmanuel Vadot	leds {
41f126890aSEmmanuel Vadot		compatible = "gpio-leds";
42f126890aSEmmanuel Vadot		pinctrl-names = "default";
43f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_gpioleds>;
44f126890aSEmmanuel Vadot
45f126890aSEmmanuel Vadot		led1 {
46f126890aSEmmanuel Vadot			label = "system::live";
47f126890aSEmmanuel Vadot			gpios = <&gpio6 16 GPIO_ACTIVE_LOW>;
48f126890aSEmmanuel Vadot			linux,default-trigger = "heartbeat";
49f126890aSEmmanuel Vadot		};
50f126890aSEmmanuel Vadot
51f126890aSEmmanuel Vadot		led2 {
52f126890aSEmmanuel Vadot			label = "system::user";
53f126890aSEmmanuel Vadot			gpios = <&gpio6 19 GPIO_ACTIVE_LOW>;
54f126890aSEmmanuel Vadot		};
55f126890aSEmmanuel Vadot	};
56f126890aSEmmanuel Vadot
57aa1a8ff2SEmmanuel Vadot	reg_lcd: regulator-0 {
58aa1a8ff2SEmmanuel Vadot		compatible = "regulator-fixed";
59f126890aSEmmanuel Vadot		pinctrl-names = "default";
60f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_lcdreg>;
61f126890aSEmmanuel Vadot		regulator-name = "LCD";
62f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
63f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
64f126890aSEmmanuel Vadot		gpio = <&gpio1 25 GPIO_ACTIVE_HIGH>;
65f126890aSEmmanuel Vadot		enable-active-high;
66f126890aSEmmanuel Vadot	};
67f126890aSEmmanuel Vadot};
68f126890aSEmmanuel Vadot
69f126890aSEmmanuel Vadot&cspi1 {
70f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_cspi1>;
71f126890aSEmmanuel Vadot	cs-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
72f126890aSEmmanuel Vadot	status = "okay";
73f126890aSEmmanuel Vadot
74f126890aSEmmanuel Vadot	ads7846@0 {
75f126890aSEmmanuel Vadot		compatible = "ti,ads7846";
76f126890aSEmmanuel Vadot		pinctrl-names = "default";
77f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_touch>;
78f126890aSEmmanuel Vadot		reg = <0>;
79f126890aSEmmanuel Vadot		interrupts = <&gpio4 25 IRQ_TYPE_LEVEL_LOW>;
80f126890aSEmmanuel Vadot		spi-cpol;
81f126890aSEmmanuel Vadot		spi-max-frequency = <1500000>;
82f126890aSEmmanuel Vadot		ti,keep-vref-on;
83f126890aSEmmanuel Vadot	};
84f126890aSEmmanuel Vadot};
85f126890aSEmmanuel Vadot
86f126890aSEmmanuel Vadot&fb {
87f126890aSEmmanuel Vadot	pinctrl-names = "default";
88f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_imxfb>;
89f126890aSEmmanuel Vadot	display = <&display0>;
90f126890aSEmmanuel Vadot	lcd-supply = <&reg_lcd>;
91f126890aSEmmanuel Vadot	fsl,dmacr = <0x00040060>;
92f126890aSEmmanuel Vadot	fsl,lscr1 = <0x00120300>;
93f126890aSEmmanuel Vadot	fsl,lpccr = <0x00a903ff>;
94f126890aSEmmanuel Vadot	status = "okay";
95f126890aSEmmanuel Vadot};
96f126890aSEmmanuel Vadot
97f126890aSEmmanuel Vadot&i2c1 {
98f126890aSEmmanuel Vadot	codec: codec@1a {
99f126890aSEmmanuel Vadot		compatible = "ti,tlv320aic23";
100f126890aSEmmanuel Vadot		reg = <0x1a>;
101f126890aSEmmanuel Vadot	};
102f126890aSEmmanuel Vadot};
103f126890aSEmmanuel Vadot
104f126890aSEmmanuel Vadot&kpp {
105f126890aSEmmanuel Vadot	linux,keymap = <
106f126890aSEmmanuel Vadot		MATRIX_KEY(0, 0, KEY_UP)
107f126890aSEmmanuel Vadot		MATRIX_KEY(0, 1, KEY_DOWN)
108f126890aSEmmanuel Vadot		MATRIX_KEY(1, 0, KEY_RIGHT)
109f126890aSEmmanuel Vadot		MATRIX_KEY(1, 1, KEY_LEFT)
110f126890aSEmmanuel Vadot	>;
111f126890aSEmmanuel Vadot	status = "okay";
112f126890aSEmmanuel Vadot};
113f126890aSEmmanuel Vadot
114f126890aSEmmanuel Vadot&sdhci1 {
115f126890aSEmmanuel Vadot	pinctrl-names = "default";
116f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_sdhc1>;
117f126890aSEmmanuel Vadot	bus-width = <4>;
118f126890aSEmmanuel Vadot	status = "okay";
119f126890aSEmmanuel Vadot};
120f126890aSEmmanuel Vadot
121f126890aSEmmanuel Vadot&ssi1 {
122f126890aSEmmanuel Vadot	pinctrl-names = "default";
123f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_ssi1>;
124f126890aSEmmanuel Vadot	codec-handle = <&codec>;
125f126890aSEmmanuel Vadot	status = "okay";
126f126890aSEmmanuel Vadot};
127f126890aSEmmanuel Vadot
128f126890aSEmmanuel Vadot&uart1 {
129f126890aSEmmanuel Vadot	uart-has-rtscts;
130f126890aSEmmanuel Vadot	pinctrl-names = "default";
131f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart1>;
132f126890aSEmmanuel Vadot	status = "okay";
133f126890aSEmmanuel Vadot};
134f126890aSEmmanuel Vadot
135f126890aSEmmanuel Vadot&uart2 {
136f126890aSEmmanuel Vadot	uart-has-rtscts;
137f126890aSEmmanuel Vadot	pinctrl-names = "default";
138f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart2>;
139f126890aSEmmanuel Vadot	status = "okay";
140f126890aSEmmanuel Vadot};
141f126890aSEmmanuel Vadot
142f126890aSEmmanuel Vadot&uart3 {
143f126890aSEmmanuel Vadot	uart-has-rtscts;
144f126890aSEmmanuel Vadot	pinctrl-names = "default";
145f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart3>;
146f126890aSEmmanuel Vadot	status = "okay";
147f126890aSEmmanuel Vadot};
148f126890aSEmmanuel Vadot
149f126890aSEmmanuel Vadot&iomuxc {
150f126890aSEmmanuel Vadot	imx27-eukrea-cpuimx27-baseboard {
151f126890aSEmmanuel Vadot		pinctrl_cspi1: cspi1grp {
152f126890aSEmmanuel Vadot			fsl,pins = <
153f126890aSEmmanuel Vadot				MX27_PAD_CSPI1_MISO__CSPI1_MISO	0x0
154f126890aSEmmanuel Vadot				MX27_PAD_CSPI1_MOSI__CSPI1_MOSI	0x0
155f126890aSEmmanuel Vadot				MX27_PAD_CSPI1_SCLK__CSPI1_SCLK	0x0
156f126890aSEmmanuel Vadot				MX27_PAD_CSPI1_SS0__GPIO4_28	0x0 /* CS0 */
157f126890aSEmmanuel Vadot			>;
158f126890aSEmmanuel Vadot		};
159f126890aSEmmanuel Vadot
160f126890aSEmmanuel Vadot		pinctrl_backlight: backlightgrp {
161f126890aSEmmanuel Vadot			fsl,pins = <
162f126890aSEmmanuel Vadot				MX27_PAD_PWMO__GPIO5_5		0x0
163f126890aSEmmanuel Vadot			>;
164f126890aSEmmanuel Vadot		};
165f126890aSEmmanuel Vadot
166f126890aSEmmanuel Vadot		pinctrl_gpioleds: gpioledsgrp {
167f126890aSEmmanuel Vadot			fsl,pins = <
168f126890aSEmmanuel Vadot				MX27_PAD_PC_PWRON__GPIO6_16	0x0
169f126890aSEmmanuel Vadot				MX27_PAD_PC_CD2_B__GPIO6_19	0x0
170f126890aSEmmanuel Vadot			>;
171f126890aSEmmanuel Vadot		};
172f126890aSEmmanuel Vadot
173f126890aSEmmanuel Vadot		pinctrl_imxfb: imxfbgrp {
174f126890aSEmmanuel Vadot			fsl,pins = <
175f126890aSEmmanuel Vadot				MX27_PAD_LD0__LD0		0x0
176f126890aSEmmanuel Vadot				MX27_PAD_LD1__LD1		0x0
177f126890aSEmmanuel Vadot				MX27_PAD_LD2__LD2		0x0
178f126890aSEmmanuel Vadot				MX27_PAD_LD3__LD3		0x0
179f126890aSEmmanuel Vadot				MX27_PAD_LD4__LD4		0x0
180f126890aSEmmanuel Vadot				MX27_PAD_LD5__LD5		0x0
181f126890aSEmmanuel Vadot				MX27_PAD_LD6__LD6		0x0
182f126890aSEmmanuel Vadot				MX27_PAD_LD7__LD7		0x0
183f126890aSEmmanuel Vadot				MX27_PAD_LD8__LD8		0x0
184f126890aSEmmanuel Vadot				MX27_PAD_LD9__LD9		0x0
185f126890aSEmmanuel Vadot				MX27_PAD_LD10__LD10		0x0
186f126890aSEmmanuel Vadot				MX27_PAD_LD11__LD11		0x0
187f126890aSEmmanuel Vadot				MX27_PAD_LD12__LD12		0x0
188f126890aSEmmanuel Vadot				MX27_PAD_LD13__LD13		0x0
189f126890aSEmmanuel Vadot				MX27_PAD_LD14__LD14		0x0
190f126890aSEmmanuel Vadot				MX27_PAD_LD15__LD15		0x0
191f126890aSEmmanuel Vadot				MX27_PAD_LD16__LD16		0x0
192f126890aSEmmanuel Vadot				MX27_PAD_LD17__LD17		0x0
193f126890aSEmmanuel Vadot				MX27_PAD_CONTRAST__CONTRAST	0x0
194f126890aSEmmanuel Vadot				MX27_PAD_OE_ACD__OE_ACD		0x0
195f126890aSEmmanuel Vadot				MX27_PAD_HSYNC__HSYNC		0x0
196f126890aSEmmanuel Vadot				MX27_PAD_VSYNC__VSYNC		0x0
197f126890aSEmmanuel Vadot			>;
198f126890aSEmmanuel Vadot		};
199f126890aSEmmanuel Vadot
200f126890aSEmmanuel Vadot		pinctrl_lcdreg: lcdreggrp {
201f126890aSEmmanuel Vadot			fsl,pins = <
202f126890aSEmmanuel Vadot				MX27_PAD_CLS__GPIO1_25		0x0
203f126890aSEmmanuel Vadot			>;
204f126890aSEmmanuel Vadot		};
205f126890aSEmmanuel Vadot
206f126890aSEmmanuel Vadot		pinctrl_sdhc1: sdhc1grp {
207f126890aSEmmanuel Vadot			fsl,pins = <
208f126890aSEmmanuel Vadot				MX27_PAD_SD1_CLK__SD1_CLK	0x0
209f126890aSEmmanuel Vadot				MX27_PAD_SD1_CMD__SD1_CMD	0x0
210f126890aSEmmanuel Vadot				MX27_PAD_SD1_D0__SD1_D0		0x0
211f126890aSEmmanuel Vadot				MX27_PAD_SD1_D1__SD1_D1		0x0
212f126890aSEmmanuel Vadot				MX27_PAD_SD1_D2__SD1_D2		0x0
213f126890aSEmmanuel Vadot				MX27_PAD_SD1_D3__SD1_D3		0x0
214f126890aSEmmanuel Vadot			>;
215f126890aSEmmanuel Vadot		};
216f126890aSEmmanuel Vadot
217f126890aSEmmanuel Vadot		pinctrl_ssi1: ssi1grp {
218f126890aSEmmanuel Vadot			fsl,pins = <
219f126890aSEmmanuel Vadot				MX27_PAD_SSI4_CLK__SSI4_CLK	0x0
220f126890aSEmmanuel Vadot				MX27_PAD_SSI4_FS__SSI4_FS	0x0
221f126890aSEmmanuel Vadot				MX27_PAD_SSI4_RXDAT__SSI4_RXDAT	0x1
222f126890aSEmmanuel Vadot				MX27_PAD_SSI4_TXDAT__SSI4_TXDAT	0x1
223f126890aSEmmanuel Vadot			>;
224f126890aSEmmanuel Vadot		};
225f126890aSEmmanuel Vadot
226f126890aSEmmanuel Vadot		pinctrl_touch: touchgrp {
227f126890aSEmmanuel Vadot			fsl,pins = <
228f126890aSEmmanuel Vadot				MX27_PAD_CSPI1_RDY__GPIO4_25	0x0 /* IRQ */
229f126890aSEmmanuel Vadot			>;
230f126890aSEmmanuel Vadot		};
231f126890aSEmmanuel Vadot
232f126890aSEmmanuel Vadot		pinctrl_uart1: uart1grp {
233f126890aSEmmanuel Vadot			fsl,pins = <
234f126890aSEmmanuel Vadot				MX27_PAD_UART1_TXD__UART1_TXD	0x0
235f126890aSEmmanuel Vadot				MX27_PAD_UART1_RXD__UART1_RXD	0x0
236f126890aSEmmanuel Vadot				MX27_PAD_UART1_CTS__UART1_CTS	0x0
237f126890aSEmmanuel Vadot				MX27_PAD_UART1_RTS__UART1_RTS	0x0
238f126890aSEmmanuel Vadot			>;
239f126890aSEmmanuel Vadot		};
240f126890aSEmmanuel Vadot
241f126890aSEmmanuel Vadot		pinctrl_uart2: uart2grp {
242f126890aSEmmanuel Vadot			fsl,pins = <
243f126890aSEmmanuel Vadot				MX27_PAD_UART2_TXD__UART2_TXD	0x0
244f126890aSEmmanuel Vadot				MX27_PAD_UART2_RXD__UART2_RXD	0x0
245f126890aSEmmanuel Vadot				MX27_PAD_UART2_CTS__UART2_CTS	0x0
246f126890aSEmmanuel Vadot				MX27_PAD_UART2_RTS__UART2_RTS	0x0
247f126890aSEmmanuel Vadot			>;
248f126890aSEmmanuel Vadot		};
249f126890aSEmmanuel Vadot
250f126890aSEmmanuel Vadot		pinctrl_uart3: uart3grp {
251f126890aSEmmanuel Vadot			fsl,pins = <
252f126890aSEmmanuel Vadot				MX27_PAD_UART3_TXD__UART3_TXD	0x0
253f126890aSEmmanuel Vadot				MX27_PAD_UART3_RXD__UART3_RXD	0x0
254f126890aSEmmanuel Vadot				MX27_PAD_UART3_CTS__UART3_CTS	0x0
255f126890aSEmmanuel Vadot				MX27_PAD_UART3_RTS__UART3_RTS	0x0
256f126890aSEmmanuel Vadot			>;
257f126890aSEmmanuel Vadot		};
258f126890aSEmmanuel Vadot	};
259f126890aSEmmanuel Vadot};
260