blob: f0ad7b9b9d9a1617eeb64d2d42a1dae872642f32 [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/;
Lothar Waßmannbc3875f2013-09-19 08:59:48 +020013#include "imx28.dtsi"
Marek Vasut8fa62e12012-07-07 21:21:38 +080014
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 = <
Lothar Waßmannbc3875f2013-09-19 08:59:48 +020095 MX28_PAD_PWM3__GPIO_3_28
96 MX28_PAD_AUART2_CTS__GPIO_3_10
97 MX28_PAD_AUART2_RTS__GPIO_3_11
98 MX28_PAD_AUART3_RX__GPIO_3_12
99 MX28_PAD_AUART3_TX__GPIO_3_13
Marek Vasut8fa62e12012-07-07 21:21:38 +0800100 >;
Lothar Waßmann4191c342013-09-22 14:02:59 +0800101 fsl,drive-strength = <MXS_DRIVE_4mA>;
102 fsl,voltage = <MXS_VOLTAGE_HIGH>;
103 fsl,pull-up = <MXS_PULL_DISABLE>;
Marek Vasut8fa62e12012-07-07 21:21:38 +0800104 };
105
106 lcdif_pins_m28: lcdif-m28@0 {
107 reg = <0>;
108 fsl,pinmux-ids = <
Lothar Waßmannbc3875f2013-09-19 08:59:48 +0200109 MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
110 MX28_PAD_LCD_ENABLE__LCD_ENABLE
Marek Vasut8fa62e12012-07-07 21:21:38 +0800111 >;
Lothar Waßmann4191c342013-09-22 14:02:59 +0800112 fsl,drive-strength = <MXS_DRIVE_4mA>;
113 fsl,voltage = <MXS_VOLTAGE_HIGH>;
114 fsl,pull-up = <MXS_PULL_DISABLE>;
Marek Vasut8fa62e12012-07-07 21:21:38 +0800115 };
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>;
180 status = "okay";
181
182 sgtl5000: codec@0a {
183 compatible = "fsl,sgtl5000";
184 reg = <0x0a>;
185 VDDA-supply = <&reg_3p3v>;
186 VDDIO-supply = <&reg_3p3v>;
Shawn Guo66acaf32013-07-01 15:46:05 +0800187 clocks = <&saif0>;
Marek Vasut8fa62e12012-07-07 21:21:38 +0800188 };
189
190 eeprom: eeprom@51 {
191 compatible = "atmel,24c128";
192 reg = <0x51>;
193 pagesize = <32>;
194 };
195
196 rtc: rtc@68 {
Marek Vasut3048fa32014-01-24 00:23:36 +0100197 compatible = "stm,m41t62";
Marek Vasut8fa62e12012-07-07 21:21:38 +0800198 reg = <0x68>;
199 };
200 };
201
Marek Vasut91ed4932012-08-26 14:59:31 +0200202 lradc@80050000 {
203 status = "okay";
Marek Vasutda021ee2013-01-12 00:35:08 +0100204 fsl,lradc-touchscreen-wires = <4>;
Marek Vasut91ed4932012-08-26 14:59:31 +0200205 };
206
Marek Vasut8fa62e12012-07-07 21:21:38 +0800207 duart: serial@80074000 {
208 pinctrl-names = "default";
209 pinctrl-0 = <&duart_pins_a>;
210 status = "okay";
211 };
212
Marek Vasut91ed4932012-08-26 14:59:31 +0200213 usbphy0: usbphy@8007c000 {
214 status = "okay";
215 };
216
217 usbphy1: usbphy@8007e000 {
218 status = "okay";
219 };
220
Marek Vasut8fa62e12012-07-07 21:21:38 +0800221 auart0: serial@8006a000 {
222 pinctrl-names = "default";
Marek Vasut56924ad2013-05-10 14:26:35 +0200223 pinctrl-0 = <&auart0_pins_a>;
224 status = "okay";
225 };
226
227 auart1: serial@8006c000 {
228 pinctrl-names = "default";
229 pinctrl-0 = <&auart1_pins_a>;
230 status = "okay";
231 };
232
233 auart2: serial@8006e000 {
234 pinctrl-names = "default";
235 pinctrl-0 = <&auart2_2pins_b>;
Marek Vasut8fa62e12012-07-07 21:21:38 +0800236 status = "okay";
237 };
Marek Vasutdb3b9ba2013-07-11 21:30:16 +0200238
239 pwm: pwm@80064000 {
240 pinctrl-names = "default";
241 pinctrl-0 = <&pwm4_pins_a>;
242 status = "okay";
243 };
Marek Vasut8fa62e12012-07-07 21:21:38 +0800244 };
245 };
246
247 ahb@80080000 {
Marek Vasut91ed4932012-08-26 14:59:31 +0200248 usb0: usb@80080000 {
249 vbus-supply = <&reg_usb0_vbus>;
250 pinctrl-names = "default";
Michael Grzeschikc8e42bc2013-12-06 15:56:40 +0100251 pinctrl-0 = <&usb0_pins_a>;
Marek Vasut91ed4932012-08-26 14:59:31 +0200252 status = "okay";
253 };
254
255 usb1: usb@80090000 {
256 vbus-supply = <&reg_usb1_vbus>;
257 pinctrl-names = "default";
Michael Grzeschikc8e42bc2013-12-06 15:56:40 +0100258 pinctrl-0 = <&usb1_pins_a>;
Marek Vasut91ed4932012-08-26 14:59:31 +0200259 status = "okay";
260 };
261
Marek Vasut8fa62e12012-07-07 21:21:38 +0800262 mac0: ethernet@800f0000 {
263 phy-mode = "rmii";
264 pinctrl-names = "default";
265 pinctrl-0 = <&mac0_pins_a>;
Wolfram Sangf231a9f2013-01-29 15:46:12 +0100266 clocks = <&clks 57>, <&clks 57>;
267 clock-names = "ipg", "ahb";
Marek Vasut8fa62e12012-07-07 21:21:38 +0800268 status = "okay";
269 };
270
271 mac1: ethernet@800f4000 {
272 phy-mode = "rmii";
273 pinctrl-names = "default";
274 pinctrl-0 = <&mac1_pins_a>;
275 status = "okay";
276 };
277 };
278
Marek Vasutdb3b9ba2013-07-11 21:30:16 +0200279 backlight {
280 compatible = "pwm-backlight";
281 pwms = <&pwm 4 5000000>;
282 brightness-levels = <0 4 8 16 32 64 128 255>;
283 default-brightness-level = <6>;
284 };
285
Marek Vasut8fa62e12012-07-07 21:21:38 +0800286 regulators {
287 compatible = "simple-bus";
Shawn Guo352d3182014-02-07 23:18:30 +0800288 #address-cells = <1>;
289 #size-cells = <0>;
Marek Vasut8fa62e12012-07-07 21:21:38 +0800290
Shawn Guo352d3182014-02-07 23:18:30 +0800291 reg_3p3v: regulator@0 {
Marek Vasut8fa62e12012-07-07 21:21:38 +0800292 compatible = "regulator-fixed";
Shawn Guo352d3182014-02-07 23:18:30 +0800293 reg = <0>;
Marek Vasut8fa62e12012-07-07 21:21:38 +0800294 regulator-name = "3P3V";
295 regulator-min-microvolt = <3300000>;
296 regulator-max-microvolt = <3300000>;
297 regulator-always-on;
298 };
Marek Vasut91ed4932012-08-26 14:59:31 +0200299
Shawn Guo352d3182014-02-07 23:18:30 +0800300 reg_vddio_sd0: regulator@1 {
Marek Vasut91ed4932012-08-26 14:59:31 +0200301 compatible = "regulator-fixed";
Shawn Guo352d3182014-02-07 23:18:30 +0800302 reg = <1>;
Marek Vasut91ed4932012-08-26 14:59:31 +0200303 regulator-name = "vddio-sd0";
304 regulator-min-microvolt = <3300000>;
305 regulator-max-microvolt = <3300000>;
306 gpio = <&gpio3 28 0>;
307 };
308
Shawn Guo352d3182014-02-07 23:18:30 +0800309 reg_usb0_vbus: regulator@2 {
Marek Vasut91ed4932012-08-26 14:59:31 +0200310 compatible = "regulator-fixed";
Shawn Guo352d3182014-02-07 23:18:30 +0800311 reg = <2>;
Marek Vasut91ed4932012-08-26 14:59:31 +0200312 regulator-name = "usb0_vbus";
313 regulator-min-microvolt = <5000000>;
314 regulator-max-microvolt = <5000000>;
315 gpio = <&gpio3 12 0>;
316 };
317
Shawn Guo352d3182014-02-07 23:18:30 +0800318 reg_usb1_vbus: regulator@3 {
Marek Vasut91ed4932012-08-26 14:59:31 +0200319 compatible = "regulator-fixed";
Shawn Guo352d3182014-02-07 23:18:30 +0800320 reg = <3>;
Marek Vasut91ed4932012-08-26 14:59:31 +0200321 regulator-name = "usb1_vbus";
322 regulator-min-microvolt = <5000000>;
323 regulator-max-microvolt = <5000000>;
324 gpio = <&gpio3 13 0>;
325 };
Marek Vasut8fa62e12012-07-07 21:21:38 +0800326 };
327
328 sound {
329 compatible = "denx,m28evk-sgtl5000",
330 "fsl,mxs-audio-sgtl5000";
331 model = "m28evk-sgtl5000";
332 saif-controllers = <&saif0 &saif1>;
333 audio-codec = <&sgtl5000>;
334 };
335};