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