Merge tag 'ntb-3.13' of git://github.com/jonmason/ntb
[linux-drm-fsl-dcu.git] / arch / arm / boot / dts / imx28-m28evk.dts
1 /*
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 {
26                                 #address-cells = <1>;
27                                 #size-cells = <1>;
28                                 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>;
66                                 wp-gpios = <&gpio3 10 0>;
67                                 vmmc-supply = <&reg_vddio_sd0>;
68                                 status = "okay";
69                         };
70
71                         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
88                         pinctrl@80018000 {
89                                 pinctrl-names = "default";
90                                 pinctrl-0 = <&hog_pins_a>;
91
92                                 hog_pins_a: hog@0 {
93                                         reg = <0>;
94                                         fsl,pinmux-ids = <
95                                                 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
100                                         >;
101                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
102                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
103                                         fsl,pull-up = <MXS_PULL_DISABLE>;
104                                 };
105
106                                 lcdif_pins_m28: lcdif-m28@0 {
107                                         reg = <0>;
108                                         fsl,pinmux-ids = <
109                                                 MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
110                                                 MX28_PAD_LCD_ENABLE__LCD_ENABLE
111                                         >;
112                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
113                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
114                                         fsl,pull-up = <MXS_PULL_DISABLE>;
115                                 };
116                         };
117
118                         lcdif@80030000 {
119                                 pinctrl-names = "default";
120                                 pinctrl-0 = <&lcdif_24bit_pins_a
121                                              &lcdif_pins_m28>;
122                                 display = <&display>;
123                                 status = "okay";
124
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                                 };
148                         };
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>;
187                                         clocks = <&saif0>;
188                                 };
189
190                                 eeprom: eeprom@51 {
191                                         compatible = "atmel,24c128";
192                                         reg = <0x51>;
193                                         pagesize = <32>;
194                                 };
195
196                                 rtc: rtc@68 {
197                                         compatible = "stm,mt41t62";
198                                         reg = <0x68>;
199                                 };
200                         };
201
202                         lradc@80050000 {
203                                 status = "okay";
204                                 fsl,lradc-touchscreen-wires = <4>;
205                         };
206
207                         duart: serial@80074000 {
208                                 pinctrl-names = "default";
209                                 pinctrl-0 = <&duart_pins_a>;
210                                 status = "okay";
211                         };
212
213                         usbphy0: usbphy@8007c000 {
214                                 status = "okay";
215                         };
216
217                         usbphy1: usbphy@8007e000 {
218                                 status = "okay";
219                         };
220
221                         auart0: serial@8006a000 {
222                                 pinctrl-names = "default";
223                                 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>;
236                                 status = "okay";
237                         };
238
239                         pwm: pwm@80064000 {
240                                 pinctrl-names = "default";
241                                 pinctrl-0 = <&pwm4_pins_a>;
242                                 status = "okay";
243                         };
244                 };
245         };
246
247         ahb@80080000 {
248                 usb0: usb@80080000 {
249                         vbus-supply = <&reg_usb0_vbus>;
250                         pinctrl-names = "default";
251                         pinctrl-0 = <&usbphy0_pins_a>;
252                         status = "okay";
253                 };
254
255                 usb1: usb@80090000 {
256                         vbus-supply = <&reg_usb1_vbus>;
257                         pinctrl-names = "default";
258                         pinctrl-0 = <&usbphy1_pins_a>;
259                         status = "okay";
260                 };
261
262                 mac0: ethernet@800f0000 {
263                         phy-mode = "rmii";
264                         pinctrl-names = "default";
265                         pinctrl-0 = <&mac0_pins_a>;
266                         clocks = <&clks 57>, <&clks 57>;
267                         clock-names = "ipg", "ahb";
268                         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
279         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
286         regulators {
287                 compatible = "simple-bus";
288
289                 reg_3p3v: 3p3v {
290                         compatible = "regulator-fixed";
291                         regulator-name = "3P3V";
292                         regulator-min-microvolt = <3300000>;
293                         regulator-max-microvolt = <3300000>;
294                         regulator-always-on;
295                 };
296
297                 reg_vddio_sd0: vddio-sd0 {
298                         compatible = "regulator-fixed";
299                         regulator-name = "vddio-sd0";
300                         regulator-min-microvolt = <3300000>;
301                         regulator-max-microvolt = <3300000>;
302                         gpio = <&gpio3 28 0>;
303                 };
304
305                 reg_usb0_vbus: usb0_vbus {
306                         compatible = "regulator-fixed";
307                         regulator-name = "usb0_vbus";
308                         regulator-min-microvolt = <5000000>;
309                         regulator-max-microvolt = <5000000>;
310                         gpio = <&gpio3 12 0>;
311                 };
312
313                 reg_usb1_vbus: usb1_vbus {
314                         compatible = "regulator-fixed";
315                         regulator-name = "usb1_vbus";
316                         regulator-min-microvolt = <5000000>;
317                         regulator-max-microvolt = <5000000>;
318                         gpio = <&gpio3 13 0>;
319                 };
320         };
321
322         sound {
323                 compatible = "denx,m28evk-sgtl5000",
324                              "fsl,mxs-audio-sgtl5000";
325                 model = "m28evk-sgtl5000";
326                 saif-controllers = <&saif0 &saif1>;
327                 audio-codec = <&sgtl5000>;
328         };
329 };