]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - board/karo/dts/tx28.dts
karo: tx6: add support for TX6 HW Rev. 3
[karo-tx-uboot.git] / board / karo / dts / tx28.dts
1 /*
2  * Copyright 2012 <LW@KARO-electronics.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 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 "mx28.dtsi"
14
15 / {
16         model = "Ka-Ro electronics TX28 module";
17         compatible = "karo,tx28", "fsl,imx28";
18
19         aliases {
20                 usbphy0 = &usbphy0;
21                 usbphy1 = &usbphy1;
22                 usbotg = &usb0;
23                 usbh1 = &usb1;
24                 can1 = &can1;
25                 ethernet0 = &mac0;
26                 ethernet1 = &mac1;
27                 ds1339 = &ds1339;
28                 pca9554 = &pca9554;
29                 stk5led = &stk5_led;
30         };
31
32         memory {
33                 reg = <0 0>;
34         };
35
36         apb@80000000 {
37                 apbh@80000000 {
38                         ssp0: ssp@80010000 {
39                                 compatible = "fsl,imx28-mmc";
40                                 pinctrl-names = "default";
41                                 pinctrl-0 = <&mmc0_4bit_pins_a
42                                              &mmc0_cd_cfg
43                                              &mmc0_sck_cfg>;
44                                 bus-width = <4>;
45                                 status = "okay";
46                         };
47
48                         pinctrl@80018000 {
49                                 pinctrl-names = "default";
50                                 pinctrl-0 = <&hog_pins_a>;
51
52                                 hog_pins_a: hog-gpios@1 {
53                                         reg = <0>;
54                                         fsl,pinmux-ids = <
55                                                 0x31b3 /* MX28_PAD_SPDIF__GPIO_3_27 */
56                                         >;
57                                         fsl,drive-strength = <0>;
58                                         fsl,voltage = <1>;
59                                         fsl,pull-up = <0>;
60                                 };
61
62                                 hog_pins_stk_v3_led: hog-gpios@0 {
63                                         reg = <0>;
64                                         fsl,pinmux-ids = <
65                                                 0x40a3 /* MX28_PAD_ENET0_RXD3__GPIO_4_10 */
66                                         >;
67                                         fsl,drive-strength = <0>;
68                                         fsl,voltage = <1>;
69                                         fsl,pull-up = <0>;
70                                 };
71
72                                 mac0_pins_gpio: mac0-gpio-mode@0 {
73                                         reg = <0>;
74                                         fsl,pinmux-ids = <
75                                                 0x4003 /* MX28_PAD_ENET0_MDC__GPIO_4_0 */
76                                                 0x4013 /* MX28_PAD_ENET0_MDIO__GPIO_4_1 */
77                                                 0x4023 /* MX28_PAD_ENET0_RX_EN__GPIO_4_2 */
78                                                 0x4033 /* MX28_PAD_ENET0_RXD0__GPIO_4_3 */
79                                                 0x4043 /* MX28_PAD_ENET0_RXD1__GPIO_4_4 */
80                                                 0x4063 /* MX28_PAD_ENET0_TX_EN__GPIO_4_6 */
81                                                 0x4073 /* MX28_PAD_ENET0_TXD0__GPIO_4_7 */
82                                                 0x4083 /* MX28_PAD_ENET0_TXD1__GPIO_4_8 */
83                                                 0x4103 /* MX28_PAD_ENET_CLK__GPIO_4_16 */
84                                         >;
85                                         fsl,drive-strength = <0>;
86                                         fsl,voltage = <1>;
87                                         fsl,pull-up = <0>;
88                                 };
89
90                                 lcdif_pins_tx28: lcdif-tx28@0 {
91                                         fsl,pinmux-ids = <
92                                                 0x1181 /* MX28_PAD_LCD_RD_E__LCD_VSYNC */
93                                                 0x1191 /* MX28_PAD_LCD_WR_RWN__LCD_HSYNC */
94                                                 0x11a1 /* MX28_PAD_LCD_RS__LCD_DOTCLK */
95                                                 0x11b1 /* MX28_PAD_LCD_CS__LCD_ENABLE */
96                                         >;
97                                         fsl,drive-strength = <0>;
98                                         fsl,voltage = <1>;
99                                         fsl,pull-up = <0>;
100                                 };
101                         };
102
103                         lcdif@80030000 {
104                                 status = "okay";
105
106                                 pinctrl-names = "default";
107                                 pinctrl-0 = <&lcdif_24bit_pins_a
108                                              &lcdif_pins_tx28>;
109                         };
110
111                         can0: can@80032000 {
112                                 status = "okay";
113
114                                 pinctrl-names = "default";
115                                 pinctrl-0 = <&can0_pins_a>;
116                                 transceiver-switch = <&flexcan_transceiver>;
117                         };
118
119                         can1: can@80034000 {
120                                 status = "okay";
121
122                                 pinctrl-names = "default";
123                                 pinctrl-0 = <&can1_pins_a>;
124                                 transceiver-switch = <&flexcan_transceiver>;
125                         };
126                 };
127
128                 apbx@80040000 {
129                         saif0: saif@80042000 {
130                                 status = "okay";
131
132                                 pinctrl-names = "default";
133                                 pinctrl-0 = <&saif0_pins_a>;
134                         };
135
136                         saif1: saif@80046000 {
137                                 status = "okay";
138
139                                 pinctrl-names = "default";
140                                 pinctrl-0 = <&saif1_pins_a>;
141                                 fsl,saif-master = <&saif0>;
142                         };
143
144                         lradc@80050000 {
145                                 status = "okay";
146                         };
147
148                         i2c0: i2c@80058000 {
149                                 status = "okay";
150
151                                 clock-frequency = <400000>;
152                                 pinctrl-names = "default";
153                                 pinctrl-0 = <&i2c0_pins_a>;
154
155                                 ds1339: rtc@68 {
156                                         compatible = "maxim,ds1339";
157                                         reg = <0x68>;
158                                 };
159
160                                 pca9554: pca953x@20 {
161                                         compatible = "nxp,pca953x";
162                                         reg = <0x20>;
163                                         interrupt-parent = <&gpio3>;
164                                         interrupts = <20>;
165                                 };
166
167                                 codec: sgtl5000@0a {
168                                         compatible = "fsl,sgtl5000";
169                                         reg = <0x0a>;
170                                         VDDA-supply = <&reg_2p5v>;
171                                         VDDIO-supply = <&reg_3p3v>;
172                                 };
173
174                                 touchscreen: tsc2007@48 {
175                                         compatible = "ti,tsc2007";
176                                         reg = <0x48>;
177                                         interrupt-parent = <&gpio3>;
178                                         interrupts = <20 0>;
179                                         pendown-gpio = <&gpio3 20 1>;
180                                         model = "2007";
181                                         x-plate-ohms = <660>;
182                                 };
183
184                                 polytouch: edt-ft5x06@ {
185                                         compatible = "edt,edt-ft5x06";
186                                         reg = <0x38>;
187                                         interrupt-parent = <&gpio2>;
188                                         interrupts = <5>;
189                                         reset-switch = <&edt_ft5x06_reset>;
190                                         wake-switch = <&edt_ft5x06_wake>;
191                                 };
192                         };
193
194                         pwm: pwm@80064000 {
195                                 status = "okay";
196
197                                 pinctrl-names = "default";
198                                 pinctrl-0 = <&pwm0_pins_a>;
199                         };
200
201                         auart1: serial@8006c000 {
202                                 status = "okay";
203
204                                 pinctrl-names = "default";
205                                 pinctrl-0 = <&auart1_pins_a>;
206                         };
207
208                         auart3: serial@80070000 {
209                                 status = "okay";
210
211                                 pinctrl-names = "default";
212                                 pinctrl-0 = <&auart3_pins_a>;
213                         };
214
215                         duart: serial@80074000 {
216                                 status = "okay";
217
218                                 pinctrl-names = "default";
219                                 pinctrl-0 = <&duart_4pins_a>;
220                         };
221
222                         usbphy0: usbphy@8007c000 {
223                                 status = "okay";
224                         };
225
226                         usbphy1: usbphy@8007e000 {
227                                 status = "okay";
228                         };
229                 };
230         };
231
232         ahb@80080000 {
233                 usb0: usb@80080000 {
234                         status = "okay";
235
236                         vbus-supply = <&reg_usb0_vbus>;
237                         pinctrl-names = "default";
238                 };
239
240                 usb1: usb@80090000 {
241                         status = "okay";
242
243                         vbus-supply = <&reg_usb1_vbus>;
244                         pinctrl-names = "default";
245                 };
246
247                 gpmi-nand@8000c000 {
248                         status = "okay";
249
250                         pinctrl-names = "default";
251                         pinctrl-0 = <&gpmi_pins_a>;
252                 };
253
254                 mac0: ethernet@800f0000 {
255                         phy-mode = "rmii";
256                         pinctrl-names = "default";
257                         pinctrl-0 = <&mac0_pins_a>;
258                         status = "okay";
259                         mac-address = [000000000000]; /* will be set bootloader */
260                 };
261
262                 mac1: ethernet@800f4000 {
263                         phy-mode = "rmii";
264                         pinctrl-names = "default";
265                         pinctrl-0 = <&mac1_pins_a>;
266                         status = "okay";
267                         mac-address = [000000000000]; /* will be set by bootloader */
268                 };
269         };
270
271         stk5_led: leds {
272                 compatible = "gpio-leds";
273
274                 user {
275                         label = "Heartbeat";
276                         pinctrl-names = "default";
277                         pinctrl-0 = <&hog_pins_stk_v3_led>;
278                         gpios = <&gpio4 10 0>;
279                         linux,default-trigger = "heartbeat";
280                 };
281         };
282
283         backlight {
284                 compatible = "pwm-backlight";
285                 pwms = <&pwm 0 5000000>;
286                 brightness-levels = <100 95 90 85 80 75 70 65 60 55
287                                       50 45 40 35 30 25 20 15 10 5 0>;
288                 default-brightness-level = <20>;
289         };
290
291         gpio-switch {
292                 compatible = "gpio-switches", "simple-bus";
293                 #address-cells = <1>;
294                 #size-cells = <0>;
295
296                 flexcan_transceiver: gpio-switch@0 {
297                         label = "flexcan transceiver switch";
298                         gpios = <&gpio1 0 1>;
299                         gpio-shared;
300                 };
301
302                 lcd_power: gpio-switch@1 {
303                         compatible = "linux,gpio-switch";
304                         gpios = <&gpio1 31 0>;
305                         label = "LCD Power Enable";
306                         init-state = <0>;
307                 };
308
309                 lcd_reset: gpio-switch@2 {
310                         compatible = "linux,gpio-switch";
311                         gpios = <&gpio3 30 1>;
312                         label = "LCD Reset";
313                         init-state = <1>;
314                 };
315
316                 edt_ft5x06_reset: gpio-switch@3 {
317                         compatible = "linux,gpio-switch";
318                         gpios = <&gpio2 6 1>;
319                         label = "EDT-FT5x06 RESET";
320                 };
321
322                 edt_ft5x06_wake: gpio-switch@4 {
323                         compatible = "linux,gpio-switch";
324                         gpios = <&gpio4 9 0>;
325                         label = "EDT-FT5x06 WAKE";
326                         init-state = <1>;
327                 };
328
329                 usbotg_vbus: gpio-switch@5 {
330                         compatible = "linux,gpio-switch";
331                         gpios = <&gpio0 18 0>;
332                         label = "USBOTG VBUS";
333                 };
334
335                 usbh1_vbus: gpio-switch@6 {
336                         compatible = "linux,gpio-switch";
337                         gpios = <&gpio3 27 0>;
338                         label = "USBH1 VBUS";
339                 };
340         };
341
342         regulators {
343                 compatible = "simple-bus";
344
345                 reg_2p5v: 2p5v {
346                         compatible = "regulator-fixed";
347                         regulator-name = "2P5V";
348                         regulator-min-microvolt = <2500000>;
349                         regulator-max-microvolt = <2500000>;
350                         regulator-always-on;
351                 };
352
353                 reg_3p3v: 3p3v {
354                         compatible = "regulator-fixed";
355                         regulator-name = "3P3V";
356                         regulator-min-microvolt = <3300000>;
357                         regulator-max-microvolt = <3300000>;
358                         regulator-always-on;
359                 };
360
361                 reg_usb0_vbus: usb0_vbus {
362                         compatible = "regulator-fixed";
363                         regulator-name = "usb0_vbus";
364                         regulator-min-microvolt = <5000000>;
365                         regulator-max-microvolt = <5000000>;
366                         gpio = <&gpio0 18 1>;
367                 };
368
369                 reg_usb1_vbus: usb1_vbus {
370                         compatible = "regulator-fixed";
371                         regulator-name = "usb1_vbus";
372                         regulator-min-microvolt = <5000000>;
373                         regulator-max-microvolt = <5000000>;
374                         gpio = <&gpio3 27 1>;
375                 };
376         };
377 };