blob: 5f0ba99aa809d4c8309c80520bd7aa2be67e164e [file] [log] [blame]
Marek Vasut8fa62e12012-07-07 21:21:38 +08001/*
2 * Copyright (C) 2012 Marek Vasut <marex@denx.de>
3 *
4 * The code contained herein is licensed under the GNU General Public
5 * License. You may obtain a copy of the GNU General Public License
6 * Version 2 or later at the following locations:
7 *
8 * http://www.opensource.org/licenses/gpl-license.html
9 * http://www.gnu.org/copyleft/gpl.html
10 */
11
12/dts-v1/;
13/include/ "imx28.dtsi"
14
15/ {
16 model = "DENX M28EVK";
17 compatible = "denx,m28evk", "fsl,imx28";
18
19 memory {
20 reg = <0x40000000 0x08000000>;
21 };
22
23 apb@80000000 {
24 apbh@80000000 {
25 gpmi-nand@8000c000 {
Marek Vasut91ed4932012-08-26 14:59:31 +020026 #address-cells = <1>;
27 #size-cells = <1>;
Marek Vasut8fa62e12012-07-07 21:21:38 +080028 pinctrl-names = "default";
29 pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
30 status = "okay";
31
32 partition@0 {
33 label = "bootloader";
34 reg = <0x00000000 0x00300000>;
35 read-only;
36 };
37
38 partition@1 {
39 label = "environment";
40 reg = <0x00300000 0x00080000>;
41 };
42
43 partition@2 {
44 label = "redundant-environment";
45 reg = <0x00380000 0x00080000>;
46 };
47
48 partition@3 {
49 label = "kernel";
50 reg = <0x00400000 0x00400000>;
51 };
52
53 partition@4 {
54 label = "filesystem";
55 reg = <0x00800000 0x0f800000>;
56 };
57 };
58
59 ssp0: ssp@80010000 {
60 compatible = "fsl,imx28-mmc";
61 pinctrl-names = "default";
62 pinctrl-0 = <&mmc0_8bit_pins_a
63 &mmc0_cd_cfg
64 &mmc0_sck_cfg>;
65 bus-width = <8>;
Marek Vasutacd3b692012-09-05 04:56:56 +020066 wp-gpios = <&gpio3 10 0>;
Marek Vasut91ed4932012-08-26 14:59:31 +020067 vmmc-supply = <&reg_vddio_sd0>;
Marek Vasut8fa62e12012-07-07 21:21:38 +080068 status = "okay";
69 };
70
Marek Vasut91ed4932012-08-26 14:59:31 +020071 ssp2: ssp@80014000 {
72 #address-cells = <1>;
73 #size-cells = <0>;
74 compatible = "fsl,imx28-spi";
75 pinctrl-names = "default";
76 pinctrl-0 = <&spi2_pins_a>;
77 status = "okay";
78
79 flash: m25p80@0 {
80 #address-cells = <1>;
81 #size-cells = <1>;
82 compatible = "m25p80";
83 spi-max-frequency = <40000000>;
84 reg = <0>;
85 };
86 };
87
Marek Vasut8fa62e12012-07-07 21:21:38 +080088 pinctrl@80018000 {
89 pinctrl-names = "default";
90 pinctrl-0 = <&hog_pins_a>;
91
Fabio Estevame0e35b42012-08-22 13:25:31 -030092 hog_pins_a: hog@0 {
Marek Vasut8fa62e12012-07-07 21:21:38 +080093 reg = <0>;
94 fsl,pinmux-ids = <
Marek Vasut91ed4932012-08-26 14:59:31 +020095 0x31c3 /* MX28_PAD_PWM3__GPIO_3_28 */
Marek Vasut8fa62e12012-07-07 21:21:38 +080096 0x30a3 /* MX28_PAD_AUART2_CTS__GPIO_3_10 */
97 0x30b3 /* MX28_PAD_AUART2_RTS__GPIO_3_11 */
Marek Vasut91ed4932012-08-26 14:59:31 +020098 0x30c3 /* MX28_PAD_AUART3_RX__GPIO_3_12 */
99 0x30d3 /* MX28_PAD_AUART3_TX__GPIO_3_13 */
Marek Vasut8fa62e12012-07-07 21:21:38 +0800100 >;
101 fsl,drive-strength = <0>;
102 fsl,voltage = <1>;
103 fsl,pull-up = <0>;
104 };
105
106 lcdif_pins_m28: lcdif-m28@0 {
107 reg = <0>;
108 fsl,pinmux-ids = <
109 0x11e0 /* MX28_PAD_LCD_DOTCLK__LCD_DOTCLK */
110 0x11f0 /* MX28_PAD_LCD_ENABLE__LCD_ENABLE */
111 >;
112 fsl,drive-strength = <0>;
113 fsl,voltage = <1>;
114 fsl,pull-up = <0>;
115 };
116 };
117
118 lcdif@80030000 {
119 pinctrl-names = "default";
120 pinctrl-0 = <&lcdif_24bit_pins_a
121 &lcdif_pins_m28>;
Shawn Guo0d9f8212013-03-14 11:37:15 +0800122 display = <&display>;
Marek Vasut8fa62e12012-07-07 21:21:38 +0800123 status = "okay";
Shawn Guo0d9f8212013-03-14 11:37:15 +0800124
125 display: display {
126 bits-per-pixel = <16>;
127 bus-width = <18>;
128
129 display-timings {
130 native-mode = <&timing0>;
131 timing0: timing0 {
132 clock-frequency = <33260000>;
133 hactive = <800>;
134 vactive = <480>;
135 hback-porch = <0>;
136 hfront-porch = <256>;
137 vback-porch = <0>;
138 vfront-porch = <45>;
139 hsync-len = <1>;
140 vsync-len = <1>;
141 hsync-active = <0>;
142 vsync-active = <0>;
143 de-active = <1>;
144 pixelclk-active = <1>;
145 };
146 };
147 };
Marek Vasut8fa62e12012-07-07 21:21:38 +0800148 };
149
150 can0: can@80032000 {
151 pinctrl-names = "default";
152 pinctrl-0 = <&can0_pins_a>;
153 status = "okay";
154 };
155
156 can1: can@80034000 {
157 pinctrl-names = "default";
158 pinctrl-0 = <&can1_pins_a>;
159 status = "okay";
160 };
161 };
162
163 apbx@80040000 {
164 saif0: saif@80042000 {
165 pinctrl-names = "default";
166 pinctrl-0 = <&saif0_pins_a>;
167 status = "okay";
168 };
169
170 saif1: saif@80046000 {
171 pinctrl-names = "default";
172 pinctrl-0 = <&saif1_pins_a>;
173 fsl,saif-master = <&saif0>;
174 status = "okay";
175 };
176
177 i2c0: i2c@80058000 {
178 pinctrl-names = "default";
179 pinctrl-0 = <&i2c0_pins_a>;
Marek Vasut91ed4932012-08-26 14:59:31 +0200180 clock-frequency = <400000>;
Marek Vasut8fa62e12012-07-07 21:21:38 +0800181 status = "okay";
182
183 sgtl5000: codec@0a {
184 compatible = "fsl,sgtl5000";
185 reg = <0x0a>;
186 VDDA-supply = <&reg_3p3v>;
187 VDDIO-supply = <&reg_3p3v>;
188
189 };
190
191 eeprom: eeprom@51 {
192 compatible = "atmel,24c128";
193 reg = <0x51>;
194 pagesize = <32>;
195 };
196
197 rtc: rtc@68 {
198 compatible = "stm,mt41t62";
199 reg = <0x68>;
200 };
201 };
202
Marek Vasut91ed4932012-08-26 14:59:31 +0200203 lradc@80050000 {
204 status = "okay";
Marek Vasutda021ee2013-01-12 00:35:08 +0100205 fsl,lradc-touchscreen-wires = <4>;
Marek Vasut91ed4932012-08-26 14:59:31 +0200206 };
207
Marek Vasut8fa62e12012-07-07 21:21:38 +0800208 duart: serial@80074000 {
209 pinctrl-names = "default";
210 pinctrl-0 = <&duart_pins_a>;
211 status = "okay";
212 };
213
Marek Vasut91ed4932012-08-26 14:59:31 +0200214 usbphy0: usbphy@8007c000 {
215 status = "okay";
216 };
217
218 usbphy1: usbphy@8007e000 {
219 status = "okay";
220 };
221
Marek Vasut8fa62e12012-07-07 21:21:38 +0800222 auart0: serial@8006a000 {
223 pinctrl-names = "default";
224 pinctrl-0 = <&auart0_2pins_a>;
225 status = "okay";
226 };
Marek Vasut8fa62e12012-07-07 21:21:38 +0800227 };
228 };
229
230 ahb@80080000 {
Marek Vasut91ed4932012-08-26 14:59:31 +0200231 usb0: usb@80080000 {
232 vbus-supply = <&reg_usb0_vbus>;
233 pinctrl-names = "default";
234 pinctrl-0 = <&usbphy0_pins_a>;
235 status = "okay";
236 };
237
238 usb1: usb@80090000 {
239 vbus-supply = <&reg_usb1_vbus>;
240 pinctrl-names = "default";
241 pinctrl-0 = <&usbphy1_pins_a>;
242 status = "okay";
243 };
244
Marek Vasut8fa62e12012-07-07 21:21:38 +0800245 mac0: ethernet@800f0000 {
246 phy-mode = "rmii";
247 pinctrl-names = "default";
248 pinctrl-0 = <&mac0_pins_a>;
Wolfram Sangf231a9fe2013-01-29 15:46:12 +0100249 clocks = <&clks 57>, <&clks 57>;
250 clock-names = "ipg", "ahb";
Marek Vasut8fa62e12012-07-07 21:21:38 +0800251 status = "okay";
252 };
253
254 mac1: ethernet@800f4000 {
255 phy-mode = "rmii";
256 pinctrl-names = "default";
257 pinctrl-0 = <&mac1_pins_a>;
258 status = "okay";
259 };
260 };
261
262 regulators {
263 compatible = "simple-bus";
264
265 reg_3p3v: 3p3v {
266 compatible = "regulator-fixed";
267 regulator-name = "3P3V";
268 regulator-min-microvolt = <3300000>;
269 regulator-max-microvolt = <3300000>;
270 regulator-always-on;
271 };
Marek Vasut91ed4932012-08-26 14:59:31 +0200272
273 reg_vddio_sd0: vddio-sd0 {
274 compatible = "regulator-fixed";
275 regulator-name = "vddio-sd0";
276 regulator-min-microvolt = <3300000>;
277 regulator-max-microvolt = <3300000>;
278 gpio = <&gpio3 28 0>;
279 };
280
281 reg_usb0_vbus: usb0_vbus {
282 compatible = "regulator-fixed";
283 regulator-name = "usb0_vbus";
284 regulator-min-microvolt = <5000000>;
285 regulator-max-microvolt = <5000000>;
286 gpio = <&gpio3 12 0>;
287 };
288
289 reg_usb1_vbus: usb1_vbus {
290 compatible = "regulator-fixed";
291 regulator-name = "usb1_vbus";
292 regulator-min-microvolt = <5000000>;
293 regulator-max-microvolt = <5000000>;
294 gpio = <&gpio3 13 0>;
295 };
Marek Vasut8fa62e12012-07-07 21:21:38 +0800296 };
297
298 sound {
299 compatible = "denx,m28evk-sgtl5000",
300 "fsl,mxs-audio-sgtl5000";
301 model = "m28evk-sgtl5000";
302 saif-controllers = <&saif0 &saif1>;
303 audio-codec = <&sgtl5000>;
304 };
305};