xref: /openbmc/linux/arch/arm/boot/dts/nxp/imx/imx51-eukrea-mbimxsd51-baseboard.dts (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later
2724ba675SRob Herring/*
3724ba675SRob Herring * Copyright 2013 Eukréa Electromatique <denis@eukrea.com>
4724ba675SRob Herring */
5724ba675SRob Herring
6724ba675SRob Herring/dts-v1/;
7724ba675SRob Herring#include "imx51-eukrea-cpuimx51.dtsi"
8724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
9724ba675SRob Herring
10724ba675SRob Herring/ {
11724ba675SRob Herring	model = "Eukrea CPUIMX51";
12724ba675SRob Herring	compatible = "eukrea,mbimxsd51","eukrea,cpuimx51", "fsl,imx51";
13724ba675SRob Herring
14724ba675SRob Herring	clocks {
15724ba675SRob Herring		clk24M: can_clock {
16724ba675SRob Herring			compatible = "fixed-clock";
17724ba675SRob Herring			#clock-cells = <0>;
18724ba675SRob Herring			clock-frequency = <24000000>;
19724ba675SRob Herring		};
20724ba675SRob Herring	};
21724ba675SRob Herring
22724ba675SRob Herring	gpio_keys {
23724ba675SRob Herring		compatible = "gpio-keys";
24724ba675SRob Herring		pinctrl-names = "default";
25724ba675SRob Herring		pinctrl-0 = <&pinctrl_gpiokeys_1>;
26724ba675SRob Herring
27724ba675SRob Herring		button-1 {
28724ba675SRob Herring			label = "BP1";
29724ba675SRob Herring			gpios = <&gpio3 31 GPIO_ACTIVE_LOW>;
30724ba675SRob Herring			linux,code = <256>;
31724ba675SRob Herring			wakeup-source;
32724ba675SRob Herring			linux,input-type = <1>;
33724ba675SRob Herring		};
34724ba675SRob Herring	};
35724ba675SRob Herring
36724ba675SRob Herring	leds {
37724ba675SRob Herring		compatible = "gpio-leds";
38724ba675SRob Herring		pinctrl-names = "default";
39724ba675SRob Herring		pinctrl-0 = <&pinctrl_gpioled>;
40724ba675SRob Herring
41724ba675SRob Herring		led1 {
42724ba675SRob Herring			label = "led1";
43724ba675SRob Herring			gpios = <&gpio3 30 GPIO_ACTIVE_LOW>;
44724ba675SRob Herring			linux,default-trigger = "heartbeat";
45724ba675SRob Herring		};
46724ba675SRob Herring	};
47724ba675SRob Herring
48*ec20d468SFabio Estevam	reg_can: regulator-can {
49724ba675SRob Herring		compatible = "regulator-fixed";
50724ba675SRob Herring		regulator-name = "CAN_RST";
51724ba675SRob Herring		regulator-min-microvolt = <3300000>;
52724ba675SRob Herring		regulator-max-microvolt = <3300000>;
53724ba675SRob Herring		gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>;
54724ba675SRob Herring		startup-delay-us = <20000>;
55724ba675SRob Herring		enable-active-high;
56724ba675SRob Herring	};
57724ba675SRob Herring
58724ba675SRob Herring	sound {
59724ba675SRob Herring		compatible = "eukrea,asoc-tlv320";
60724ba675SRob Herring		eukrea,model = "imx51-eukrea-tlv320aic23";
61724ba675SRob Herring		ssi-controller = <&ssi2>;
62724ba675SRob Herring		fsl,mux-int-port = <2>;
63724ba675SRob Herring		fsl,mux-ext-port = <3>;
64724ba675SRob Herring	};
65724ba675SRob Herring
66724ba675SRob Herring	usbphy1: usbphy1 {
67724ba675SRob Herring		compatible = "usb-nop-xceiv";
68724ba675SRob Herring		clocks = <&clks IMX5_CLK_USB_PHY_GATE>;
69724ba675SRob Herring		clock-names = "main_clk";
70724ba675SRob Herring		clock-frequency = <19200000>;
71724ba675SRob Herring		#phy-cells = <0>;
72724ba675SRob Herring	};
73724ba675SRob Herring};
74724ba675SRob Herring
75724ba675SRob Herring&audmux {
76724ba675SRob Herring	pinctrl-names = "default";
77724ba675SRob Herring	pinctrl-0 = <&pinctrl_audmux>;
78724ba675SRob Herring	status = "okay";
79724ba675SRob Herring};
80724ba675SRob Herring
81724ba675SRob Herring&esdhc1 {
82724ba675SRob Herring	pinctrl-names = "default";
83724ba675SRob Herring	pinctrl-0 = <&pinctrl_esdhc1 &pinctrl_esdhc1_cd>;
84724ba675SRob Herring	cd-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
85724ba675SRob Herring	status = "okay";
86724ba675SRob Herring};
87724ba675SRob Herring
88724ba675SRob Herring&ecspi1 {
89724ba675SRob Herring	pinctrl-names = "default";
90724ba675SRob Herring	pinctrl-0 = <&pinctrl_ecspi1>;
91724ba675SRob Herring	cs-gpios = <&gpio4 24 GPIO_ACTIVE_LOW>;
92724ba675SRob Herring	status = "okay";
93724ba675SRob Herring
94724ba675SRob Herring	can0: can@0 {
95724ba675SRob Herring		pinctrl-names = "default";
96724ba675SRob Herring		pinctrl-0 = <&pinctrl_can>;
97724ba675SRob Herring		compatible = "microchip,mcp2515";
98724ba675SRob Herring		reg = <0>;
99724ba675SRob Herring		clocks = <&clk24M>;
100724ba675SRob Herring		spi-max-frequency = <10000000>;
101724ba675SRob Herring		interrupt-parent = <&gpio1>;
102724ba675SRob Herring		interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
103724ba675SRob Herring		vdd-supply = <&reg_can>;
104724ba675SRob Herring	};
105724ba675SRob Herring};
106724ba675SRob Herring
107724ba675SRob Herring&i2c1 {
108724ba675SRob Herring	tlv320aic23: codec@1a {
109724ba675SRob Herring		compatible = "ti,tlv320aic23";
110724ba675SRob Herring		reg = <0x1a>;
111724ba675SRob Herring	};
112724ba675SRob Herring};
113724ba675SRob Herring
114724ba675SRob Herring&iomuxc {
115724ba675SRob Herring	imx51-eukrea {
116724ba675SRob Herring		pinctrl_audmux: audmuxgrp {
117724ba675SRob Herring			fsl,pins = <
118724ba675SRob Herring				MX51_PAD_AUD3_BB_TXD__AUD3_TXD		0x80000000
119724ba675SRob Herring				MX51_PAD_AUD3_BB_RXD__AUD3_RXD		0x80000000
120724ba675SRob Herring				MX51_PAD_AUD3_BB_CK__AUD3_TXC		0x80000000
121724ba675SRob Herring				MX51_PAD_AUD3_BB_FS__AUD3_TXFS		0x80000000
122724ba675SRob Herring			>;
123724ba675SRob Herring		};
124724ba675SRob Herring
125724ba675SRob Herring
126724ba675SRob Herring		pinctrl_can: cangrp {
127724ba675SRob Herring			fsl,pins = <
128724ba675SRob Herring				MX51_PAD_CSI2_PIXCLK__GPIO4_15		0x80000000	/* nReset */
129724ba675SRob Herring				MX51_PAD_GPIO1_1__GPIO1_1		0x80000000	/* IRQ */
130724ba675SRob Herring			>;
131724ba675SRob Herring		};
132724ba675SRob Herring
133724ba675SRob Herring		pinctrl_ecspi1: ecspi1grp {
134724ba675SRob Herring			fsl,pins = <
135724ba675SRob Herring				MX51_PAD_CSPI1_MISO__ECSPI1_MISO	0x185
136724ba675SRob Herring				MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI	0x185
137724ba675SRob Herring				MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK	0x185
138724ba675SRob Herring				MX51_PAD_CSPI1_SS0__GPIO4_24		0x80000000 	/* CS0 */
139724ba675SRob Herring			>;
140724ba675SRob Herring		};
141724ba675SRob Herring
142724ba675SRob Herring		pinctrl_esdhc1: esdhc1grp {
143724ba675SRob Herring			fsl,pins = <
144724ba675SRob Herring				MX51_PAD_SD1_CMD__SD1_CMD		0x400020d5
145724ba675SRob Herring				MX51_PAD_SD1_CLK__SD1_CLK		0x20d5
146724ba675SRob Herring				MX51_PAD_SD1_DATA0__SD1_DATA0		0x20d5
147724ba675SRob Herring				MX51_PAD_SD1_DATA1__SD1_DATA1		0x20d5
148724ba675SRob Herring				MX51_PAD_SD1_DATA2__SD1_DATA2		0x20d5
149724ba675SRob Herring				MX51_PAD_SD1_DATA3__SD1_DATA3		0x20d5
150724ba675SRob Herring			>;
151724ba675SRob Herring		};
152724ba675SRob Herring
153724ba675SRob Herring		pinctrl_uart1: uart1grp {
154724ba675SRob Herring			fsl,pins = <
155724ba675SRob Herring				MX51_PAD_UART1_RXD__UART1_RXD		0x1c5
156724ba675SRob Herring				MX51_PAD_UART1_TXD__UART1_TXD		0x1c5
157724ba675SRob Herring			>;
158724ba675SRob Herring		};
159724ba675SRob Herring
160724ba675SRob Herring		pinctrl_uart3: uart3grp {
161724ba675SRob Herring			fsl,pins = <
162724ba675SRob Herring				MX51_PAD_UART3_RXD__UART3_RXD		0x1c5
163724ba675SRob Herring				MX51_PAD_UART3_TXD__UART3_TXD		0x1c5
164724ba675SRob Herring			>;
165724ba675SRob Herring		};
166724ba675SRob Herring
167724ba675SRob Herring		pinctrl_uart3_rtscts: uart3rtsctsgrp {
168724ba675SRob Herring			fsl,pins = <
169724ba675SRob Herring				MX51_PAD_KEY_COL4__UART3_RTS		0x1c5
170724ba675SRob Herring				MX51_PAD_KEY_COL5__UART3_CTS		0x1c5
171724ba675SRob Herring			>;
172724ba675SRob Herring		};
173724ba675SRob Herring
174724ba675SRob Herring		pinctrl_backlight_1: backlightgrp-1 {
175724ba675SRob Herring			fsl,pins = <
176724ba675SRob Herring				MX51_PAD_DI1_D1_CS__GPIO3_4 0x1f5
177724ba675SRob Herring			>;
178724ba675SRob Herring		};
179724ba675SRob Herring
180724ba675SRob Herring		pinctrl_esdhc1_cd: esdhc1_cd {
181724ba675SRob Herring			fsl,pins = <
182724ba675SRob Herring				MX51_PAD_GPIO1_0__GPIO1_0 0xd5
183724ba675SRob Herring			>;
184724ba675SRob Herring		};
185724ba675SRob Herring
186724ba675SRob Herring		pinctrl_gpiokeys_1: gpiokeysgrp-1 {
187724ba675SRob Herring			fsl,pins = <
188724ba675SRob Herring				MX51_PAD_NANDF_D9__GPIO3_31 0x1f5
189724ba675SRob Herring			>;
190724ba675SRob Herring		};
191724ba675SRob Herring
192724ba675SRob Herring		pinctrl_gpioled: gpioledgrp-1 {
193724ba675SRob Herring			fsl,pins = <
194724ba675SRob Herring				MX51_PAD_NANDF_D10__GPIO3_30 0x80000000
195724ba675SRob Herring			>;
196724ba675SRob Herring		};
197724ba675SRob Herring
198724ba675SRob Herring		pinctrl_reg_lcd_3v3: reg_lcd_3v3 {
199724ba675SRob Herring			fsl,pins = <
200724ba675SRob Herring				MX51_PAD_CSI1_D9__GPIO3_13 0x1f5
201724ba675SRob Herring			>;
202724ba675SRob Herring		};
203724ba675SRob Herring
204724ba675SRob Herring		pinctrl_usbh1: usbh1grp {
205724ba675SRob Herring			fsl,pins = <
206724ba675SRob Herring				MX51_PAD_USBH1_CLK__USBH1_CLK     0x1e5
207724ba675SRob Herring				MX51_PAD_USBH1_DIR__USBH1_DIR     0x1e5
208724ba675SRob Herring				MX51_PAD_USBH1_NXT__USBH1_NXT     0x1e5
209724ba675SRob Herring				MX51_PAD_USBH1_DATA0__USBH1_DATA0 0x1e5
210724ba675SRob Herring				MX51_PAD_USBH1_DATA1__USBH1_DATA1 0x1e5
211724ba675SRob Herring				MX51_PAD_USBH1_DATA2__USBH1_DATA2 0x1e5
212724ba675SRob Herring				MX51_PAD_USBH1_DATA3__USBH1_DATA3 0x1e5
213724ba675SRob Herring				MX51_PAD_USBH1_DATA4__USBH1_DATA4 0x1e5
214724ba675SRob Herring				MX51_PAD_USBH1_DATA5__USBH1_DATA5 0x1e5
215724ba675SRob Herring				MX51_PAD_USBH1_DATA6__USBH1_DATA6 0x1e5
216724ba675SRob Herring				MX51_PAD_USBH1_DATA7__USBH1_DATA7 0x1e5
217724ba675SRob Herring				MX51_PAD_USBH1_STP__USBH1_STP     0x1e5
218724ba675SRob Herring			>;
219724ba675SRob Herring		};
220724ba675SRob Herring
221724ba675SRob Herring		pinctrl_usbh1_vbus: usbh1-vbusgrp {
222724ba675SRob Herring			fsl,pins = <
223724ba675SRob Herring				MX51_PAD_EIM_CS3__GPIO2_28 0x1f5
224724ba675SRob Herring			>;
225724ba675SRob Herring		};
226724ba675SRob Herring	};
227724ba675SRob Herring};
228724ba675SRob Herring
229724ba675SRob Herring&ssi2 {
230724ba675SRob Herring	codec-handle = <&tlv320aic23>;
231724ba675SRob Herring	status = "okay";
232724ba675SRob Herring};
233724ba675SRob Herring
234724ba675SRob Herring&uart1 {
235724ba675SRob Herring	pinctrl-names = "default";
236724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart1>;
237724ba675SRob Herring	uart-has-rtscts;
238724ba675SRob Herring	status = "okay";
239724ba675SRob Herring};
240724ba675SRob Herring
241724ba675SRob Herring&uart3 {
242724ba675SRob Herring	pinctrl-names = "default";
243724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart3 &pinctrl_uart3_rtscts>;
244724ba675SRob Herring	uart-has-rtscts;
245724ba675SRob Herring	status = "okay";
246724ba675SRob Herring};
247724ba675SRob Herring
248724ba675SRob Herring&usbh1 {
249724ba675SRob Herring	pinctrl-names = "default";
250724ba675SRob Herring	pinctrl-0 = <&pinctrl_usbh1>;
251724ba675SRob Herring	fsl,usbphy = <&usbphy1>;
252724ba675SRob Herring	dr_mode = "host";
253724ba675SRob Herring	phy_type = "ulpi";
254724ba675SRob Herring	status = "okay";
255724ba675SRob Herring};
256724ba675SRob Herring
257724ba675SRob Herring&usbotg {
258724ba675SRob Herring	dr_mode = "otg";
259724ba675SRob Herring	phy_type = "utmi_wide";
260724ba675SRob Herring	status = "okay";
261724ba675SRob Herring};
262724ba675SRob Herring
263724ba675SRob Herring&usbphy0 {
264724ba675SRob Herring	pinctrl-names = "default";
265724ba675SRob Herring	pinctrl-0 = <&pinctrl_usbh1_vbus>;
266724ba675SRob Herring	reset-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
267724ba675SRob Herring};
268