]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - arch/arm/boot/dts/am335x-evmsk.dts
ARM: dts: am335x-evmsk: Add vtt_fixed regulator
[karo-tx-linux.git] / arch / arm / boot / dts / am335x-evmsk.dts
1 /*
2  * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  */
8
9 /*
10  * AM335x Starter Kit
11  * http://www.ti.com/tool/tmdssk3358
12  */
13
14 /dts-v1/;
15
16 #include "am33xx.dtsi"
17 #include <dt-bindings/pwm/pwm.h>
18
19 / {
20         model = "TI AM335x EVM-SK";
21         compatible = "ti,am335x-evmsk", "ti,am33xx";
22
23         cpus {
24                 cpu@0 {
25                         cpu0-supply = <&vdd1_reg>;
26                 };
27         };
28
29         memory {
30                 device_type = "memory";
31                 reg = <0x80000000 0x10000000>; /* 256 MB */
32         };
33
34         vbat: fixedregulator@0 {
35                 compatible = "regulator-fixed";
36                 regulator-name = "vbat";
37                 regulator-min-microvolt = <5000000>;
38                 regulator-max-microvolt = <5000000>;
39                 regulator-boot-on;
40         };
41
42         lis3_reg: fixedregulator@1 {
43                 compatible = "regulator-fixed";
44                 regulator-name = "lis3_reg";
45                 regulator-boot-on;
46         };
47
48         wl12xx_vmmc: fixedregulator@2 {
49                 pinctrl-names = "default";
50                 pinctrl-0 = <&wl12xx_gpio>;
51                 compatible = "regulator-fixed";
52                 regulator-name = "vwl1271";
53                 regulator-min-microvolt = <1800000>;
54                 regulator-max-microvolt = <1800000>;
55                 gpio = <&gpio1 29 0>;
56                 startup-delay-us = <70000>;
57                 enable-active-high;
58         };
59
60         vtt_fixed: fixedregulator@3 {
61                 compatible = "regulator-fixed";
62                 regulator-name = "vtt";
63                 regulator-min-microvolt = <1500000>;
64                 regulator-max-microvolt = <1500000>;
65                 gpio = <&gpio0 7 GPIO_ACTIVE_HIGH>;
66                 regulator-always-on;
67                 regulator-boot-on;
68                 enable-active-high;
69         };
70
71         leds {
72                 pinctrl-names = "default";
73                 pinctrl-0 = <&user_leds_s0>;
74
75                 compatible = "gpio-leds";
76
77                 led@1 {
78                         label = "evmsk:green:usr0";
79                         gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
80                         default-state = "off";
81                 };
82
83                 led@2 {
84                         label = "evmsk:green:usr1";
85                         gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
86                         default-state = "off";
87                 };
88
89                 led@3 {
90                         label = "evmsk:green:mmc0";
91                         gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
92                         linux,default-trigger = "mmc0";
93                         default-state = "off";
94                 };
95
96                 led@4 {
97                         label = "evmsk:green:heartbeat";
98                         gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
99                         linux,default-trigger = "heartbeat";
100                         default-state = "off";
101                 };
102         };
103
104         gpio_buttons: gpio_buttons@0 {
105                 compatible = "gpio-keys";
106                 #address-cells = <1>;
107                 #size-cells = <0>;
108
109                 switch@1 {
110                         label = "button0";
111                         linux,code = <0x100>;
112                         gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
113                 };
114
115                 switch@2 {
116                         label = "button1";
117                         linux,code = <0x101>;
118                         gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
119                 };
120
121                 switch@3 {
122                         label = "button2";
123                         linux,code = <0x102>;
124                         gpios = <&gpio0 30 GPIO_ACTIVE_HIGH>;
125                         gpio-key,wakeup;
126                 };
127
128                 switch@4 {
129                         label = "button3";
130                         linux,code = <0x103>;
131                         gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
132                 };
133         };
134
135         backlight {
136                 compatible = "pwm-backlight";
137                 pwms = <&ecap2 0 50000 PWM_POLARITY_INVERTED>;
138                 brightness-levels = <0 58 61 66 75 90 125 170 255>;
139                 default-brightness-level = <8>;
140         };
141
142         sound {
143                 compatible = "ti,da830-evm-audio";
144                 ti,model = "AM335x-EVMSK";
145                 ti,audio-codec = <&tlv320aic3106>;
146                 ti,mcasp-controller = <&mcasp1>;
147                 ti,codec-clock-rate = <24000000>;
148                 ti,audio-routing =
149                         "Headphone Jack",       "HPLOUT",
150                         "Headphone Jack",       "HPROUT";
151         };
152 };
153
154 &am33xx_pinmux {
155         pinctrl-names = "default";
156         pinctrl-0 = <&gpio_keys_s0 &clkout2_pin>;
157
158         user_leds_s0: user_leds_s0 {
159                 pinctrl-single,pins = <
160                         0x10 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)  /* gpmc_ad4.gpio1_4 */
161                         0x14 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)  /* gpmc_ad5.gpio1_5 */
162                         0x18 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)  /* gpmc_ad6.gpio1_6 */
163                         0x1c (PIN_OUTPUT_PULLDOWN | MUX_MODE7)  /* gpmc_ad7.gpio1_7 */
164                 >;
165         };
166
167         gpio_keys_s0: gpio_keys_s0 {
168                 pinctrl-single,pins = <
169                         0x94 (PIN_INPUT_PULLDOWN | MUX_MODE7)   /* gpmc_oen_ren.gpio2_3 */
170                         0x90 (PIN_INPUT_PULLDOWN | MUX_MODE7)   /* gpmc_advn_ale.gpio2_2 */
171                         0x70 (PIN_INPUT_PULLDOWN | MUX_MODE7)   /* gpmc_wait0.gpio0_30 */
172                         0x9c (PIN_INPUT_PULLDOWN | MUX_MODE7)   /* gpmc_ben0_cle.gpio2_5 */
173                 >;
174         };
175
176         i2c0_pins: pinmux_i2c0_pins {
177                 pinctrl-single,pins = <
178                         0x188 (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c0_sda.i2c0_sda */
179                         0x18c (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c0_scl.i2c0_scl */
180                 >;
181         };
182
183         uart0_pins: pinmux_uart0_pins {
184                 pinctrl-single,pins = <
185                         0x170 (PIN_INPUT_PULLUP | MUX_MODE0)    /* uart0_rxd.uart0_rxd */
186                         0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)         /* uart0_txd.uart0_txd */
187                 >;
188         };
189
190         clkout2_pin: pinmux_clkout2_pin {
191                 pinctrl-single,pins = <
192                         0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3)         /* xdma_event_intr1.clkout2 */
193                 >;
194         };
195
196         ecap2_pins: backlight_pins {
197                 pinctrl-single,pins = <
198                         0x19c 0x4       /* mcasp0_ahclkr.ecap2_in_pwm2_out MODE4 */
199                 >;
200         };
201
202         cpsw_default: cpsw_default {
203                 pinctrl-single,pins = <
204                         /* Slave 1 */
205                         0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.rgmii1_tctl */
206                         0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2)  /* mii1_rxdv.rgmii1_rctl */
207                         0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd3.rgmii1_td3 */
208                         0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd2.rgmii1_td2 */
209                         0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_td1 */
210                         0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_td0 */
211                         0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txclk.rgmii1_tclk */
212                         0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2)  /* mii1_rxclk.rgmii1_rclk */
213                         0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2)  /* mii1_rxd3.rgmii1_rd3 */
214                         0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2)  /* mii1_rxd2.rgmii1_rd2 */
215                         0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2)  /* mii1_rxd1.rgmii1_rd1 */
216                         0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2)  /* mii1_rxd0.rgmii1_rd0 */
217
218                         /* Slave 2 */
219                         0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)  /* gpmc_a0.rgmii2_tctl */
220                         0x44 (PIN_INPUT_PULLDOWN | MUX_MODE2)   /* gpmc_a1.rgmii2_rctl */
221                         0x48 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)  /* gpmc_a2.rgmii2_td3 */
222                         0x4c (PIN_OUTPUT_PULLDOWN | MUX_MODE2)  /* gpmc_a3.rgmii2_td2 */
223                         0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)  /* gpmc_a4.rgmii2_td1 */
224                         0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)  /* gpmc_a5.rgmii2_td0 */
225                         0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE2)  /* gpmc_a6.rgmii2_tclk */
226                         0x5c (PIN_INPUT_PULLDOWN | MUX_MODE2)   /* gpmc_a7.rgmii2_rclk */
227                         0x60 (PIN_INPUT_PULLDOWN | MUX_MODE2)   /* gpmc_a8.rgmii2_rd3 */
228                         0x64 (PIN_INPUT_PULLDOWN | MUX_MODE2)   /* gpmc_a9.rgmii2_rd2 */
229                         0x68 (PIN_INPUT_PULLDOWN | MUX_MODE2)   /* gpmc_a10.rgmii2_rd1 */
230                         0x6c (PIN_INPUT_PULLDOWN | MUX_MODE2)   /* gpmc_a11.rgmii2_rd0 */
231                 >;
232         };
233
234         cpsw_sleep: cpsw_sleep {
235                 pinctrl-single,pins = <
236                         /* Slave 1 reset value */
237                         0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
238                         0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
239                         0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
240                         0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
241                         0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
242                         0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
243                         0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
244                         0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
245                         0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
246                         0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
247                         0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
248                         0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
249
250                         /* Slave 2 reset value*/
251                         0x40 (PIN_INPUT_PULLDOWN | MUX_MODE7)
252                         0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7)
253                         0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7)
254                         0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7)
255                         0x50 (PIN_INPUT_PULLDOWN | MUX_MODE7)
256                         0x54 (PIN_INPUT_PULLDOWN | MUX_MODE7)
257                         0x58 (PIN_INPUT_PULLDOWN | MUX_MODE7)
258                         0x5c (PIN_INPUT_PULLDOWN | MUX_MODE7)
259                         0x60 (PIN_INPUT_PULLDOWN | MUX_MODE7)
260                         0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7)
261                         0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7)
262                         0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7)
263                 >;
264         };
265
266         davinci_mdio_default: davinci_mdio_default {
267                 pinctrl-single,pins = <
268                         /* MDIO */
269                         0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)    /* mdio_data.mdio_data */
270                         0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0)                   /* mdio_clk.mdio_clk */
271                 >;
272         };
273
274         davinci_mdio_sleep: davinci_mdio_sleep {
275                 pinctrl-single,pins = <
276                         /* MDIO reset value */
277                         0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
278                         0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
279                 >;
280         };
281
282         mmc1_pins: pinmux_mmc1_pins {
283                 pinctrl-single,pins = <
284                         0x160 (PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */
285                 >;
286         };
287
288         mcasp1_pins: mcasp1_pins {
289                 pinctrl-single,pins = <
290                         0x10c (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_crs.mcasp1_aclkx */
291                         0x110 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* mii1_rxerr.mcasp1_fsx */
292                         0x108 (PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* mii1_col.mcasp1_axr2 */
293                         0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */
294                 >;
295         };
296
297         mmc2_pins: pinmux_mmc2_pins {
298                 pinctrl-single,pins = <
299                         0x74 (PIN_INPUT_PULLUP | MUX_MODE7) /* gpmc_wpn.gpio0_31 */
300                         0x80 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */
301                         0x84 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */
302                         0x00 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
303                         0x04 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
304                         0x08 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
305                         0x0c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
306                 >;
307         };
308
309         wl12xx_gpio: pinmux_wl12xx_gpio {
310                 pinctrl-single,pins = <
311                         0x7c (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_csn0.gpio1_29 */
312                 >;
313         };
314 };
315
316 &uart0 {
317         pinctrl-names = "default";
318         pinctrl-0 = <&uart0_pins>;
319
320         status = "okay";
321 };
322
323 &i2c0 {
324         pinctrl-names = "default";
325         pinctrl-0 = <&i2c0_pins>;
326
327         status = "okay";
328         clock-frequency = <400000>;
329
330         tps: tps@2d {
331                 reg = <0x2d>;
332         };
333
334         lis331dlh: lis331dlh@18 {
335                 compatible = "st,lis331dlh", "st,lis3lv02d";
336                 reg = <0x18>;
337                 Vdd-supply = <&lis3_reg>;
338                 Vdd_IO-supply = <&lis3_reg>;
339
340                 st,click-single-x;
341                 st,click-single-y;
342                 st,click-single-z;
343                 st,click-thresh-x = <10>;
344                 st,click-thresh-y = <10>;
345                 st,click-thresh-z = <10>;
346                 st,irq1-click;
347                 st,irq2-click;
348                 st,wakeup-x-lo;
349                 st,wakeup-x-hi;
350                 st,wakeup-y-lo;
351                 st,wakeup-y-hi;
352                 st,wakeup-z-lo;
353                 st,wakeup-z-hi;
354                 st,min-limit-x = <120>;
355                 st,min-limit-y = <120>;
356                 st,min-limit-z = <140>;
357                 st,max-limit-x = <550>;
358                 st,max-limit-y = <550>;
359                 st,max-limit-z = <750>;
360         };
361
362         tlv320aic3106: tlv320aic3106@1b {
363                 compatible = "ti,tlv320aic3106";
364                 reg = <0x1b>;
365                 status = "okay";
366
367                 /* Regulators */
368                 AVDD-supply = <&vaux2_reg>;
369                 IOVDD-supply = <&vaux2_reg>;
370                 DRVDD-supply = <&vaux2_reg>;
371                 DVDD-supply = <&vbat>;
372         };
373 };
374
375 &usb {
376         status = "okay";
377 };
378
379 &usb_ctrl_mod {
380         status = "okay";
381 };
382
383 &usb0_phy {
384         status = "okay";
385 };
386
387 &usb1_phy {
388         status = "okay";
389 };
390
391 &usb0 {
392         status = "okay";
393 };
394
395 &usb1 {
396         status = "okay";
397         dr_mode = "host";
398 };
399
400 &cppi41dma  {
401         status = "okay";
402 };
403
404 &epwmss2 {
405         status = "okay";
406
407         ecap2: ecap@48304100 {
408                 status = "okay";
409                 pinctrl-names = "default";
410                 pinctrl-0 = <&ecap2_pins>;
411         };
412 };
413
414 #include "tps65910.dtsi"
415
416 &tps {
417         vcc1-supply = <&vbat>;
418         vcc2-supply = <&vbat>;
419         vcc3-supply = <&vbat>;
420         vcc4-supply = <&vbat>;
421         vcc5-supply = <&vbat>;
422         vcc6-supply = <&vbat>;
423         vcc7-supply = <&vbat>;
424         vccio-supply = <&vbat>;
425
426         regulators {
427                 vrtc_reg: regulator@0 {
428                         regulator-always-on;
429                 };
430
431                 vio_reg: regulator@1 {
432                         regulator-always-on;
433                 };
434
435                 vdd1_reg: regulator@2 {
436                         /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
437                         regulator-name = "vdd_mpu";
438                         regulator-min-microvolt = <912500>;
439                         regulator-max-microvolt = <1312500>;
440                         regulator-boot-on;
441                         regulator-always-on;
442                 };
443
444                 vdd2_reg: regulator@3 {
445                         /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
446                         regulator-name = "vdd_core";
447                         regulator-min-microvolt = <912500>;
448                         regulator-max-microvolt = <1150000>;
449                         regulator-boot-on;
450                         regulator-always-on;
451                 };
452
453                 vdd3_reg: regulator@4 {
454                         regulator-always-on;
455                 };
456
457                 vdig1_reg: regulator@5 {
458                         regulator-always-on;
459                 };
460
461                 vdig2_reg: regulator@6 {
462                         regulator-always-on;
463                 };
464
465                 vpll_reg: regulator@7 {
466                         regulator-always-on;
467                 };
468
469                 vdac_reg: regulator@8 {
470                         regulator-always-on;
471                 };
472
473                 vaux1_reg: regulator@9 {
474                         regulator-always-on;
475                 };
476
477                 vaux2_reg: regulator@10 {
478                         regulator-always-on;
479                 };
480
481                 vaux33_reg: regulator@11 {
482                         regulator-always-on;
483                 };
484
485                 vmmc_reg: regulator@12 {
486                         regulator-min-microvolt = <1800000>;
487                         regulator-max-microvolt = <3300000>;
488                         regulator-always-on;
489                 };
490         };
491 };
492
493 &mac {
494         pinctrl-names = "default", "sleep";
495         pinctrl-0 = <&cpsw_default>;
496         pinctrl-1 = <&cpsw_sleep>;
497         dual_emac = <1>;
498 };
499
500 &davinci_mdio {
501         pinctrl-names = "default", "sleep";
502         pinctrl-0 = <&davinci_mdio_default>;
503         pinctrl-1 = <&davinci_mdio_sleep>;
504 };
505
506 &cpsw_emac0 {
507         phy_id = <&davinci_mdio>, <0>;
508         phy-mode = "rgmii-txid";
509         dual_emac_res_vlan = <1>;
510 };
511
512 &cpsw_emac1 {
513         phy_id = <&davinci_mdio>, <1>;
514         phy-mode = "rgmii-txid";
515         dual_emac_res_vlan = <2>;
516 };
517
518 &mmc1 {
519         status = "okay";
520         vmmc-supply = <&vmmc_reg>;
521         bus-width = <4>;
522         pinctrl-names = "default";
523         pinctrl-0 = <&mmc1_pins>;
524         cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
525 };
526
527 &sham {
528         status = "okay";
529 };
530
531 &aes {
532         status = "okay";
533 };
534
535 &gpio0 {
536         ti,no-reset-on-init;
537 };
538
539 &mmc2 {
540         status = "okay";
541         vmmc-supply = <&wl12xx_vmmc>;
542         ti,non-removable;
543         bus-width = <4>;
544         cap-power-off-card;
545         pinctrl-names = "default";
546         pinctrl-0 = <&mmc2_pins>;
547 };
548
549 &mcasp1 {
550                 pinctrl-names = "default";
551                 pinctrl-0 = <&mcasp1_pins>;
552
553                 status = "okay";
554
555                 op-mode = <0>;          /* MCASP_IIS_MODE */
556                 tdm-slots = <2>;
557                 /* 4 serializers */
558                 serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
559                         0 0 1 2
560                 >;
561                 tx-num-evt = <1>;
562                 rx-num-evt = <1>;
563 };
564
565 &tscadc {
566         status = "okay";
567         tsc {
568                 ti,wires = <4>;
569                 ti,x-plate-resistance = <200>;
570                 ti,coordinate-readouts = <5>;
571                 ti,wire-config = <0x00 0x11 0x22 0x33>;
572         };
573 };