Merge tag 'bcm5301x-dt-2014-12-04' of https://github.com/hauke/linux into next/dt
[cascardo/linux.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
85 &dra7_pmx_core {
86         leds_pins_default: leds_pins_default {
87                 pinctrl-single,pins = <
88                         0x3a8 (PIN_OUTPUT | MUX_MODE14) /* spi1_d1.gpio7_8 */
89                         0x3ac (PIN_OUTPUT | MUX_MODE14) /* spi1_d0.gpio7_9 */
90                         0x3c0 (PIN_OUTPUT | MUX_MODE14) /* spi2_sclk.gpio7_14 */
91                         0x3c4 (PIN_OUTPUT | MUX_MODE14) /* spi2_d1.gpio7_15 */
92                 >;
93         };
94
95         i2c1_pins_default: i2c1_pins_default {
96                 pinctrl-single,pins = <
97                         0x400 (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c1_sda.sda */
98                         0x404 (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c1_scl.scl */
99                 >;
100         };
101
102         i2c3_pins_default: i2c3_pins_default {
103                 pinctrl-single,pins = <
104                         0x2a4 (PIN_INPUT| MUX_MODE10)   /* mcasp1_aclkx.i2c3_sda */
105                         0x2a8 (PIN_INPUT| MUX_MODE10)   /* mcasp1_fsx.i2c3_scl */
106                 >;
107         };
108
109         uart3_pins_default: uart3_pins_default {
110                 pinctrl-single,pins = <
111                         0x248 (PIN_INPUT_SLEW | MUX_MODE0) /* uart3_rxd.rxd */
112                         0x24c (PIN_INPUT_SLEW | MUX_MODE0) /* uart3_txd.txd */
113                 >;
114         };
115
116         mmc1_pins_default: mmc1_pins_default {
117                 pinctrl-single,pins = <
118                         0x36c (PIN_INPUT | MUX_MODE14)  /* mmc1sdcd.gpio219 */
119                         0x354 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
120                         0x358 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
121                         0x35c (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
122                         0x360 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
123                         0x364 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
124                         0x368 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
125                 >;
126         };
127
128         mmc2_pins_default: mmc2_pins_default {
129                 pinctrl-single,pins = <
130                         0x9c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
131                         0xb0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
132                         0xa0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
133                         0xa4 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
134                         0xa8 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
135                         0xac (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
136                         0x8c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
137                         0x90 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
138                         0x94 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
139                         0x98 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
140                 >;
141         };
142
143         tps659038_pins_default: tps659038_pins_default {
144                 pinctrl-single,pins = <
145                         0x418 (PIN_INPUT_PULLUP | MUX_MODE14)   /* wakeup0.gpio1_0 */
146                 >;
147         };
148
149         tmp102_pins_default: tmp102_pins_default {
150                 pinctrl-single,pins = <
151                         0x3C8 (PIN_INPUT_PULLUP | MUX_MODE14)   /* spi2_d0.gpio7_16 */
152                 >;
153         };
154
155         mcp79410_pins_default: mcp79410_pins_default {
156                 pinctrl-single,pins = <
157                         0x424 (PIN_INPUT_PULLUP | MUX_MODE1)    /* wakeup3.sys_nirq1 */
158                 >;
159         };
160
161         usb1_pins: pinmux_usb1_pins {
162                 pinctrl-single,pins = <
163                         0x280 (PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
164                 >;
165         };
166
167 };
168
169 &i2c1 {
170         status = "okay";
171         pinctrl-names = "default";
172         pinctrl-0 = <&i2c1_pins_default>;
173         clock-frequency = <400000>;
174
175         tps659038: tps659038@58 {
176                 compatible = "ti,tps659038";
177                 reg = <0x58>;
178                 interrupt-parent = <&gpio1>;
179                 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
180
181                 pinctrl-names = "default";
182                 pinctrl-0 = <&tps659038_pins_default>;
183
184                 #interrupt-cells = <2>;
185                 interrupt-controller;
186
187                 ti,system-power-controller;
188
189                 tps659038_pmic {
190                         compatible = "ti,tps659038-pmic";
191
192                         regulators {
193                                 smps12_reg: smps12 {
194                                         /* VDD_MPU */
195                                         regulator-name = "smps12";
196                                         regulator-min-microvolt = < 850000>;
197                                         regulator-max-microvolt = <1250000>;
198                                         regulator-always-on;
199                                         regulator-boot-on;
200                                 };
201
202                                 smps3_reg: smps3 {
203                                         /* VDD_DDR */
204                                         regulator-name = "smps3";
205                                         regulator-min-microvolt = <1350000>;
206                                         regulator-max-microvolt = <1350000>;
207                                         regulator-always-on;
208                                         regulator-boot-on;
209                                 };
210
211                                 smps45_reg: smps45 {
212                                         /* VDD_DSPEVE, VDD_IVA, VDD_GPU */
213                                         regulator-name = "smps45";
214                                         regulator-min-microvolt = < 850000>;
215                                         regulator-max-microvolt = <1150000>;
216                                         regulator-always-on;
217                                         regulator-boot-on;
218                                 };
219
220                                 smps6_reg: smps6 {
221                                         /* VDD_CORE */
222                                         regulator-name = "smps6";
223                                         regulator-min-microvolt = <850000>;
224                                         regulator-max-microvolt = <1030000>;
225                                         regulator-always-on;
226                                         regulator-boot-on;
227                                 };
228
229                                 /* SMPS7 unused */
230
231                                 smps8_reg: smps8 {
232                                         /* VDD_1V8 */
233                                         regulator-name = "smps8";
234                                         regulator-min-microvolt = <1800000>;
235                                         regulator-max-microvolt = <1800000>;
236                                         regulator-always-on;
237                                         regulator-boot-on;
238                                 };
239
240                                 /* SMPS9 unused */
241
242                                 ldo1_reg: ldo1 {
243                                         /* VDD_SD  */
244                                         regulator-name = "ldo1";
245                                         regulator-min-microvolt = <1800000>;
246                                         regulator-max-microvolt = <3300000>;
247                                         regulator-boot-on;
248                                 };
249
250                                 ldo2_reg: ldo2 {
251                                         /* VDD_SHV5 */
252                                         regulator-name = "ldo2";
253                                         regulator-min-microvolt = <3300000>;
254                                         regulator-max-microvolt = <3300000>;
255                                         regulator-always-on;
256                                         regulator-boot-on;
257                                 };
258
259                                 ldo3_reg: ldo3 {
260                                         /* VDDA_1V8_PHY */
261                                         regulator-name = "ldo3";
262                                         regulator-min-microvolt = <1800000>;
263                                         regulator-max-microvolt = <1800000>;
264                                         regulator-always-on;
265                                         regulator-boot-on;
266                                 };
267
268                                 ldo9_reg: ldo9 {
269                                         /* VDD_RTC */
270                                         regulator-name = "ldo9";
271                                         regulator-min-microvolt = <1050000>;
272                                         regulator-max-microvolt = <1050000>;
273                                         regulator-always-on;
274                                         regulator-boot-on;
275                                 };
276
277                                 ldoln_reg: ldoln {
278                                         /* VDDA_1V8_PLL */
279                                         regulator-name = "ldoln";
280                                         regulator-min-microvolt = <1800000>;
281                                         regulator-max-microvolt = <1800000>;
282                                         regulator-always-on;
283                                         regulator-boot-on;
284                                 };
285
286                                 ldousb_reg: ldousb {
287                                         /* VDDA_3V_USB: VDDA_USBHS33 */
288                                         regulator-name = "ldousb";
289                                         regulator-min-microvolt = <3300000>;
290                                         regulator-max-microvolt = <3300000>;
291                                         regulator-boot-on;
292                                 };
293
294                                 regen1: regen1 {
295                                         /* VDD_3V3_ON */
296                                         regulator-name = "regen1";
297                                         regulator-boot-on;
298                                         regulator-always-on;
299                                 };
300                         };
301                 };
302
303                 tps659038_rtc: tps659038_rtc {
304                         compatible = "ti,palmas-rtc";
305                         interrupt-parent = <&tps659038>;
306                         interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
307                         wakeup-source;
308                 };
309
310                 tps659038_pwr_button: tps659038_pwr_button {
311                         compatible = "ti,palmas-pwrbutton";
312                         interrupt-parent = <&tps659038>;
313                         interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
314                         wakeup-source;
315                         ti,palmas-long-press-seconds = <12>;
316                 };
317         };
318
319         tmp102: tmp102@48 {
320                 compatible = "ti,tmp102";
321                 reg = <0x48>;
322                 pinctrl-names = "default";
323                 pinctrl-0 = <&tmp102_pins_default>;
324                 interrupt-parent = <&gpio7>;
325                 interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
326         };
327 };
328
329 &i2c3 {
330         status = "okay";
331         pinctrl-names = "default";
332         pinctrl-0 = <&i2c3_pins_default>;
333         clock-frequency = <400000>;
334
335         mcp_rtc: rtc@6f {
336                 compatible = "microchip,mcp7941x";
337                 reg = <0x6f>;
338                 interrupt-parent = <&gic>;
339                 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_LOW>;  /* IRQ_SYS_1N */
340
341                 pinctrl-names = "default";
342                 pinctrl-0 = <&mcp79410_pins_default>;
343
344                 vcc-supply = <&vdd_3v3>;
345                 wakeup-source;
346         };
347 };
348
349 &gpio7 {
350         ti,no-reset-on-init;
351         ti,no-idle-on-init;
352 };
353
354 &cpu0 {
355         cpu0-supply = <&smps12_reg>;
356         voltage-tolerance = <1>;
357 };
358
359 &uart3 {
360         status = "okay";
361         interrupts-extended = <&gic GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
362                               <&dra7_pmx_core 0x248>;
363
364         pinctrl-names = "default";
365         pinctrl-0 = <&uart3_pins_default>;
366 };
367
368 &mmc1 {
369         status = "okay";
370
371         pinctrl-names = "default";
372         pinctrl-0 = <&mmc1_pins_default>;
373
374         vmmc-supply = <&ldo1_reg>;
375         vmmc_aux-supply = <&vdd_3v3>;
376         pbias-supply = <&pbias_mmc_reg>;
377         bus-width = <4>;
378         cd-gpios = <&gpio6 27 0>; /* gpio 219 */
379 };
380
381 &mmc2 {
382         status = "okay";
383
384         pinctrl-names = "default";
385         pinctrl-0 = <&mmc2_pins_default>;
386
387         vmmc-supply = <&vdd_3v3>;
388         bus-width = <8>;
389         ti,non-removable;
390         cap-mmc-dual-data-rate;
391 };
392
393 &sata {
394         status = "okay";
395 };
396
397 &usb2_phy1 {
398         phy-supply = <&ldousb_reg>;
399 };
400
401 &usb1 {
402         dr_mode = "host";
403         pinctrl-names = "default";
404         pinctrl-0 = <&usb1_pins>;
405 };