xref: /linux/arch/arm/boot/dts/nxp/imx/imx53-smd.dts (revision a1c613ae4c322ddd58d5a8539dbfba2a0380a8c0)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0+
2724ba675SRob Herring//
3724ba675SRob Herring// Copyright 2011 Freescale Semiconductor, Inc.
4724ba675SRob Herring// Copyright 2011 Linaro Ltd.
5724ba675SRob Herring
6724ba675SRob Herring/dts-v1/;
7724ba675SRob Herring#include <dt-bindings/input/input.h>
8724ba675SRob Herring#include "imx53.dtsi"
9724ba675SRob Herring
10724ba675SRob Herring/ {
11724ba675SRob Herring	model = "Freescale i.MX53 Smart Mobile Reference Design Board";
12724ba675SRob Herring	compatible = "fsl,imx53-smd", "fsl,imx53";
13724ba675SRob Herring
14724ba675SRob Herring	memory@70000000 {
15724ba675SRob Herring		device_type = "memory";
16724ba675SRob Herring		reg = <0x70000000 0x40000000>;
17724ba675SRob Herring	};
18724ba675SRob Herring
19724ba675SRob Herring	gpio-keys {
20724ba675SRob Herring		compatible = "gpio-keys";
21724ba675SRob Herring
22724ba675SRob Herring		key-volume-up {
23724ba675SRob Herring			label = "Volume Up";
24724ba675SRob Herring			gpios = <&gpio2 14 0>;
25724ba675SRob Herring			linux,code = <KEY_VOLUMEUP>;
26724ba675SRob Herring		};
27724ba675SRob Herring
28724ba675SRob Herring		key-volume-down {
29724ba675SRob Herring			label = "Volume Down";
30724ba675SRob Herring			gpios = <&gpio2 15 0>;
31724ba675SRob Herring			linux,code = <KEY_VOLUMEDOWN>;
32724ba675SRob Herring		};
33724ba675SRob Herring	};
34724ba675SRob Herring};
35724ba675SRob Herring
36724ba675SRob Herring&esdhc1 {
37724ba675SRob Herring	pinctrl-names = "default";
38724ba675SRob Herring	pinctrl-0 = <&pinctrl_esdhc1>;
39724ba675SRob Herring	cd-gpios = <&gpio3 13 GPIO_ACTIVE_LOW>;
40724ba675SRob Herring	wp-gpios = <&gpio4 11 GPIO_ACTIVE_HIGH>;
41724ba675SRob Herring	status = "okay";
42724ba675SRob Herring};
43724ba675SRob Herring
44724ba675SRob Herring&esdhc2 {
45724ba675SRob Herring	pinctrl-names = "default";
46724ba675SRob Herring	pinctrl-0 = <&pinctrl_esdhc2>;
47724ba675SRob Herring	non-removable;
48724ba675SRob Herring	status = "okay";
49724ba675SRob Herring};
50724ba675SRob Herring
51724ba675SRob Herring&uart3 {
52724ba675SRob Herring	pinctrl-names = "default";
53724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart3>;
54724ba675SRob Herring	uart-has-rtscts;
55724ba675SRob Herring	status = "okay";
56724ba675SRob Herring};
57724ba675SRob Herring
58724ba675SRob Herring&ecspi1 {
59724ba675SRob Herring	pinctrl-names = "default";
60724ba675SRob Herring	pinctrl-0 = <&pinctrl_ecspi1>;
61724ba675SRob Herring	cs-gpios = <&gpio2 30 GPIO_ACTIVE_LOW>, <&gpio3 19 GPIO_ACTIVE_LOW>;
62724ba675SRob Herring	status = "okay";
63724ba675SRob Herring
64724ba675SRob Herring	zigbee: mc1323@0 {
65724ba675SRob Herring		compatible = "fsl,mc1323";
66724ba675SRob Herring		spi-max-frequency = <8000000>;
67724ba675SRob Herring		reg = <0>;
68724ba675SRob Herring	};
69724ba675SRob Herring
70*d18d74deSFabio Estevam	flash: flash@1 {
71724ba675SRob Herring		#address-cells = <1>;
72724ba675SRob Herring		#size-cells = <1>;
73*d18d74deSFabio Estevam		compatible = "st,m25p32", "jedec,spi-nor";
74724ba675SRob Herring		spi-max-frequency = <20000000>;
75724ba675SRob Herring		reg = <1>;
76724ba675SRob Herring
77724ba675SRob Herring		partition@0 {
78724ba675SRob Herring			label = "U-Boot";
79724ba675SRob Herring			reg = <0x0 0x40000>;
80724ba675SRob Herring			read-only;
81724ba675SRob Herring		};
82724ba675SRob Herring
83724ba675SRob Herring		partition@40000 {
84724ba675SRob Herring			label = "Kernel";
85724ba675SRob Herring			reg = <0x40000 0x3c0000>;
86724ba675SRob Herring		};
87724ba675SRob Herring	};
88724ba675SRob Herring};
89724ba675SRob Herring
90724ba675SRob Herring&esdhc3 {
91724ba675SRob Herring	pinctrl-names = "default";
92724ba675SRob Herring	pinctrl-0 = <&pinctrl_esdhc3>;
93724ba675SRob Herring	non-removable;
94724ba675SRob Herring	status = "okay";
95724ba675SRob Herring};
96724ba675SRob Herring
97724ba675SRob Herring&iomuxc {
98724ba675SRob Herring	pinctrl-names = "default";
99724ba675SRob Herring	pinctrl-0 = <&pinctrl_hog>;
100724ba675SRob Herring
101724ba675SRob Herring	imx53-smd {
102724ba675SRob Herring		pinctrl_hog: hoggrp {
103724ba675SRob Herring			fsl,pins = <
104724ba675SRob Herring				MX53_PAD_PATA_DATA14__GPIO2_14 0x80000000
105724ba675SRob Herring				MX53_PAD_PATA_DATA15__GPIO2_15 0x80000000
106724ba675SRob Herring				MX53_PAD_EIM_EB2__GPIO2_30     0x80000000
107724ba675SRob Herring				MX53_PAD_EIM_DA13__GPIO3_13    0x80000000
108724ba675SRob Herring				MX53_PAD_EIM_D19__GPIO3_19     0x80000000
109724ba675SRob Herring				MX53_PAD_KEY_ROW2__GPIO4_11    0x80000000
110724ba675SRob Herring				MX53_PAD_PATA_DA_0__GPIO7_6    0x80000000
111724ba675SRob Herring			>;
112724ba675SRob Herring		};
113724ba675SRob Herring
114724ba675SRob Herring		pinctrl_ecspi1: ecspi1grp {
115724ba675SRob Herring			fsl,pins = <
116724ba675SRob Herring				MX53_PAD_EIM_D16__ECSPI1_SCLK		0x80000000
117724ba675SRob Herring				MX53_PAD_EIM_D17__ECSPI1_MISO		0x80000000
118724ba675SRob Herring				MX53_PAD_EIM_D18__ECSPI1_MOSI		0x80000000
119724ba675SRob Herring			>;
120724ba675SRob Herring		};
121724ba675SRob Herring
122724ba675SRob Herring		pinctrl_esdhc1: esdhc1grp {
123724ba675SRob Herring			fsl,pins = <
124724ba675SRob Herring				MX53_PAD_SD1_DATA0__ESDHC1_DAT0		0x1d5
125724ba675SRob Herring				MX53_PAD_SD1_DATA1__ESDHC1_DAT1		0x1d5
126724ba675SRob Herring				MX53_PAD_SD1_DATA2__ESDHC1_DAT2		0x1d5
127724ba675SRob Herring				MX53_PAD_SD1_DATA3__ESDHC1_DAT3		0x1d5
128724ba675SRob Herring				MX53_PAD_SD1_CMD__ESDHC1_CMD		0x1d5
129724ba675SRob Herring				MX53_PAD_SD1_CLK__ESDHC1_CLK		0x1d5
130724ba675SRob Herring			>;
131724ba675SRob Herring		};
132724ba675SRob Herring
133724ba675SRob Herring		pinctrl_esdhc2: esdhc2grp {
134724ba675SRob Herring			fsl,pins = <
135724ba675SRob Herring				MX53_PAD_SD2_CMD__ESDHC2_CMD		0x1d5
136724ba675SRob Herring				MX53_PAD_SD2_CLK__ESDHC2_CLK		0x1d5
137724ba675SRob Herring				MX53_PAD_SD2_DATA0__ESDHC2_DAT0		0x1d5
138724ba675SRob Herring				MX53_PAD_SD2_DATA1__ESDHC2_DAT1		0x1d5
139724ba675SRob Herring				MX53_PAD_SD2_DATA2__ESDHC2_DAT2		0x1d5
140724ba675SRob Herring				MX53_PAD_SD2_DATA3__ESDHC2_DAT3		0x1d5
141724ba675SRob Herring			>;
142724ba675SRob Herring		};
143724ba675SRob Herring
144724ba675SRob Herring		pinctrl_esdhc3: esdhc3grp {
145724ba675SRob Herring			fsl,pins = <
146724ba675SRob Herring				MX53_PAD_PATA_DATA8__ESDHC3_DAT0	0x1d5
147724ba675SRob Herring				MX53_PAD_PATA_DATA9__ESDHC3_DAT1	0x1d5
148724ba675SRob Herring				MX53_PAD_PATA_DATA10__ESDHC3_DAT2	0x1d5
149724ba675SRob Herring				MX53_PAD_PATA_DATA11__ESDHC3_DAT3	0x1d5
150724ba675SRob Herring				MX53_PAD_PATA_DATA0__ESDHC3_DAT4	0x1d5
151724ba675SRob Herring				MX53_PAD_PATA_DATA1__ESDHC3_DAT5	0x1d5
152724ba675SRob Herring				MX53_PAD_PATA_DATA2__ESDHC3_DAT6	0x1d5
153724ba675SRob Herring				MX53_PAD_PATA_DATA3__ESDHC3_DAT7	0x1d5
154724ba675SRob Herring				MX53_PAD_PATA_RESET_B__ESDHC3_CMD	0x1d5
155724ba675SRob Herring				MX53_PAD_PATA_IORDY__ESDHC3_CLK		0x1d5
156724ba675SRob Herring			>;
157724ba675SRob Herring		};
158724ba675SRob Herring
159724ba675SRob Herring		pinctrl_fec: fecgrp {
160724ba675SRob Herring			fsl,pins = <
161724ba675SRob Herring				MX53_PAD_FEC_MDC__FEC_MDC		0x80000000
162724ba675SRob Herring				MX53_PAD_FEC_MDIO__FEC_MDIO		0x80000000
163724ba675SRob Herring				MX53_PAD_FEC_REF_CLK__FEC_TX_CLK	0x80000000
164724ba675SRob Herring				MX53_PAD_FEC_RX_ER__FEC_RX_ER		0x80000000
165724ba675SRob Herring				MX53_PAD_FEC_CRS_DV__FEC_RX_DV		0x80000000
166724ba675SRob Herring				MX53_PAD_FEC_RXD1__FEC_RDATA_1		0x80000000
167724ba675SRob Herring				MX53_PAD_FEC_RXD0__FEC_RDATA_0		0x80000000
168724ba675SRob Herring				MX53_PAD_FEC_TX_EN__FEC_TX_EN		0x80000000
169724ba675SRob Herring				MX53_PAD_FEC_TXD1__FEC_TDATA_1		0x80000000
170724ba675SRob Herring				MX53_PAD_FEC_TXD0__FEC_TDATA_0		0x80000000
171724ba675SRob Herring			>;
172724ba675SRob Herring		};
173724ba675SRob Herring
174724ba675SRob Herring		pinctrl_i2c1: i2c1grp {
175724ba675SRob Herring			fsl,pins = <
176724ba675SRob Herring				MX53_PAD_CSI0_DAT8__I2C1_SDA		0xc0000000
177724ba675SRob Herring				MX53_PAD_CSI0_DAT9__I2C1_SCL		0xc0000000
178724ba675SRob Herring			>;
179724ba675SRob Herring		};
180724ba675SRob Herring
181724ba675SRob Herring		pinctrl_i2c2: i2c2grp {
182724ba675SRob Herring			fsl,pins = <
183724ba675SRob Herring				MX53_PAD_KEY_ROW3__I2C2_SDA		0xc0000000
184724ba675SRob Herring				MX53_PAD_KEY_COL3__I2C2_SCL		0xc0000000
185724ba675SRob Herring			>;
186724ba675SRob Herring		};
187724ba675SRob Herring
188724ba675SRob Herring		pinctrl_ipu_csi0: ipucsi0grp {
189724ba675SRob Herring			fsl,pins = <
190724ba675SRob Herring				MX53_PAD_CSI0_DAT12__IPU_CSI0_D_12    0x1c4
191724ba675SRob Herring				MX53_PAD_CSI0_DAT13__IPU_CSI0_D_13    0x1c4
192724ba675SRob Herring				MX53_PAD_CSI0_DAT14__IPU_CSI0_D_14    0x1c4
193724ba675SRob Herring				MX53_PAD_CSI0_DAT15__IPU_CSI0_D_15    0x1c4
194724ba675SRob Herring				MX53_PAD_CSI0_DAT16__IPU_CSI0_D_16    0x1c4
195724ba675SRob Herring				MX53_PAD_CSI0_DAT17__IPU_CSI0_D_17    0x1c4
196724ba675SRob Herring				MX53_PAD_CSI0_DAT18__IPU_CSI0_D_18    0x1c4
197724ba675SRob Herring				MX53_PAD_CSI0_DAT19__IPU_CSI0_D_19    0x1c4
198724ba675SRob Herring				MX53_PAD_CSI0_PIXCLK__IPU_CSI0_PIXCLK 0x1e4
199724ba675SRob Herring				MX53_PAD_CSI0_VSYNC__IPU_CSI0_VSYNC   0x1e4
200724ba675SRob Herring				MX53_PAD_CSI0_MCLK__IPU_CSI0_HSYNC    0x1e4
201724ba675SRob Herring				MX53_PAD_CSI0_DATA_EN__IPU_CSI0_DATA_EN 0x1e4
202724ba675SRob Herring			>;
203724ba675SRob Herring		};
204724ba675SRob Herring
205724ba675SRob Herring		pinctrl_ov5642: ov5642grp {
206724ba675SRob Herring			fsl,pins = <
207724ba675SRob Herring				MX53_PAD_NANDF_WP_B__GPIO6_9   0x1e4
208724ba675SRob Herring				MX53_PAD_NANDF_RB0__GPIO6_10   0x1e4
209724ba675SRob Herring				MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK 0x1c4
210724ba675SRob Herring			>;
211724ba675SRob Herring		};
212724ba675SRob Herring
213724ba675SRob Herring		pinctrl_uart1: uart1grp {
214724ba675SRob Herring			fsl,pins = <
215724ba675SRob Herring				MX53_PAD_CSI0_DAT10__UART1_TXD_MUX	0x1e4
216724ba675SRob Herring				MX53_PAD_CSI0_DAT11__UART1_RXD_MUX	0x1e4
217724ba675SRob Herring			>;
218724ba675SRob Herring		};
219724ba675SRob Herring
220724ba675SRob Herring		pinctrl_uart2: uart2grp {
221724ba675SRob Herring			fsl,pins = <
222724ba675SRob Herring				MX53_PAD_PATA_BUFFER_EN__UART2_RXD_MUX	0x1e4
223724ba675SRob Herring				MX53_PAD_PATA_DMARQ__UART2_TXD_MUX	0x1e4
224724ba675SRob Herring			>;
225724ba675SRob Herring		};
226724ba675SRob Herring
227724ba675SRob Herring		pinctrl_uart3: uart3grp {
228724ba675SRob Herring			fsl,pins = <
229724ba675SRob Herring				MX53_PAD_PATA_CS_0__UART3_TXD_MUX	0x1e4
230724ba675SRob Herring				MX53_PAD_PATA_CS_1__UART3_RXD_MUX	0x1e4
231724ba675SRob Herring				MX53_PAD_PATA_DA_1__UART3_CTS		0x1e4
232724ba675SRob Herring				MX53_PAD_PATA_DA_2__UART3_RTS		0x1e4
233724ba675SRob Herring			>;
234724ba675SRob Herring		};
235724ba675SRob Herring	};
236724ba675SRob Herring};
237724ba675SRob Herring
238724ba675SRob Herring&uart1 {
239724ba675SRob Herring	pinctrl-names = "default";
240724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart1>;
241724ba675SRob Herring	status = "okay";
242724ba675SRob Herring};
243724ba675SRob Herring
244724ba675SRob Herring&uart2 {
245724ba675SRob Herring	pinctrl-names = "default";
246724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart2>;
247724ba675SRob Herring	status = "okay";
248724ba675SRob Herring};
249724ba675SRob Herring
250724ba675SRob Herring&i2c2 {
251724ba675SRob Herring	pinctrl-names = "default";
252724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c2>;
253724ba675SRob Herring	status = "okay";
254724ba675SRob Herring
255724ba675SRob Herring	codec: sgtl5000@a {
256724ba675SRob Herring		compatible = "fsl,sgtl5000";
257724ba675SRob Herring		reg = <0x0a>;
258724ba675SRob Herring	};
259724ba675SRob Herring
260724ba675SRob Herring	magnetometer: mag3110@e {
261724ba675SRob Herring		compatible = "fsl,mag3110";
262724ba675SRob Herring		reg = <0x0e>;
263724ba675SRob Herring	};
264724ba675SRob Herring
265724ba675SRob Herring	touchkey: mpr121@5a {
266724ba675SRob Herring		compatible = "fsl,mpr121";
267724ba675SRob Herring		reg = <0x5a>;
268724ba675SRob Herring	};
269724ba675SRob Herring};
270724ba675SRob Herring
271724ba675SRob Herring&i2c1 {
272724ba675SRob Herring	pinctrl-names = "default";
273724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c1>;
274724ba675SRob Herring	status = "okay";
275724ba675SRob Herring
276724ba675SRob Herring	accelerometer: mma8450@1c {
277724ba675SRob Herring		compatible = "fsl,mma8450";
278724ba675SRob Herring		reg = <0x1c>;
279724ba675SRob Herring	};
280724ba675SRob Herring
281724ba675SRob Herring	camera: ov5642@3c {
282724ba675SRob Herring		compatible = "ovti,ov5642";
283724ba675SRob Herring		reg = <0x3c>;
284724ba675SRob Herring		pinctrl-names = "default";
285724ba675SRob Herring		pinctrl-0 = <&pinctrl_ov5642>;
286724ba675SRob Herring		assigned-clocks = <&clks IMX5_CLK_SSI_EXT1_SEL>,
287724ba675SRob Herring				  <&clks IMX5_CLK_SSI_EXT1_COM_SEL>;
288724ba675SRob Herring		assigned-clock-parents = <&clks IMX5_CLK_PLL2_SW>,
289724ba675SRob Herring					 <&clks IMX5_CLK_SSI_EXT1_PODF>;
290724ba675SRob Herring		assigned-clock-rates = <0>, <24000000>;
291724ba675SRob Herring		clocks = <&clks IMX5_CLK_SSI_EXT1_GATE>;
292724ba675SRob Herring		clock-names = "xclk";
293724ba675SRob Herring		DVDD-supply = <&ldo9_reg>;
294724ba675SRob Herring		AVDD-supply = <&ldo7_reg>;
295724ba675SRob Herring		reset-gpios = <&gpio6 9 GPIO_ACTIVE_LOW>;
296724ba675SRob Herring		powerdown-gpios = <&gpio6 10 GPIO_ACTIVE_HIGH>;
297724ba675SRob Herring
298724ba675SRob Herring		port {
299724ba675SRob Herring			ov5642_to_ipu_csi0: endpoint {
300724ba675SRob Herring				remote-endpoint = <&ipu_csi0_from_parallel_sensor>;
301724ba675SRob Herring				bus-width = <8>;
302724ba675SRob Herring				hsync-active = <1>;
303724ba675SRob Herring				vsync-active = <1>;
304724ba675SRob Herring			};
305724ba675SRob Herring		};
306724ba675SRob Herring	};
307724ba675SRob Herring
308724ba675SRob Herring	pmic: dialog@48 {
309724ba675SRob Herring		compatible = "dlg,da9053", "dlg,da9052";
310724ba675SRob Herring		reg = <0x48>;
311724ba675SRob Herring		interrupt-parent = <&gpio7>;
312724ba675SRob Herring		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
313724ba675SRob Herring
314724ba675SRob Herring		regulators {
315724ba675SRob Herring			ldo7_reg: ldo7 {
316724ba675SRob Herring				regulator-min-microvolt = <1200000>;
317724ba675SRob Herring				regulator-max-microvolt = <3600000>;
318724ba675SRob Herring			};
319724ba675SRob Herring
320724ba675SRob Herring			ldo9_reg: ldo9 {
321724ba675SRob Herring				regulator-min-microvolt = <1250000>;
322724ba675SRob Herring				regulator-max-microvolt = <3650000>;
323724ba675SRob Herring			};
324724ba675SRob Herring		};
325724ba675SRob Herring	};
326724ba675SRob Herring};
327724ba675SRob Herring
328724ba675SRob Herring&fec {
329724ba675SRob Herring	pinctrl-names = "default";
330724ba675SRob Herring	pinctrl-0 = <&pinctrl_fec>;
331724ba675SRob Herring	phy-mode = "rmii";
332724ba675SRob Herring	phy-reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
333724ba675SRob Herring	status = "okay";
334724ba675SRob Herring};
335724ba675SRob Herring
336724ba675SRob Herring&ipu_csi0_from_parallel_sensor {
337724ba675SRob Herring	remote-endpoint = <&ov5642_to_ipu_csi0>;
338724ba675SRob Herring	data-shift = <12>; /* Lines 19:12 used */
339724ba675SRob Herring	hsync-active = <1>;
340724ba675SRob Herring	vsync-active = <1>;
341724ba675SRob Herring};
342724ba675SRob Herring
343724ba675SRob Herring&ipu_csi0 {
344724ba675SRob Herring	pinctrl-names = "default";
345724ba675SRob Herring	pinctrl-0 = <&pinctrl_ipu_csi0>;
346724ba675SRob Herring};
347