]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - board/karo/dts/tx53.dts
510df4e78f6bfcedb7d956cf243289dc0b557151
[karo-tx-uboot.git] / board / karo / dts / tx53.dts
1 /*
2  * Copyright 2012 <LW@KARO-electronics.de>
3  * based on imx53-qsb.dts
4  *   Copyright 2011 Freescale Semiconductor, Inc.
5  *   Copyright 2011 Linaro Ltd.
6  *
7  * The code contained herein is licensed under the GNU General Public
8  * License. You may obtain a copy of the GNU General Public License
9  * Version 2 at the following locations:
10  *
11  * http://www.opensource.org/licenses/gpl-license.html
12  * http://www.gnu.org/copyleft/gpl.html
13  */
14
15 #undef linux
16
17 /dts-v1/;
18 /include/ ARCH_CPU_DTS
19
20 / {
21         model = "Ka-Ro electronics TX53 module";
22         compatible = "karo,tx53", "fsl,imx53";
23
24         chosen {
25                 bootargs = "init=/linuxrc console=ttymxc0,115200 root=/dev/mtdblock4 rootfstype=jffs2 ro debug panic=1";
26         };
27
28         aliases {
29                 ipu = &ipu;
30         };
31
32         clocks {
33                 ckih1 {
34                         clock-frequency = <0>;
35                 };
36         };
37
38         soc {
39                 extmc: extmc@00000000 {
40                         sata: sata@10000000 {
41                                 status = "okay";
42                         };
43
44                         ipu: ipu@1e000000 {
45                                 status = "okay";
46                         };
47                 };
48
49                 aips1: aips@50000000 { /* AIPS1 */
50                         spba@50000000 {
51                                 mmc0: esdhc@50004000 { /* ESDHC1 */
52                                         status = "okay";
53                                         cd-gpios = <&gpio3 24 0>;
54                                         fsl,wp-controller;
55                                         status = "okay";
56                                 };
57
58                                 mmc1: esdhc@50008000 { /* ESDHC2 */
59                                         status = "okay";
60                                         cd-gpios = <&gpio3 25 0>;
61                                         fsl,wp-controller;
62                                 };
63
64                                 uart3: uart@5000c000 {
65                                         status = "okay";
66                                         pinctrl-names = "default";
67                                         pinctrl-0 = <&pinctrl_uart3_1>;
68                                         fsl,uart-has-rtscts;
69                                 };
70
71                                 spi0: ecspi@50010000 { /* ECSPI1 */
72                                         status = "okay";
73
74                                         pinctrl-names = "default";
75                                         pinctrl-0 = <
76                                                 &pinctrl_ecspi1_1
77                                                 &pinctrl_cspi1_cs
78                                         >;
79
80                                         fsl,spi-num-chipselects = <2>;
81                                         cs-gpios = <&gpio2 30 0 &gpio3 19 0>;
82
83                                         spidev0: spi@0 {
84                                                 compatible = "spidev";
85                                                 reg = <0>;
86                                                 spi-max-frequency = <54000000>;
87                                         };
88                                 };
89                         };
90
91                         usbotg: imxotg@53f80000 {
92                                 status = "okay";
93
94                                 ignore-overcurrent;
95                                 enable-wakeup;
96                                 vbus-gpio = <&usbotg_vbus>;
97                         };
98
99                         usbh1: imxotg@53f80200 {
100                                 status = "okay";
101
102                                 ignore-overcurrent;
103                                 enable-wakeup;
104                                 vbus-gpio = <&usbh1_vbus>;
105                         };
106
107                         usbphy: imx-usb-phy@53f80800 {
108                                 status = "okay";
109
110                                 device-ports = <&usbotg>;
111                                 host-ports = <&usbotg &usbh1>;
112                         };
113
114                         keypad@53f94000 {
115                                 status = "okay";
116                                 /* sample keymap */
117                                 /* row/col 0,1 are mapped to KPP row/col 6,7 */
118                                 linux,keymap = < 0x06060074 /* row 6, col 6, KEY_POWER */
119                                                  0x06070052 /* row 6, col 7, KEY_KP0 */
120                                                  0x0602004f /* row 6, col 2, KEY_KP1 */
121                                                  0x06030050 /* row 6, col 3, KEY_KP2 */
122                                                  0x07060051 /* row 7, col 6, KEY_KP3 */
123                                                  0x0707004b /* row 7, col 7, KEY_KP4 */
124                                                  0x0702004c /* row 7, col 2, KEY_KP5 */
125                                                  0x0703004d /* row 7, col 3, KEY_KP6 */
126                                                  0x02060047 /* row 2, col 6, KEY_KP7 */
127                                                  0x02070048 /* row 2, col 7, KEY_KP8 */
128                                                  0x02020049 /* row 2, col 2, KEY_KP9 */
129                                                  >;
130                         };
131
132                         wdog@53f98000 { /* WDOG1 */
133                                 status = "okay";
134                         };
135
136                         iomuxc@53fa8000 {
137                                 compatible = "fsl,imx53-iomuxc-tx53";
138
139                                 pinctrl-names = "default";
140
141                                 pincontroller {
142                                         pinctrl_stk5_led: stk5-led-gpios {
143                                                 fsl,pins = <
144                                                         589 0xc0 /* MX53_PAD_EIM_A18__GPIO2_20 */
145                                                 >;
146                                         };
147
148                                         pinctrl_ds1339_int: ds1339-gpios {
149                                                 fsl,pins = <
150                                                         104 0xe0 /* MX53_PAD_DI0_PIN4__GPIO4_20 */
151                                                 >;
152                                         };
153
154                                         pinctrl_cspi1_cs: cspi1-cs-gpios {
155                                                 fsl,pins = <
156                                                         424 0xe0 /* MX53_PAD_EIM_EB2__GPIO2_30 */
157                                                         449 0xe0 /* MX53_PAD_EIM_D19__GPIO3_19 */
158                                                 >;
159                                         };
160
161                                         pinctrl_esdhc1_cd: esdhc1-cd-gpios {
162                                                 fsl,pins = <
163                                                         501 0x1f0 /* MX53_PAD_EIM_D25__GPIO3_25 */
164                                                 >;
165                                         };
166
167                                         pinctrl_esdhc2_cd: esdhc2-cd-gpios {
168                                                 fsl,pins = <
169                                                         517 0x1f0 /* MX53_PAD_EIM_D27__GPIO3_27 */
170                                                 >;
171                                         };
172                                 };
173                         };
174
175                         pwm2: pwm@53fb8000 {
176                                 status = "okay";
177                         };
178
179                         uart1: uart@53fbc000 {
180                                 status = "okay";
181                                 pinctrl-names = "default";
182                                 pinctrl-0 = <&pinctrl_uart1_2>;
183                                 fsl,uart-has-rtscts;
184                         };
185
186                         uart2: uart@53fc0000 {
187                                 status = "okay";
188                                 pinctrl-names = "default";
189                                 pinctrl-0 = <&pinctrl_uart2_1>;
190                                 fsl,uart-has-rtscts;
191                         };
192
193                         can1: flexcan@53fc8000 {
194                                 status = "okay";
195                                 transceiver-switch = <&flexcan_transceiver>;
196                         };
197
198                         can2: flexcan@53fcc000 {
199                                 status = "okay";
200                                 transceiver-switch = <&flexcan_transceiver>;
201                         };
202
203                         i2c@53fec000 { /* I2C3 */
204                                 status = "okay";
205
206                                 pinctrl-names = "default";
207                                 pinctrl-0 = <&pinctrl_i2c3_1>;
208
209                                 sgtl5000: sgtl5000@0a {
210                                         compatible = "fsl,sgtl5000";
211                                         reg = <0x0a>;
212                                         VDDA-supply = <&reg_2p5v>;
213                                         VDDIO-supply = <&reg_3p3v>;
214                                         clock-frequency = <26000000>;
215                                 };
216
217                                 touchscreen: tsc2007@48 {
218                                         compatible = "ti,tsc2007";
219                                         reg = <0x48>;
220                                         interrupt-parent = <&gpio3>;
221                                         interrupts = <26 0>;
222                                         pendown-gpio = <&gpio3 26 1>;
223                                         model = "2007";
224                                         x-plate-ohms = <660>;
225                                 };
226
227                                 polytouch: edt-ft5x06@ {
228                                         compatible = "edt,edt-ft5x06";
229                                         reg = <0x38>;
230                                         interrupt-parent = <&gpio6>;
231                                         interrupts = <15 0>;
232                                         reset-switch = <&edt_ft5x06_reset>;
233                                         wake-switch = <&edt_ft5x06_wake>;
234                                 };
235                         };
236                 };
237
238                 aips2: aips@60000000 {  /* AIPS2 */
239
240                         sdma@63fb0000 {
241                                 fsl,sdma-ram-script-name = "sdma-imx53.bin";
242                         };
243
244                         i2c@63fc8000 { /* I2C1 */
245                                 status = "okay";
246
247                                 pinctrl-names = "default";
248                                 pinctrl-0 = <
249                                         &pinctrl_i2c1_2
250                                         &pinctrl_ds1339_int
251                                 >;
252
253                                 rtc1: ds1339@68 {
254                                         compatible = "dallas,ds1339";
255                                         reg = <0x68>;
256                                         trickle-charge = <0xa5>;
257                                         interrupt-parent = <&gpio4>;
258                                         interrupts = <20 0>;
259                                 };
260
261                                 pmic: lt3589@48 {
262                                         compatible = "lt,lt3589";
263                                         reg = <0x48>;
264                                 };
265                         };
266
267                         ssi@63fcc000 {
268                                 status = "okay";
269                                 rx-dma = <28>;
270                                 tx-dma = <29>;
271                                 i2s-sync-mode;
272                         };
273
274                         ssi@50014000 {
275                                 status = "okay";
276                         };
277
278                         audmux@63fd0000 {
279                                 status = "okay";
280
281                                 pinctrl-names = "default";
282                                 pinctrl-0 = <&pinctrl_audmux_1>;
283                         };
284
285                         nand@63fdb000 {
286                                 status = "okay";
287
288                                 nand-bus-width = <8>;
289                                 nand-ecc-mode = "hw";
290                                 nand-on-flash-bbt;
291                         };
292
293                         ethernet@63fec000 {
294                                 status = "okay";
295
296                                 pinctrl-names = "default";
297                                 pinctrl-0 = <&pinctrl_fec_1>;
298
299                                 phy-mode = "rmii";
300                                 phy-reset-gpios = <&gpio7 6 0>;
301                                 phy-handle = <&phy0>;
302                                 mac-address = [000000000000];
303
304                                 phy0: ethernet-phy@0 {
305                                         interrupt-parent = <&gpio2>;
306                                         interrupts = <4>;
307                                         device_type = "ethernet-phy";
308                                 };
309                         };
310                 };
311         };
312
313         sound {
314                 compatible = "karo,tx53x-audio-sgtl5000", "fsl,imx-audio-sgtl5000";
315                 status = "okay";
316                 model = "tx53x-audio-sgtl5000";
317                 ssi-controller = <&ssi1>;
318                 audio-codec = <&sgtl5000>;
319                 audio-routing =
320                         "MIC_IN", "Mic Jack",
321                         "Mic Jack", "Mic Bias",
322                         "Headphone Jack", "HP_OUT";
323                 /* '1' based port numbers according to datasheet names */
324                 mux-int-port = <1>;
325                 mux-ext-port = <5>;
326         };
327
328         gpio-switch {
329                 compatible = "gpio-switches", "simple-bus";
330                 #address-cells = <1>;
331                 #size-cells = <0>;
332
333                 flexcan_transceiver: gpio-switch@0 {
334                         compatible = "linux,gpio-switch";
335                         gpio = <&gpio4 21 1>;
336                         label = "Flexcan Transceiver Enable";
337                         gpio-shared;
338                         init-state = <0>;
339                 };
340
341                 lcd_power: gpio-switch@1 {
342                         compatible = "linux,gpio-switch";
343                         gpio = <&gpio2 31 0>;
344                         label = "LCD Power Enable";
345                         init-state = <0>;
346                 };
347
348                 lcd_reset: gpio-switch@2 {
349                         compatible = "linux,gpio-switch";
350                         gpio = <&gpio3 29 1>;
351                         label = "LCD Reset";
352                         init-state = <1>;
353                 };
354
355                 edt_ft5x06_reset: gpio-switch@3 {
356                         compatible = "linux,gpio-switch";
357                         gpio = <&gpio2 22 1>;
358                         label = "EDT-FT5x06 RESET";
359                 };
360
361                 edt_ft5x06_wake: gpio-switch@4 {
362                         compatible = "linux,gpio-switch";
363                         gpio = <&gpio2 21 0>;
364                         label = "EDT-FT5x06 WAKE";
365                         init-state = <1>;
366                 };
367
368                 usbotg_vbus: gpio-switch@5 {
369                         compatible = "linux,gpio-switch";
370                         gpio = <&gpio1 7 0>;
371                         label = "USBOTG VBUS";
372                 };
373
374                 usbh1_vbus: gpio-switch@6 {
375                         compatible = "linux,gpio-switch";
376                         gpio = <&gpio3 31 0>;
377                         label = "USBH1 VBUS";
378                 };
379         };
380
381         leds {
382                 compatible = "gpio-leds";
383
384                 pinctrl-names = "default";
385                 pinctrl-0 = <&pinctrl_stk5_led>;
386
387                 user {
388                         label = "Heartbeat";
389                         gpios = <&gpio2 20 0>;
390                         linux,default-trigger = "heartbeat";
391                 };
392         };
393
394         lcd {
395                 compatible = "of-gpio-lcd";
396                 parent = <&ipu>;
397
398                 power-switch = <&lcd_power>;
399 /*
400                 reset-switch = <&lcd_reset>;
401                 reset-delay-us = <300>;
402 */
403         };
404
405         backlight: pwm-backlight {
406                 compatible = "pwm-backlight";
407
408                 pwm = <&pwm2>;
409                 inverted;
410                 max-brightness = <100>;
411                 dft-brightness = <50>;
412                 pwm-period-ns = <1000000>;
413         };
414
415         regulators {
416                 compatible = "simple-bus";
417
418                 reg_2p5v: 2p5v {
419                         compatible = "regulator-fixed";
420                         regulator-name = "2P5V";
421                         regulator-min-microvolt = <2500000>;
422                         regulator-max-microvolt = <2500000>;
423                         regulator-always-on;
424                 };
425
426                 reg_3p3v: 3p3v {
427                         compatible = "regulator-fixed";
428                         regulator-name = "3P3V";
429                         regulator-min-microvolt = <3300000>;
430                         regulator-max-microvolt = <3300000>;
431                         regulator-always-on;
432                 };
433         };
434 };