xref: /freebsd/sys/contrib/device-tree/src/arm/nxp/imx/imx51-eukrea-mbimxsd51-baseboard.dts (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Copyright 2013 Eukréa Electromatique <denis@eukrea.com>
4f126890aSEmmanuel Vadot */
5f126890aSEmmanuel Vadot
6f126890aSEmmanuel Vadot/dts-v1/;
7f126890aSEmmanuel Vadot#include "imx51-eukrea-cpuimx51.dtsi"
8f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
9f126890aSEmmanuel Vadot
10f126890aSEmmanuel Vadot/ {
11f126890aSEmmanuel Vadot	model = "Eukrea CPUIMX51";
12f126890aSEmmanuel Vadot	compatible = "eukrea,mbimxsd51","eukrea,cpuimx51", "fsl,imx51";
13f126890aSEmmanuel Vadot
14f126890aSEmmanuel Vadot	clocks {
15f126890aSEmmanuel Vadot		clk24M: can_clock {
16f126890aSEmmanuel Vadot			compatible = "fixed-clock";
17f126890aSEmmanuel Vadot			#clock-cells = <0>;
18f126890aSEmmanuel Vadot			clock-frequency = <24000000>;
19f126890aSEmmanuel Vadot		};
20f126890aSEmmanuel Vadot	};
21f126890aSEmmanuel Vadot
22f126890aSEmmanuel Vadot	gpio_keys {
23f126890aSEmmanuel Vadot		compatible = "gpio-keys";
24f126890aSEmmanuel Vadot		pinctrl-names = "default";
25f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_gpiokeys_1>;
26f126890aSEmmanuel Vadot
27f126890aSEmmanuel Vadot		button-1 {
28f126890aSEmmanuel Vadot			label = "BP1";
29f126890aSEmmanuel Vadot			gpios = <&gpio3 31 GPIO_ACTIVE_LOW>;
30f126890aSEmmanuel Vadot			linux,code = <256>;
31f126890aSEmmanuel Vadot			wakeup-source;
32f126890aSEmmanuel Vadot			linux,input-type = <1>;
33f126890aSEmmanuel Vadot		};
34f126890aSEmmanuel Vadot	};
35f126890aSEmmanuel Vadot
36f126890aSEmmanuel Vadot	leds {
37f126890aSEmmanuel Vadot		compatible = "gpio-leds";
38f126890aSEmmanuel Vadot		pinctrl-names = "default";
39f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_gpioled>;
40f126890aSEmmanuel Vadot
41f126890aSEmmanuel Vadot		led1 {
42f126890aSEmmanuel Vadot			label = "led1";
43f126890aSEmmanuel Vadot			gpios = <&gpio3 30 GPIO_ACTIVE_LOW>;
44f126890aSEmmanuel Vadot			linux,default-trigger = "heartbeat";
45f126890aSEmmanuel Vadot		};
46f126890aSEmmanuel Vadot	};
47f126890aSEmmanuel Vadot
48*aa1a8ff2SEmmanuel Vadot	reg_can: regulator-can {
49f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
50f126890aSEmmanuel Vadot		regulator-name = "CAN_RST";
51f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
52f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
53f126890aSEmmanuel Vadot		gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>;
54f126890aSEmmanuel Vadot		startup-delay-us = <20000>;
55f126890aSEmmanuel Vadot		enable-active-high;
56f126890aSEmmanuel Vadot	};
57f126890aSEmmanuel Vadot
58f126890aSEmmanuel Vadot	sound {
59f126890aSEmmanuel Vadot		compatible = "eukrea,asoc-tlv320";
60f126890aSEmmanuel Vadot		eukrea,model = "imx51-eukrea-tlv320aic23";
61f126890aSEmmanuel Vadot		ssi-controller = <&ssi2>;
62f126890aSEmmanuel Vadot		fsl,mux-int-port = <2>;
63f126890aSEmmanuel Vadot		fsl,mux-ext-port = <3>;
64f126890aSEmmanuel Vadot	};
65f126890aSEmmanuel Vadot
66f126890aSEmmanuel Vadot	usbphy1: usbphy1 {
67f126890aSEmmanuel Vadot		compatible = "usb-nop-xceiv";
68f126890aSEmmanuel Vadot		clocks = <&clks IMX5_CLK_USB_PHY_GATE>;
69f126890aSEmmanuel Vadot		clock-names = "main_clk";
70f126890aSEmmanuel Vadot		clock-frequency = <19200000>;
71f126890aSEmmanuel Vadot		#phy-cells = <0>;
72f126890aSEmmanuel Vadot	};
73f126890aSEmmanuel Vadot};
74f126890aSEmmanuel Vadot
75f126890aSEmmanuel Vadot&audmux {
76f126890aSEmmanuel Vadot	pinctrl-names = "default";
77f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_audmux>;
78f126890aSEmmanuel Vadot	status = "okay";
79f126890aSEmmanuel Vadot};
80f126890aSEmmanuel Vadot
81f126890aSEmmanuel Vadot&esdhc1 {
82f126890aSEmmanuel Vadot	pinctrl-names = "default";
83f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_esdhc1 &pinctrl_esdhc1_cd>;
84f126890aSEmmanuel Vadot	cd-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
85f126890aSEmmanuel Vadot	status = "okay";
86f126890aSEmmanuel Vadot};
87f126890aSEmmanuel Vadot
88f126890aSEmmanuel Vadot&ecspi1 {
89f126890aSEmmanuel Vadot	pinctrl-names = "default";
90f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_ecspi1>;
91f126890aSEmmanuel Vadot	cs-gpios = <&gpio4 24 GPIO_ACTIVE_LOW>;
92f126890aSEmmanuel Vadot	status = "okay";
93f126890aSEmmanuel Vadot
94f126890aSEmmanuel Vadot	can0: can@0 {
95f126890aSEmmanuel Vadot		pinctrl-names = "default";
96f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_can>;
97f126890aSEmmanuel Vadot		compatible = "microchip,mcp2515";
98f126890aSEmmanuel Vadot		reg = <0>;
99f126890aSEmmanuel Vadot		clocks = <&clk24M>;
100f126890aSEmmanuel Vadot		spi-max-frequency = <10000000>;
101f126890aSEmmanuel Vadot		interrupt-parent = <&gpio1>;
102f126890aSEmmanuel Vadot		interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
103f126890aSEmmanuel Vadot		vdd-supply = <&reg_can>;
104f126890aSEmmanuel Vadot	};
105f126890aSEmmanuel Vadot};
106f126890aSEmmanuel Vadot
107f126890aSEmmanuel Vadot&i2c1 {
108f126890aSEmmanuel Vadot	tlv320aic23: codec@1a {
109f126890aSEmmanuel Vadot		compatible = "ti,tlv320aic23";
110f126890aSEmmanuel Vadot		reg = <0x1a>;
111f126890aSEmmanuel Vadot	};
112f126890aSEmmanuel Vadot};
113f126890aSEmmanuel Vadot
114f126890aSEmmanuel Vadot&iomuxc {
115f126890aSEmmanuel Vadot	imx51-eukrea {
116f126890aSEmmanuel Vadot		pinctrl_audmux: audmuxgrp {
117f126890aSEmmanuel Vadot			fsl,pins = <
118f126890aSEmmanuel Vadot				MX51_PAD_AUD3_BB_TXD__AUD3_TXD		0x80000000
119f126890aSEmmanuel Vadot				MX51_PAD_AUD3_BB_RXD__AUD3_RXD		0x80000000
120f126890aSEmmanuel Vadot				MX51_PAD_AUD3_BB_CK__AUD3_TXC		0x80000000
121f126890aSEmmanuel Vadot				MX51_PAD_AUD3_BB_FS__AUD3_TXFS		0x80000000
122f126890aSEmmanuel Vadot			>;
123f126890aSEmmanuel Vadot		};
124f126890aSEmmanuel Vadot
125f126890aSEmmanuel Vadot
126f126890aSEmmanuel Vadot		pinctrl_can: cangrp {
127f126890aSEmmanuel Vadot			fsl,pins = <
128f126890aSEmmanuel Vadot				MX51_PAD_CSI2_PIXCLK__GPIO4_15		0x80000000	/* nReset */
129f126890aSEmmanuel Vadot				MX51_PAD_GPIO1_1__GPIO1_1		0x80000000	/* IRQ */
130f126890aSEmmanuel Vadot			>;
131f126890aSEmmanuel Vadot		};
132f126890aSEmmanuel Vadot
133f126890aSEmmanuel Vadot		pinctrl_ecspi1: ecspi1grp {
134f126890aSEmmanuel Vadot			fsl,pins = <
135f126890aSEmmanuel Vadot				MX51_PAD_CSPI1_MISO__ECSPI1_MISO	0x185
136f126890aSEmmanuel Vadot				MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI	0x185
137f126890aSEmmanuel Vadot				MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK	0x185
138f126890aSEmmanuel Vadot				MX51_PAD_CSPI1_SS0__GPIO4_24		0x80000000 	/* CS0 */
139f126890aSEmmanuel Vadot			>;
140f126890aSEmmanuel Vadot		};
141f126890aSEmmanuel Vadot
142f126890aSEmmanuel Vadot		pinctrl_esdhc1: esdhc1grp {
143f126890aSEmmanuel Vadot			fsl,pins = <
144f126890aSEmmanuel Vadot				MX51_PAD_SD1_CMD__SD1_CMD		0x400020d5
145f126890aSEmmanuel Vadot				MX51_PAD_SD1_CLK__SD1_CLK		0x20d5
146f126890aSEmmanuel Vadot				MX51_PAD_SD1_DATA0__SD1_DATA0		0x20d5
147f126890aSEmmanuel Vadot				MX51_PAD_SD1_DATA1__SD1_DATA1		0x20d5
148f126890aSEmmanuel Vadot				MX51_PAD_SD1_DATA2__SD1_DATA2		0x20d5
149f126890aSEmmanuel Vadot				MX51_PAD_SD1_DATA3__SD1_DATA3		0x20d5
150f126890aSEmmanuel Vadot			>;
151f126890aSEmmanuel Vadot		};
152f126890aSEmmanuel Vadot
153f126890aSEmmanuel Vadot		pinctrl_uart1: uart1grp {
154f126890aSEmmanuel Vadot			fsl,pins = <
155f126890aSEmmanuel Vadot				MX51_PAD_UART1_RXD__UART1_RXD		0x1c5
156f126890aSEmmanuel Vadot				MX51_PAD_UART1_TXD__UART1_TXD		0x1c5
157f126890aSEmmanuel Vadot			>;
158f126890aSEmmanuel Vadot		};
159f126890aSEmmanuel Vadot
160f126890aSEmmanuel Vadot		pinctrl_uart3: uart3grp {
161f126890aSEmmanuel Vadot			fsl,pins = <
162f126890aSEmmanuel Vadot				MX51_PAD_UART3_RXD__UART3_RXD		0x1c5
163f126890aSEmmanuel Vadot				MX51_PAD_UART3_TXD__UART3_TXD		0x1c5
164f126890aSEmmanuel Vadot			>;
165f126890aSEmmanuel Vadot		};
166f126890aSEmmanuel Vadot
167f126890aSEmmanuel Vadot		pinctrl_uart3_rtscts: uart3rtsctsgrp {
168f126890aSEmmanuel Vadot			fsl,pins = <
169f126890aSEmmanuel Vadot				MX51_PAD_KEY_COL4__UART3_RTS		0x1c5
170f126890aSEmmanuel Vadot				MX51_PAD_KEY_COL5__UART3_CTS		0x1c5
171f126890aSEmmanuel Vadot			>;
172f126890aSEmmanuel Vadot		};
173f126890aSEmmanuel Vadot
174f126890aSEmmanuel Vadot		pinctrl_backlight_1: backlightgrp-1 {
175f126890aSEmmanuel Vadot			fsl,pins = <
176f126890aSEmmanuel Vadot				MX51_PAD_DI1_D1_CS__GPIO3_4 0x1f5
177f126890aSEmmanuel Vadot			>;
178f126890aSEmmanuel Vadot		};
179f126890aSEmmanuel Vadot
180f126890aSEmmanuel Vadot		pinctrl_esdhc1_cd: esdhc1_cd {
181f126890aSEmmanuel Vadot			fsl,pins = <
182f126890aSEmmanuel Vadot				MX51_PAD_GPIO1_0__GPIO1_0 0xd5
183f126890aSEmmanuel Vadot			>;
184f126890aSEmmanuel Vadot		};
185f126890aSEmmanuel Vadot
186f126890aSEmmanuel Vadot		pinctrl_gpiokeys_1: gpiokeysgrp-1 {
187f126890aSEmmanuel Vadot			fsl,pins = <
188f126890aSEmmanuel Vadot				MX51_PAD_NANDF_D9__GPIO3_31 0x1f5
189f126890aSEmmanuel Vadot			>;
190f126890aSEmmanuel Vadot		};
191f126890aSEmmanuel Vadot
192f126890aSEmmanuel Vadot		pinctrl_gpioled: gpioledgrp-1 {
193f126890aSEmmanuel Vadot			fsl,pins = <
194f126890aSEmmanuel Vadot				MX51_PAD_NANDF_D10__GPIO3_30 0x80000000
195f126890aSEmmanuel Vadot			>;
196f126890aSEmmanuel Vadot		};
197f126890aSEmmanuel Vadot
198f126890aSEmmanuel Vadot		pinctrl_reg_lcd_3v3: reg_lcd_3v3 {
199f126890aSEmmanuel Vadot			fsl,pins = <
200f126890aSEmmanuel Vadot				MX51_PAD_CSI1_D9__GPIO3_13 0x1f5
201f126890aSEmmanuel Vadot			>;
202f126890aSEmmanuel Vadot		};
203f126890aSEmmanuel Vadot
204f126890aSEmmanuel Vadot		pinctrl_usbh1: usbh1grp {
205f126890aSEmmanuel Vadot			fsl,pins = <
206f126890aSEmmanuel Vadot				MX51_PAD_USBH1_CLK__USBH1_CLK     0x1e5
207f126890aSEmmanuel Vadot				MX51_PAD_USBH1_DIR__USBH1_DIR     0x1e5
208f126890aSEmmanuel Vadot				MX51_PAD_USBH1_NXT__USBH1_NXT     0x1e5
209f126890aSEmmanuel Vadot				MX51_PAD_USBH1_DATA0__USBH1_DATA0 0x1e5
210f126890aSEmmanuel Vadot				MX51_PAD_USBH1_DATA1__USBH1_DATA1 0x1e5
211f126890aSEmmanuel Vadot				MX51_PAD_USBH1_DATA2__USBH1_DATA2 0x1e5
212f126890aSEmmanuel Vadot				MX51_PAD_USBH1_DATA3__USBH1_DATA3 0x1e5
213f126890aSEmmanuel Vadot				MX51_PAD_USBH1_DATA4__USBH1_DATA4 0x1e5
214f126890aSEmmanuel Vadot				MX51_PAD_USBH1_DATA5__USBH1_DATA5 0x1e5
215f126890aSEmmanuel Vadot				MX51_PAD_USBH1_DATA6__USBH1_DATA6 0x1e5
216f126890aSEmmanuel Vadot				MX51_PAD_USBH1_DATA7__USBH1_DATA7 0x1e5
217f126890aSEmmanuel Vadot				MX51_PAD_USBH1_STP__USBH1_STP     0x1e5
218f126890aSEmmanuel Vadot			>;
219f126890aSEmmanuel Vadot		};
220f126890aSEmmanuel Vadot
221f126890aSEmmanuel Vadot		pinctrl_usbh1_vbus: usbh1-vbusgrp {
222f126890aSEmmanuel Vadot			fsl,pins = <
223f126890aSEmmanuel Vadot				MX51_PAD_EIM_CS3__GPIO2_28 0x1f5
224f126890aSEmmanuel Vadot			>;
225f126890aSEmmanuel Vadot		};
226f126890aSEmmanuel Vadot	};
227f126890aSEmmanuel Vadot};
228f126890aSEmmanuel Vadot
229f126890aSEmmanuel Vadot&ssi2 {
230f126890aSEmmanuel Vadot	codec-handle = <&tlv320aic23>;
231f126890aSEmmanuel Vadot	status = "okay";
232f126890aSEmmanuel Vadot};
233f126890aSEmmanuel Vadot
234f126890aSEmmanuel Vadot&uart1 {
235f126890aSEmmanuel Vadot	pinctrl-names = "default";
236f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart1>;
237f126890aSEmmanuel Vadot	uart-has-rtscts;
238f126890aSEmmanuel Vadot	status = "okay";
239f126890aSEmmanuel Vadot};
240f126890aSEmmanuel Vadot
241f126890aSEmmanuel Vadot&uart3 {
242f126890aSEmmanuel Vadot	pinctrl-names = "default";
243f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart3 &pinctrl_uart3_rtscts>;
244f126890aSEmmanuel Vadot	uart-has-rtscts;
245f126890aSEmmanuel Vadot	status = "okay";
246f126890aSEmmanuel Vadot};
247f126890aSEmmanuel Vadot
248f126890aSEmmanuel Vadot&usbh1 {
249f126890aSEmmanuel Vadot	pinctrl-names = "default";
250f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usbh1>;
251f126890aSEmmanuel Vadot	fsl,usbphy = <&usbphy1>;
252f126890aSEmmanuel Vadot	dr_mode = "host";
253f126890aSEmmanuel Vadot	phy_type = "ulpi";
254f126890aSEmmanuel Vadot	status = "okay";
255f126890aSEmmanuel Vadot};
256f126890aSEmmanuel Vadot
257f126890aSEmmanuel Vadot&usbotg {
258f126890aSEmmanuel Vadot	dr_mode = "otg";
259f126890aSEmmanuel Vadot	phy_type = "utmi_wide";
260f126890aSEmmanuel Vadot	status = "okay";
261f126890aSEmmanuel Vadot};
262f126890aSEmmanuel Vadot
263f126890aSEmmanuel Vadot&usbphy0 {
264f126890aSEmmanuel Vadot	pinctrl-names = "default";
265f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usbh1_vbus>;
266f126890aSEmmanuel Vadot	reset-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
267f126890aSEmmanuel Vadot};
268