Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[pandora-kernel.git] / arch / arm / boot / dts / am57xx-beagle-x15.dts
1 /*
2  * Copyright (C) 2014 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 /dts-v1/;
9
10 #include "dra74x.dtsi"
11 #include <dt-bindings/clk/ti-dra7-atl.h>
12 #include <dt-bindings/gpio/gpio.h>
13 #include <dt-bindings/interrupt-controller/irq.h>
14
15 / {
16         model = "TI AM5728 BeagleBoard-X15";
17         compatible = "ti,am572x-beagle-x15", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
18
19         aliases {
20                 rtc0 = &mcp_rtc;
21                 rtc1 = &tps659038_rtc;
22         };
23
24         memory {
25                 device_type = "memory";
26                 reg = <0x80000000 0x80000000>;
27         };
28
29         vdd_3v3: fixedregulator-vdd_3v3 {
30                 compatible = "regulator-fixed";
31                 regulator-name = "vdd_3v3";
32                 vin-supply = <&regen1>;
33                 regulator-min-microvolt = <3300000>;
34                 regulator-max-microvolt = <3300000>;
35         };
36
37         vtt_fixed: fixedregulator-vtt {
38                 /* TPS51200 */
39                 compatible = "regulator-fixed";
40                 regulator-name = "vtt_fixed";
41                 vin-supply = <&smps3_reg>;
42                 regulator-min-microvolt = <3300000>;
43                 regulator-max-microvolt = <3300000>;
44                 regulator-always-on;
45                 regulator-boot-on;
46                 enable-active-high;
47                 gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
48         };
49
50         leds {
51                 compatible = "gpio-leds";
52                 pinctrl-names = "default";
53                 pinctrl-0 = <&leds_pins_default>;
54
55                 led@0 {
56                         label = "beagle-x15:usr0";
57                         gpios = <&gpio7 9 GPIO_ACTIVE_HIGH>;
58                         linux,default-trigger = "heartbeat";
59                         default-state = "off";
60                 };
61
62                 led@1 {
63                         label = "beagle-x15:usr1";
64                         gpios = <&gpio7 8 GPIO_ACTIVE_HIGH>;
65                         linux,default-trigger = "cpu0";
66                         default-state = "off";
67                 };
68
69                 led@2 {
70                         label = "beagle-x15:usr2";
71                         gpios = <&gpio7 14 GPIO_ACTIVE_HIGH>;
72                         linux,default-trigger = "mmc0";
73                         default-state = "off";
74                 };
75
76                 led@3 {
77                         label = "beagle-x15:usr3";
78                         gpios = <&gpio7 15 GPIO_ACTIVE_HIGH>;
79                         linux,default-trigger = "ide-disk";
80                         default-state = "off";
81                 };
82         };
83
84         gpio_fan: gpio_fan {
85                 /* Based on 5v 500mA AFB02505HHB */
86                 compatible = "gpio-fan";
87                 gpios =  <&tps659038_gpio 1 GPIO_ACTIVE_HIGH>;
88                 gpio-fan,speed-map = <0     0>,
89                                      <13000 1>;
90         };
91
92         extcon_usb1: extcon_usb1 {
93                 compatible = "linux,extcon-usb-gpio";
94                 id-gpio = <&gpio7 25 GPIO_ACTIVE_HIGH>;
95                 pinctrl-names = "default";
96                 pinctrl-0 = <&extcon_usb1_pins>;
97         };
98
99         extcon_usb2: extcon_usb2 {
100                 compatible = "linux,extcon-usb-gpio";
101                 id-gpio = <&gpio7 24 GPIO_ACTIVE_HIGH>;
102                 pinctrl-names = "default";
103                 pinctrl-0 = <&extcon_usb2_pins>;
104         };
105 };
106
107 &dra7_pmx_core {
108         leds_pins_default: leds_pins_default {
109                 pinctrl-single,pins = <
110                         0x3a8 (PIN_OUTPUT | MUX_MODE14) /* spi1_d1.gpio7_8 */
111                         0x3ac (PIN_OUTPUT | MUX_MODE14) /* spi1_d0.gpio7_9 */
112                         0x3c0 (PIN_OUTPUT | MUX_MODE14) /* spi2_sclk.gpio7_14 */
113                         0x3c4 (PIN_OUTPUT | MUX_MODE14) /* spi2_d1.gpio7_15 */
114                 >;
115         };
116
117         i2c1_pins_default: i2c1_pins_default {
118                 pinctrl-single,pins = <
119                         0x400 (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c1_sda.sda */
120                         0x404 (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c1_scl.scl */
121                 >;
122         };
123
124         i2c3_pins_default: i2c3_pins_default {
125                 pinctrl-single,pins = <
126                         0x2a4 (PIN_INPUT| MUX_MODE10)   /* mcasp1_aclkx.i2c3_sda */
127                         0x2a8 (PIN_INPUT| MUX_MODE10)   /* mcasp1_fsx.i2c3_scl */
128                 >;
129         };
130
131         uart3_pins_default: uart3_pins_default {
132                 pinctrl-single,pins = <
133                         0x248 (PIN_INPUT_SLEW | MUX_MODE0) /* uart3_rxd.rxd */
134                         0x24c (PIN_INPUT_SLEW | MUX_MODE0) /* uart3_txd.txd */
135                 >;
136         };
137
138         mmc1_pins_default: mmc1_pins_default {
139                 pinctrl-single,pins = <
140                         0x36c (PIN_INPUT | MUX_MODE14)  /* mmc1sdcd.gpio219 */
141                         0x354 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
142                         0x358 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
143                         0x35c (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
144                         0x360 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
145                         0x364 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
146                         0x368 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
147                 >;
148         };
149
150         mmc2_pins_default: mmc2_pins_default {
151                 pinctrl-single,pins = <
152                         0x9c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
153                         0xb0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
154                         0xa0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
155                         0xa4 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
156                         0xa8 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
157                         0xac (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
158                         0x8c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
159                         0x90 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
160                         0x94 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
161                         0x98 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
162                 >;
163         };
164
165         cpsw_pins_default: cpsw_pins_default {
166                 pinctrl-single,pins = <
167                         /* Slave 1 */
168                         0x250 (PIN_OUTPUT | MUX_MODE0)  /* rgmii1_tclk */
169                         0x254 (PIN_OUTPUT | MUX_MODE0)  /* rgmii1_tctl */
170                         0x258 (PIN_OUTPUT | MUX_MODE0)  /* rgmii1_td3 */
171                         0x25c (PIN_OUTPUT | MUX_MODE0)  /* rgmii1_td2 */
172                         0x260 (PIN_OUTPUT | MUX_MODE0)  /* rgmii1_td1 */
173                         0x264 (PIN_OUTPUT | MUX_MODE0)  /* rgmii1_td0 */
174                         0x268 (PIN_INPUT | MUX_MODE0)   /* rgmii1_rclk */
175                         0x26c (PIN_INPUT | MUX_MODE0)   /* rgmii1_rctl */
176                         0x270 (PIN_INPUT | MUX_MODE0)   /* rgmii1_rd3 */
177                         0x274 (PIN_INPUT | MUX_MODE0)   /* rgmii1_rd2 */
178                         0x278 (PIN_INPUT | MUX_MODE0)   /* rgmii1_rd1 */
179                         0x27c (PIN_INPUT | MUX_MODE0)   /* rgmii1_rd0 */
180
181                         /* Slave 2 */
182                         0x198 (PIN_OUTPUT | MUX_MODE3)  /* rgmii2_tclk */
183                         0x19c (PIN_OUTPUT | MUX_MODE3)  /* rgmii2_tctl */
184                         0x1a0 (PIN_OUTPUT | MUX_MODE3)  /* rgmii2_td3 */
185                         0x1a4 (PIN_OUTPUT | MUX_MODE3)  /* rgmii2_td2 */
186                         0x1a8 (PIN_OUTPUT | MUX_MODE3)  /* rgmii2_td1 */
187                         0x1ac (PIN_OUTPUT | MUX_MODE3)  /* rgmii2_td0 */
188                         0x1b0 (PIN_INPUT | MUX_MODE3)   /* rgmii2_rclk */
189                         0x1b4 (PIN_INPUT | MUX_MODE3)   /* rgmii2_rctl */
190                         0x1b8 (PIN_INPUT | MUX_MODE3)   /* rgmii2_rd3 */
191                         0x1bc (PIN_INPUT | MUX_MODE3)   /* rgmii2_rd2 */
192                         0x1c0 (PIN_INPUT | MUX_MODE3)   /* rgmii2_rd1 */
193                         0x1c4 (PIN_INPUT | MUX_MODE3)   /* rgmii2_rd0 */
194                 >;
195
196         };
197
198         cpsw_pins_sleep: cpsw_pins_sleep {
199                 pinctrl-single,pins = <
200                         /* Slave 1 */
201                         0x250 (PIN_INPUT | MUX_MODE15)
202                         0x254 (PIN_INPUT | MUX_MODE15)
203                         0x258 (PIN_INPUT | MUX_MODE15)
204                         0x25c (PIN_INPUT | MUX_MODE15)
205                         0x260 (PIN_INPUT | MUX_MODE15)
206                         0x264 (PIN_INPUT | MUX_MODE15)
207                         0x268 (PIN_INPUT | MUX_MODE15)
208                         0x26c (PIN_INPUT | MUX_MODE15)
209                         0x270 (PIN_INPUT | MUX_MODE15)
210                         0x274 (PIN_INPUT | MUX_MODE15)
211                         0x278 (PIN_INPUT | MUX_MODE15)
212                         0x27c (PIN_INPUT | MUX_MODE15)
213
214                         /* Slave 2 */
215                         0x198 (PIN_INPUT | MUX_MODE15)
216                         0x19c (PIN_INPUT | MUX_MODE15)
217                         0x1a0 (PIN_INPUT | MUX_MODE15)
218                         0x1a4 (PIN_INPUT | MUX_MODE15)
219                         0x1a8 (PIN_INPUT | MUX_MODE15)
220                         0x1ac (PIN_INPUT | MUX_MODE15)
221                         0x1b0 (PIN_INPUT | MUX_MODE15)
222                         0x1b4 (PIN_INPUT | MUX_MODE15)
223                         0x1b8 (PIN_INPUT | MUX_MODE15)
224                         0x1bc (PIN_INPUT | MUX_MODE15)
225                         0x1c0 (PIN_INPUT | MUX_MODE15)
226                         0x1c4 (PIN_INPUT | MUX_MODE15)
227                 >;
228         };
229
230         davinci_mdio_pins_default: davinci_mdio_pins_default {
231                 pinctrl-single,pins = <
232                         /* MDIO */
233                         0x23c (PIN_OUTPUT_PULLUP | MUX_MODE0)   /* mdio_mclk */
234                         0x240 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mdio_d */
235                 >;
236         };
237
238         davinci_mdio_pins_sleep: davinci_mdio_pins_sleep {
239                 pinctrl-single,pins = <
240                         0x23c (PIN_INPUT | MUX_MODE15)
241                         0x240 (PIN_INPUT | MUX_MODE15)
242                 >;
243         };
244
245         tps659038_pins_default: tps659038_pins_default {
246                 pinctrl-single,pins = <
247                         0x418 (PIN_INPUT_PULLUP | MUX_MODE14)   /* wakeup0.gpio1_0 */
248                 >;
249         };
250
251         tmp102_pins_default: tmp102_pins_default {
252                 pinctrl-single,pins = <
253                         0x3C8 (PIN_INPUT_PULLUP | MUX_MODE14)   /* spi2_d0.gpio7_16 */
254                 >;
255         };
256
257         mcp79410_pins_default: mcp79410_pins_default {
258                 pinctrl-single,pins = <
259                         0x424 (PIN_INPUT_PULLUP | MUX_MODE1)    /* wakeup3.sys_nirq1 */
260                 >;
261         };
262
263         usb1_pins: pinmux_usb1_pins {
264                 pinctrl-single,pins = <
265                         0x280 (PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
266                 >;
267         };
268
269         extcon_usb1_pins: extcon_usb1_pins {
270                 pinctrl-single,pins = <
271                         0x3ec (PIN_INPUT_PULLUP | MUX_MODE14) /* uart1_rtsn.gpio7_25 */
272                 >;
273         };
274
275         extcon_usb2_pins: extcon_usb2_pins {
276                 pinctrl-single,pins = <
277                         0x3e8 (PIN_INPUT_PULLUP | MUX_MODE14) /* uart1_ctsn.gpio7_24 */
278                 >;
279         };
280 };
281
282 &i2c1 {
283         status = "okay";
284         pinctrl-names = "default";
285         pinctrl-0 = <&i2c1_pins_default>;
286         clock-frequency = <400000>;
287
288         tps659038: tps659038@58 {
289                 compatible = "ti,tps659038";
290                 reg = <0x58>;
291                 interrupt-parent = <&gpio1>;
292                 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
293
294                 pinctrl-names = "default";
295                 pinctrl-0 = <&tps659038_pins_default>;
296
297                 #interrupt-cells = <2>;
298                 interrupt-controller;
299
300                 ti,system-power-controller;
301
302                 tps659038_pmic {
303                         compatible = "ti,tps659038-pmic";
304
305                         regulators {
306                                 smps12_reg: smps12 {
307                                         /* VDD_MPU */
308                                         regulator-name = "smps12";
309                                         regulator-min-microvolt = < 850000>;
310                                         regulator-max-microvolt = <1250000>;
311                                         regulator-always-on;
312                                         regulator-boot-on;
313                                 };
314
315                                 smps3_reg: smps3 {
316                                         /* VDD_DDR */
317                                         regulator-name = "smps3";
318                                         regulator-min-microvolt = <1350000>;
319                                         regulator-max-microvolt = <1350000>;
320                                         regulator-always-on;
321                                         regulator-boot-on;
322                                 };
323
324                                 smps45_reg: smps45 {
325                                         /* VDD_DSPEVE, VDD_IVA, VDD_GPU */
326                                         regulator-name = "smps45";
327                                         regulator-min-microvolt = < 850000>;
328                                         regulator-max-microvolt = <1150000>;
329                                         regulator-always-on;
330                                         regulator-boot-on;
331                                 };
332
333                                 smps6_reg: smps6 {
334                                         /* VDD_CORE */
335                                         regulator-name = "smps6";
336                                         regulator-min-microvolt = <850000>;
337                                         regulator-max-microvolt = <1030000>;
338                                         regulator-always-on;
339                                         regulator-boot-on;
340                                 };
341
342                                 /* SMPS7 unused */
343
344                                 smps8_reg: smps8 {
345                                         /* VDD_1V8 */
346                                         regulator-name = "smps8";
347                                         regulator-min-microvolt = <1800000>;
348                                         regulator-max-microvolt = <1800000>;
349                                         regulator-always-on;
350                                         regulator-boot-on;
351                                 };
352
353                                 /* SMPS9 unused */
354
355                                 ldo1_reg: ldo1 {
356                                         /* VDD_SD  */
357                                         regulator-name = "ldo1";
358                                         regulator-min-microvolt = <1800000>;
359                                         regulator-max-microvolt = <3300000>;
360                                         regulator-boot-on;
361                                 };
362
363                                 ldo2_reg: ldo2 {
364                                         /* VDD_SHV5 */
365                                         regulator-name = "ldo2";
366                                         regulator-min-microvolt = <3300000>;
367                                         regulator-max-microvolt = <3300000>;
368                                         regulator-always-on;
369                                         regulator-boot-on;
370                                 };
371
372                                 ldo3_reg: ldo3 {
373                                         /* VDDA_1V8_PHY */
374                                         regulator-name = "ldo3";
375                                         regulator-min-microvolt = <1800000>;
376                                         regulator-max-microvolt = <1800000>;
377                                         regulator-always-on;
378                                         regulator-boot-on;
379                                 };
380
381                                 ldo9_reg: ldo9 {
382                                         /* VDD_RTC */
383                                         regulator-name = "ldo9";
384                                         regulator-min-microvolt = <1050000>;
385                                         regulator-max-microvolt = <1050000>;
386                                         regulator-always-on;
387                                         regulator-boot-on;
388                                 };
389
390                                 ldoln_reg: ldoln {
391                                         /* VDDA_1V8_PLL */
392                                         regulator-name = "ldoln";
393                                         regulator-min-microvolt = <1800000>;
394                                         regulator-max-microvolt = <1800000>;
395                                         regulator-always-on;
396                                         regulator-boot-on;
397                                 };
398
399                                 ldousb_reg: ldousb {
400                                         /* VDDA_3V_USB: VDDA_USBHS33 */
401                                         regulator-name = "ldousb";
402                                         regulator-min-microvolt = <3300000>;
403                                         regulator-max-microvolt = <3300000>;
404                                         regulator-boot-on;
405                                 };
406
407                                 regen1: regen1 {
408                                         /* VDD_3V3_ON */
409                                         regulator-name = "regen1";
410                                         regulator-boot-on;
411                                         regulator-always-on;
412                                 };
413                         };
414                 };
415
416                 tps659038_rtc: tps659038_rtc {
417                         compatible = "ti,palmas-rtc";
418                         interrupt-parent = <&tps659038>;
419                         interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
420                         wakeup-source;
421                 };
422
423                 tps659038_pwr_button: tps659038_pwr_button {
424                         compatible = "ti,palmas-pwrbutton";
425                         interrupt-parent = <&tps659038>;
426                         interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
427                         wakeup-source;
428                         ti,palmas-long-press-seconds = <12>;
429                 };
430
431                 tps659038_gpio: tps659038_gpio {
432                         compatible = "ti,palmas-gpio";
433                         gpio-controller;
434                         #gpio-cells = <2>;
435                 };
436         };
437
438         tmp102: tmp102@48 {
439                 compatible = "ti,tmp102";
440                 reg = <0x48>;
441                 pinctrl-names = "default";
442                 pinctrl-0 = <&tmp102_pins_default>;
443                 interrupt-parent = <&gpio7>;
444                 interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
445         };
446 };
447
448 &i2c3 {
449         status = "okay";
450         pinctrl-names = "default";
451         pinctrl-0 = <&i2c3_pins_default>;
452         clock-frequency = <400000>;
453
454         mcp_rtc: rtc@6f {
455                 compatible = "microchip,mcp7941x";
456                 reg = <0x6f>;
457                 interrupt-parent = <&gic>;
458                 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_LOW>;  /* IRQ_SYS_1N */
459
460                 pinctrl-names = "default";
461                 pinctrl-0 = <&mcp79410_pins_default>;
462
463                 vcc-supply = <&vdd_3v3>;
464                 wakeup-source;
465         };
466 };
467
468 &gpio7 {
469         ti,no-reset-on-init;
470         ti,no-idle-on-init;
471 };
472
473 &cpu0 {
474         cpu0-supply = <&smps12_reg>;
475         voltage-tolerance = <1>;
476 };
477
478 &uart3 {
479         status = "okay";
480         interrupts-extended = <&gic GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
481                               <&dra7_pmx_core 0x248>;
482
483         pinctrl-names = "default";
484         pinctrl-0 = <&uart3_pins_default>;
485 };
486
487 &mac {
488         status = "okay";
489         pinctrl-names = "default", "sleep";
490         pinctrl-0 = <&cpsw_pins_default>;
491         pinctrl-1 = <&cpsw_pins_sleep>;
492         dual_emac;
493 };
494
495 &cpsw_emac0 {
496         phy_id = <&davinci_mdio>, <1>;
497         phy-mode = "rgmii";
498         dual_emac_res_vlan = <1>;
499 };
500
501 &cpsw_emac1 {
502         phy_id = <&davinci_mdio>, <2>;
503         phy-mode = "rgmii";
504         dual_emac_res_vlan = <2>;
505 };
506
507 &davinci_mdio {
508         pinctrl-names = "default", "sleep";
509         pinctrl-0 = <&davinci_mdio_pins_default>;
510         pinctrl-1 = <&davinci_mdio_pins_sleep>;
511 };
512
513 &mmc1 {
514         status = "okay";
515
516         pinctrl-names = "default";
517         pinctrl-0 = <&mmc1_pins_default>;
518
519         vmmc-supply = <&ldo1_reg>;
520         vmmc_aux-supply = <&vdd_3v3>;
521         pbias-supply = <&pbias_mmc_reg>;
522         bus-width = <4>;
523         cd-gpios = <&gpio6 27 0>; /* gpio 219 */
524 };
525
526 &mmc2 {
527         status = "okay";
528
529         pinctrl-names = "default";
530         pinctrl-0 = <&mmc2_pins_default>;
531
532         vmmc-supply = <&vdd_3v3>;
533         bus-width = <8>;
534         ti,non-removable;
535         cap-mmc-dual-data-rate;
536 };
537
538 &sata {
539         status = "okay";
540 };
541
542 &usb2_phy1 {
543         phy-supply = <&ldousb_reg>;
544 };
545
546 &usb1 {
547         dr_mode = "host";
548         pinctrl-names = "default";
549         pinctrl-0 = <&usb1_pins>;
550 };
551
552 &omap_dwc3_1 {
553         extcon = <&extcon_usb1>;
554 };
555
556 &omap_dwc3_2 {
557         extcon = <&extcon_usb2>;
558 };
559
560 &usb2 {
561         dr_mode = "peripheral";
562 };