1// SPDX-License-Identifier: GPL-2.0+
2//
3// Copyright 2011 Freescale Semiconductor, Inc.
4// Copyright 2011 Linaro Ltd.
5
6/dts-v1/;
7#include <dt-bindings/input/input.h>
8#include "imx53.dtsi"
9
10/ {
11	model = "Freescale i.MX53 Smart Mobile Reference Design Board";
12	compatible = "fsl,imx53-smd", "fsl,imx53";
13
14	memory@70000000 {
15		reg = <0x70000000 0x40000000>;
16	};
17
18	gpio-keys {
19		compatible = "gpio-keys";
20
21		volume-up {
22			label = "Volume Up";
23			gpios = <&gpio2 14 0>;
24			linux,code = <KEY_VOLUMEUP>;
25		};
26
27		volume-down {
28			label = "Volume Down";
29			gpios = <&gpio2 15 0>;
30			linux,code = <KEY_VOLUMEDOWN>;
31		};
32	};
33};
34
35&esdhc1 {
36	pinctrl-names = "default";
37	pinctrl-0 = <&pinctrl_esdhc1>;
38	cd-gpios = <&gpio3 13 GPIO_ACTIVE_LOW>;
39	wp-gpios = <&gpio4 11 GPIO_ACTIVE_HIGH>;
40	status = "okay";
41};
42
43&esdhc2 {
44	pinctrl-names = "default";
45	pinctrl-0 = <&pinctrl_esdhc2>;
46	non-removable;
47	status = "okay";
48};
49
50&uart3 {
51	pinctrl-names = "default";
52	pinctrl-0 = <&pinctrl_uart3>;
53	uart-has-rtscts;
54	status = "okay";
55};
56
57&ecspi1 {
58	pinctrl-names = "default";
59	pinctrl-0 = <&pinctrl_ecspi1>;
60	cs-gpios = <&gpio2 30 0>, <&gpio3 19 0>;
61	status = "okay";
62
63	zigbee: mc1323@0 {
64		compatible = "fsl,mc1323";
65		spi-max-frequency = <8000000>;
66		reg = <0>;
67	};
68
69	flash: m25p32@1 {
70		#address-cells = <1>;
71		#size-cells = <1>;
72		compatible = "st,m25p32", "st,m25p", "jedec,spi-nor";
73		spi-max-frequency = <20000000>;
74		reg = <1>;
75
76		partition@0 {
77			label = "U-Boot";
78			reg = <0x0 0x40000>;
79			read-only;
80		};
81
82		partition@40000 {
83			label = "Kernel";
84			reg = <0x40000 0x3c0000>;
85		};
86	};
87};
88
89&esdhc3 {
90	pinctrl-names = "default";
91	pinctrl-0 = <&pinctrl_esdhc3>;
92	non-removable;
93	status = "okay";
94};
95
96&iomuxc {
97	pinctrl-names = "default";
98	pinctrl-0 = <&pinctrl_hog>;
99
100	imx53-smd {
101		pinctrl_hog: hoggrp {
102			fsl,pins = <
103				MX53_PAD_PATA_DATA14__GPIO2_14 0x80000000
104				MX53_PAD_PATA_DATA15__GPIO2_15 0x80000000
105				MX53_PAD_EIM_EB2__GPIO2_30     0x80000000
106				MX53_PAD_EIM_DA13__GPIO3_13    0x80000000
107				MX53_PAD_EIM_D19__GPIO3_19     0x80000000
108				MX53_PAD_KEY_ROW2__GPIO4_11    0x80000000
109				MX53_PAD_PATA_DA_0__GPIO7_6    0x80000000
110			>;
111		};
112
113		pinctrl_ecspi1: ecspi1grp {
114			fsl,pins = <
115				MX53_PAD_EIM_D16__ECSPI1_SCLK		0x80000000
116				MX53_PAD_EIM_D17__ECSPI1_MISO		0x80000000
117				MX53_PAD_EIM_D18__ECSPI1_MOSI		0x80000000
118			>;
119		};
120
121		pinctrl_esdhc1: esdhc1grp {
122			fsl,pins = <
123				MX53_PAD_SD1_DATA0__ESDHC1_DAT0		0x1d5
124				MX53_PAD_SD1_DATA1__ESDHC1_DAT1		0x1d5
125				MX53_PAD_SD1_DATA2__ESDHC1_DAT2		0x1d5
126				MX53_PAD_SD1_DATA3__ESDHC1_DAT3		0x1d5
127				MX53_PAD_SD1_CMD__ESDHC1_CMD		0x1d5
128				MX53_PAD_SD1_CLK__ESDHC1_CLK		0x1d5
129			>;
130		};
131
132		pinctrl_esdhc2: esdhc2grp {
133			fsl,pins = <
134				MX53_PAD_SD2_CMD__ESDHC2_CMD		0x1d5
135				MX53_PAD_SD2_CLK__ESDHC2_CLK		0x1d5
136				MX53_PAD_SD2_DATA0__ESDHC2_DAT0		0x1d5
137				MX53_PAD_SD2_DATA1__ESDHC2_DAT1		0x1d5
138				MX53_PAD_SD2_DATA2__ESDHC2_DAT2		0x1d5
139				MX53_PAD_SD2_DATA3__ESDHC2_DAT3		0x1d5
140			>;
141		};
142
143		pinctrl_esdhc3: esdhc3grp {
144			fsl,pins = <
145				MX53_PAD_PATA_DATA8__ESDHC3_DAT0	0x1d5
146				MX53_PAD_PATA_DATA9__ESDHC3_DAT1	0x1d5
147				MX53_PAD_PATA_DATA10__ESDHC3_DAT2	0x1d5
148				MX53_PAD_PATA_DATA11__ESDHC3_DAT3	0x1d5
149				MX53_PAD_PATA_DATA0__ESDHC3_DAT4	0x1d5
150				MX53_PAD_PATA_DATA1__ESDHC3_DAT5	0x1d5
151				MX53_PAD_PATA_DATA2__ESDHC3_DAT6	0x1d5
152				MX53_PAD_PATA_DATA3__ESDHC3_DAT7	0x1d5
153				MX53_PAD_PATA_RESET_B__ESDHC3_CMD	0x1d5
154				MX53_PAD_PATA_IORDY__ESDHC3_CLK		0x1d5
155			>;
156		};
157
158		pinctrl_fec: fecgrp {
159			fsl,pins = <
160				MX53_PAD_FEC_MDC__FEC_MDC		0x80000000
161				MX53_PAD_FEC_MDIO__FEC_MDIO		0x80000000
162				MX53_PAD_FEC_REF_CLK__FEC_TX_CLK	0x80000000
163				MX53_PAD_FEC_RX_ER__FEC_RX_ER		0x80000000
164				MX53_PAD_FEC_CRS_DV__FEC_RX_DV		0x80000000
165				MX53_PAD_FEC_RXD1__FEC_RDATA_1		0x80000000
166				MX53_PAD_FEC_RXD0__FEC_RDATA_0		0x80000000
167				MX53_PAD_FEC_TX_EN__FEC_TX_EN		0x80000000
168				MX53_PAD_FEC_TXD1__FEC_TDATA_1		0x80000000
169				MX53_PAD_FEC_TXD0__FEC_TDATA_0		0x80000000
170			>;
171		};
172
173		pinctrl_i2c1: i2c1grp {
174			fsl,pins = <
175				MX53_PAD_CSI0_DAT8__I2C1_SDA		0xc0000000
176				MX53_PAD_CSI0_DAT9__I2C1_SCL		0xc0000000
177			>;
178		};
179
180		pinctrl_i2c2: i2c2grp {
181			fsl,pins = <
182				MX53_PAD_KEY_ROW3__I2C2_SDA		0xc0000000
183				MX53_PAD_KEY_COL3__I2C2_SCL		0xc0000000
184			>;
185		};
186
187		pinctrl_uart1: uart1grp {
188			fsl,pins = <
189				MX53_PAD_CSI0_DAT10__UART1_TXD_MUX	0x1e4
190				MX53_PAD_CSI0_DAT11__UART1_RXD_MUX	0x1e4
191			>;
192		};
193
194		pinctrl_uart2: uart2grp {
195			fsl,pins = <
196				MX53_PAD_PATA_BUFFER_EN__UART2_RXD_MUX	0x1e4
197				MX53_PAD_PATA_DMARQ__UART2_TXD_MUX	0x1e4
198			>;
199		};
200
201		pinctrl_uart3: uart3grp {
202			fsl,pins = <
203				MX53_PAD_PATA_CS_0__UART3_TXD_MUX	0x1e4
204				MX53_PAD_PATA_CS_1__UART3_RXD_MUX	0x1e4
205				MX53_PAD_PATA_DA_1__UART3_CTS		0x1e4
206				MX53_PAD_PATA_DA_2__UART3_RTS		0x1e4
207			>;
208		};
209	};
210};
211
212&uart1 {
213	pinctrl-names = "default";
214	pinctrl-0 = <&pinctrl_uart1>;
215	status = "okay";
216};
217
218&uart2 {
219	pinctrl-names = "default";
220	pinctrl-0 = <&pinctrl_uart2>;
221	status = "okay";
222};
223
224&i2c2 {
225	pinctrl-names = "default";
226	pinctrl-0 = <&pinctrl_i2c2>;
227	status = "okay";
228
229	codec: sgtl5000@a {
230		compatible = "fsl,sgtl5000";
231		reg = <0x0a>;
232	};
233
234	magnetometer: mag3110@e {
235		compatible = "fsl,mag3110";
236		reg = <0x0e>;
237	};
238
239	touchkey: mpr121@5a {
240		compatible = "fsl,mpr121";
241		reg = <0x5a>;
242	};
243};
244
245&i2c1 {
246	pinctrl-names = "default";
247	pinctrl-0 = <&pinctrl_i2c1>;
248	status = "okay";
249
250	accelerometer: mma8450@1c {
251		compatible = "fsl,mma8450";
252		reg = <0x1c>;
253	};
254
255	camera: ov5642@3c {
256		compatible = "ovti,ov5642";
257		reg = <0x3c>;
258	};
259
260	pmic: dialog@48 {
261		compatible = "dlg,da9053", "dlg,da9052";
262		reg = <0x48>;
263	};
264};
265
266&fec {
267	pinctrl-names = "default";
268	pinctrl-0 = <&pinctrl_fec>;
269	phy-mode = "rmii";
270	phy-reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
271	status = "okay";
272};
273