]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - arch/arm/boot/dts/imx28-evk.dts
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi...
[karo-tx-linux.git] / arch / arm / boot / dts / imx28-evk.dts
1 /*
2  * Copyright 2012 Freescale Semiconductor, Inc.
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 = "Freescale i.MX28 Evaluation Kit";
17         compatible = "fsl,imx28-evk", "fsl,imx28";
18
19         memory {
20                 reg = <0x40000000 0x08000000>;
21         };
22
23         apb@80000000 {
24                 apbh@80000000 {
25                         gpmi-nand@8000c000 {
26                                 pinctrl-names = "default";
27                                 pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg
28                                              &gpmi_pins_evk>;
29                                 status = "okay";
30                         };
31
32                         ssp0: ssp@80010000 {
33                                 compatible = "fsl,imx28-mmc";
34                                 pinctrl-names = "default";
35                                 pinctrl-0 = <&mmc0_8bit_pins_a
36                                         &mmc0_cd_cfg &mmc0_sck_cfg>;
37                                 bus-width = <8>;
38                                 wp-gpios = <&gpio2 12 0>;
39                                 vmmc-supply = <&reg_vddio_sd0>;
40                                 status = "okay";
41                         };
42
43                         ssp1: ssp@80012000 {
44                                 compatible = "fsl,imx28-mmc";
45                                 bus-width = <8>;
46                                 wp-gpios = <&gpio0 28 0>;
47                         };
48
49                         ssp2: ssp@80014000 {
50                                 #address-cells = <1>;
51                                 #size-cells = <0>;
52                                 compatible = "fsl,imx28-spi";
53                                 pinctrl-names = "default";
54                                 pinctrl-0 = <&spi2_pins_a>;
55                                 status = "okay";
56
57                                 flash: m25p80@0 {
58                                         #address-cells = <1>;
59                                         #size-cells = <1>;
60                                         compatible = "sst,sst25vf016b", "jedec,spi-nor";
61                                         spi-max-frequency = <40000000>;
62                                         reg = <0>;
63                                 };
64                         };
65
66                         pinctrl@80018000 {
67                                 pinctrl-names = "default";
68                                 pinctrl-0 = <&hog_pins_a>;
69
70                                 hog_pins_a: hog@0 {
71                                         reg = <0>;
72                                         fsl,pinmux-ids = <
73                                                 MX28_PAD_SSP1_CMD__GPIO_2_13
74                                                 MX28_PAD_SSP1_DATA3__GPIO_2_15
75                                                 MX28_PAD_ENET0_RX_CLK__GPIO_4_13
76                                                 MX28_PAD_SSP1_SCK__GPIO_2_12
77                                                 MX28_PAD_PWM3__GPIO_3_28
78                                                 MX28_PAD_LCD_RESET__GPIO_3_30
79                                                 MX28_PAD_AUART2_RX__GPIO_3_8
80                                                 MX28_PAD_AUART2_TX__GPIO_3_9
81                                         >;
82                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
83                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
84                                         fsl,pull-up = <MXS_PULL_DISABLE>;
85                                 };
86
87                                 led_pin_gpio3_5: led_gpio3_5@0 {
88                                         reg = <0>;
89                                         fsl,pinmux-ids = <
90                                                 MX28_PAD_AUART1_TX__GPIO_3_5
91                                         >;
92                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
93                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
94                                         fsl,pull-up = <MXS_PULL_DISABLE>;
95                                 };
96
97                                 gpmi_pins_evk: gpmi-nand-evk@0 {
98                                         reg = <0>;
99                                         fsl,pinmux-ids = <
100                                                 MX28_PAD_GPMI_CE1N__GPMI_CE1N
101                                                 MX28_PAD_GPMI_RDY1__GPMI_READY1
102                                         >;
103                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
104                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
105                                         fsl,pull-up = <MXS_PULL_DISABLE>;
106                                 };
107
108                                 lcdif_pins_evk: lcdif-evk@0 {
109                                         reg = <0>;
110                                         fsl,pinmux-ids = <
111                                                 MX28_PAD_LCD_RD_E__LCD_VSYNC
112                                                 MX28_PAD_LCD_WR_RWN__LCD_HSYNC
113                                                 MX28_PAD_LCD_RS__LCD_DOTCLK
114                                                 MX28_PAD_LCD_CS__LCD_ENABLE
115                                         >;
116                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
117                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
118                                         fsl,pull-up = <MXS_PULL_DISABLE>;
119                                 };
120                         };
121
122                         lcdif@80030000 {
123                                 pinctrl-names = "default";
124                                 pinctrl-0 = <&lcdif_24bit_pins_a
125                                              &lcdif_pins_evk>;
126                                 lcd-supply = <&reg_lcd_3v3>;
127                                 display = <&display0>;
128                                 status = "okay";
129
130                                 display0: display0 {
131                                         bits-per-pixel = <32>;
132                                         bus-width = <24>;
133
134                                         display-timings {
135                                                 native-mode = <&timing0>;
136                                                 timing0: timing0 {
137                                                         clock-frequency = <33500000>;
138                                                         hactive = <800>;
139                                                         vactive = <480>;
140                                                         hback-porch = <89>;
141                                                         hfront-porch = <164>;
142                                                         vback-porch = <23>;
143                                                         vfront-porch = <10>;
144                                                         hsync-len = <10>;
145                                                         vsync-len = <10>;
146                                                         hsync-active = <0>;
147                                                         vsync-active = <0>;
148                                                         de-active = <1>;
149                                                         pixelclk-active = <0>;
150                                                 };
151                                         };
152                                 };
153                         };
154
155                         can0: can@80032000 {
156                                 pinctrl-names = "default";
157                                 pinctrl-0 = <&can0_pins_a>;
158                                 xceiver-supply = <&reg_can_3v3>;
159                                 status = "okay";
160                         };
161
162                         can1: can@80034000 {
163                                 pinctrl-names = "default";
164                                 pinctrl-0 = <&can1_pins_a>;
165                                 xceiver-supply = <&reg_can_3v3>;
166                                 status = "okay";
167                         };
168                 };
169
170                 apbx@80040000 {
171                         saif0: saif@80042000 {
172                                 pinctrl-names = "default";
173                                 pinctrl-0 = <&saif0_pins_a>;
174                                 status = "okay";
175                         };
176
177                         saif1: saif@80046000 {
178                                 pinctrl-names = "default";
179                                 pinctrl-0 = <&saif1_pins_a>;
180                                 fsl,saif-master = <&saif0>;
181                                 status = "okay";
182                         };
183
184                         lradc@80050000 {
185                                 status = "okay";
186                                 fsl,lradc-touchscreen-wires = <4>;
187                                 fsl,ave-ctrl = <4>;
188                                 fsl,ave-delay = <2>;
189                                 fsl,settling = <10>;
190                         };
191
192                         i2c0: i2c@80058000 {
193                                 pinctrl-names = "default";
194                                 pinctrl-0 = <&i2c0_pins_a>;
195                                 status = "okay";
196
197                                 sgtl5000: codec@0a {
198                                         compatible = "fsl,sgtl5000";
199                                         reg = <0x0a>;
200                                         VDDA-supply = <&reg_3p3v>;
201                                         VDDIO-supply = <&reg_3p3v>;
202                                         clocks = <&saif0>;
203                                 };
204
205                                 at24@51 {
206                                         compatible = "atmel,24c32";
207                                         pagesize = <32>;
208                                         reg = <0x51>;
209                                 };
210                         };
211
212                         pwm: pwm@80064000 {
213                                 pinctrl-names = "default";
214                                 pinctrl-0 = <&pwm2_pins_a>;
215                                 status = "okay";
216                         };
217
218                         duart: serial@80074000 {
219                                 pinctrl-names = "default";
220                                 pinctrl-0 = <&duart_pins_a>;
221                                 status = "okay";
222                         };
223
224                         auart0: serial@8006a000 {
225                                 pinctrl-names = "default";
226                                 pinctrl-0 = <&auart0_pins_a>;
227                                 uart-has-rtscts;
228                                 status = "okay";
229                         };
230
231                         auart3: serial@80070000 {
232                                 pinctrl-names = "default";
233                                 pinctrl-0 = <&auart3_pins_a>;
234                                 status = "okay";
235                         };
236
237                         usbphy0: usbphy@8007c000 {
238                                 status = "okay";
239                         };
240
241                         usbphy1: usbphy@8007e000 {
242                                 status = "okay";
243                         };
244                 };
245         };
246
247         ahb@80080000 {
248                 usb0: usb@80080000 {
249                         pinctrl-names = "default";
250                         pinctrl-0 = <&usb0_id_pins_a>;
251                         vbus-supply = <&reg_usb0_vbus>;
252                         status = "okay";
253                 };
254
255                 usb1: usb@80090000 {
256                         vbus-supply = <&reg_usb1_vbus>;
257                         status = "okay";
258                 };
259
260                 mac0: ethernet@800f0000 {
261                         phy-mode = "rmii";
262                         pinctrl-names = "default";
263                         pinctrl-0 = <&mac0_pins_a>;
264                         phy-supply = <&reg_fec_3v3>;
265                         phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>;
266                         phy-reset-duration = <100>;
267                         status = "okay";
268                 };
269
270                 mac1: ethernet@800f4000 {
271                         phy-mode = "rmii";
272                         pinctrl-names = "default";
273                         pinctrl-0 = <&mac1_pins_a>;
274                         status = "okay";
275                 };
276         };
277
278         regulators {
279                 compatible = "simple-bus";
280                 #address-cells = <1>;
281                 #size-cells = <0>;
282
283                 reg_3p3v: regulator@0 {
284                         compatible = "regulator-fixed";
285                         reg = <0>;
286                         regulator-name = "3P3V";
287                         regulator-min-microvolt = <3300000>;
288                         regulator-max-microvolt = <3300000>;
289                         regulator-always-on;
290                 };
291
292                 reg_vddio_sd0: regulator@1 {
293                         compatible = "regulator-fixed";
294                         reg = <1>;
295                         regulator-name = "vddio-sd0";
296                         regulator-min-microvolt = <3300000>;
297                         regulator-max-microvolt = <3300000>;
298                         gpio = <&gpio3 28 0>;
299                 };
300
301                 reg_fec_3v3: regulator@2 {
302                         compatible = "regulator-fixed";
303                         reg = <2>;
304                         regulator-name = "fec-3v3";
305                         regulator-min-microvolt = <3300000>;
306                         regulator-max-microvolt = <3300000>;
307                         gpio = <&gpio2 15 0>;
308                 };
309
310                 reg_usb0_vbus: regulator@3 {
311                         compatible = "regulator-fixed";
312                         reg = <3>;
313                         regulator-name = "usb0_vbus";
314                         regulator-min-microvolt = <5000000>;
315                         regulator-max-microvolt = <5000000>;
316                         gpio = <&gpio3 9 0>;
317                         enable-active-high;
318                 };
319
320                 reg_usb1_vbus: regulator@4 {
321                         compatible = "regulator-fixed";
322                         reg = <4>;
323                         regulator-name = "usb1_vbus";
324                         regulator-min-microvolt = <5000000>;
325                         regulator-max-microvolt = <5000000>;
326                         gpio = <&gpio3 8 0>;
327                         enable-active-high;
328                 };
329
330                 reg_lcd_3v3: regulator@5 {
331                         compatible = "regulator-fixed";
332                         reg = <5>;
333                         regulator-name = "lcd-3v3";
334                         regulator-min-microvolt = <3300000>;
335                         regulator-max-microvolt = <3300000>;
336                         gpio = <&gpio3 30 0>;
337                         enable-active-high;
338                 };
339
340                 reg_can_3v3: regulator@6 {
341                         compatible = "regulator-fixed";
342                         reg = <6>;
343                         regulator-name = "can-3v3";
344                         regulator-min-microvolt = <3300000>;
345                         regulator-max-microvolt = <3300000>;
346                         gpio = <&gpio2 13 0>;
347                         enable-active-high;
348                 };
349
350         };
351
352         sound {
353                 compatible = "fsl,imx28-evk-sgtl5000",
354                              "fsl,mxs-audio-sgtl5000";
355                 model = "imx28-evk-sgtl5000";
356                 saif-controllers = <&saif0 &saif1>;
357                 audio-codec = <&sgtl5000>;
358         };
359
360         leds {
361                 compatible = "gpio-leds";
362                 pinctrl-names = "default";
363                 pinctrl-0 = <&led_pin_gpio3_5>;
364
365                 user {
366                         label = "Heartbeat";
367                         gpios = <&gpio3 5 0>;
368                         linux,default-trigger = "heartbeat";
369                 };
370         };
371
372         backlight {
373                 compatible = "pwm-backlight";
374                 pwms = <&pwm 2 5000000>;
375                 brightness-levels = <0 4 8 16 32 64 128 255>;
376                 default-brightness-level = <6>;
377         };
378 };