]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/arm/boot/dts/imx28-m28evk.dts
ARM: mxs: move display timing configurations into device tree
[karo-tx-linux.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                                                 0x31c3 /* MX28_PAD_PWM3__GPIO_3_28 */
96                                                 0x30a3 /* MX28_PAD_AUART2_CTS__GPIO_3_10 */
97                                                 0x30b3 /* MX28_PAD_AUART2_RTS__GPIO_3_11 */
98                                                 0x30c3 /* MX28_PAD_AUART3_RX__GPIO_3_12 */
99                                                 0x30d3 /* MX28_PAD_AUART3_TX__GPIO_3_13 */
100                                         >;
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>;
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                                 clock-frequency = <400000>;
181                                 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
203                         lradc@80050000 {
204                                 status = "okay";
205                                 fsl,lradc-touchscreen-wires = <4>;
206                         };
207
208                         duart: serial@80074000 {
209                                 pinctrl-names = "default";
210                                 pinctrl-0 = <&duart_pins_a>;
211                                 status = "okay";
212                         };
213
214                         usbphy0: usbphy@8007c000 {
215                                 status = "okay";
216                         };
217
218                         usbphy1: usbphy@8007e000 {
219                                 status = "okay";
220                         };
221
222                         auart0: serial@8006a000 {
223                                 pinctrl-names = "default";
224                                 pinctrl-0 = <&auart0_2pins_a>;
225                                 status = "okay";
226                         };
227                 };
228         };
229
230         ahb@80080000 {
231                 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
245                 mac0: ethernet@800f0000 {
246                         phy-mode = "rmii";
247                         pinctrl-names = "default";
248                         pinctrl-0 = <&mac0_pins_a>;
249                         clocks = <&clks 57>, <&clks 57>;
250                         clock-names = "ipg", "ahb";
251                         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                 };
272
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                 };
296         };
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 };