Merge remote-tracking branches 'regulator/fix/88pm800', 'regulator/fix/max8973',...
[linux-drm-fsl-dcu.git] / arch / arm / boot / dts / omap5-uevm.dts
1 /*
2  * Copyright (C) 2013 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 "omap5.dtsi"
11 #include <dt-bindings/interrupt-controller/irq.h>
12 #include <dt-bindings/interrupt-controller/arm-gic.h>
13
14 / {
15         model = "TI OMAP5 uEVM board";
16         compatible = "ti,omap5-uevm", "ti,omap5";
17
18         memory {
19                 device_type = "memory";
20                 reg = <0x80000000 0x7F000000>; /* 2032 MB */
21         };
22
23         aliases {
24                 display0 = &hdmi0;
25         };
26
27         vmmcsd_fixed: fixedregulator-mmcsd {
28                 compatible = "regulator-fixed";
29                 regulator-name = "vmmcsd_fixed";
30                 regulator-min-microvolt = <3000000>;
31                 regulator-max-microvolt = <3000000>;
32         };
33
34         /* HS USB Host PHY on PORT 2 */
35         hsusb2_phy: hsusb2_phy {
36                 compatible = "usb-nop-xceiv";
37                 reset-gpios = <&gpio3 16 GPIO_ACTIVE_LOW>; /* gpio3_80 HUB_NRESET */
38                 clocks = <&auxclk1_ck>;
39                 clock-names = "main_clk";
40                 clock-frequency = <19200000>;
41         };
42
43         /* HS USB Host PHY on PORT 3 */
44         hsusb3_phy: hsusb3_phy {
45                 compatible = "usb-nop-xceiv";
46                 reset-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>; /* gpio3_79 ETH_NRESET */
47         };
48
49         leds {
50                 compatible = "gpio-leds";
51                 led@1 {
52                         label = "omap5:blue:usr1";
53                         gpios = <&gpio5 25 GPIO_ACTIVE_HIGH>; /* gpio5_153 D1 LED */
54                         linux,default-trigger = "heartbeat";
55                         default-state = "off";
56                 };
57         };
58
59         tpd12s015: encoder@0 {
60                 compatible = "ti,tpd12s015";
61
62                 pinctrl-names = "default";
63                 pinctrl-0 = <&tpd12s015_pins>;
64
65                 gpios = <&gpio9 0 GPIO_ACTIVE_HIGH>,    /* TCA6424A P01, CT CP HPD */
66                         <&gpio9 1 GPIO_ACTIVE_HIGH>,    /* TCA6424A P00, LS OE */
67                         <&gpio7 1 GPIO_ACTIVE_HIGH>;    /* GPIO 193, HPD */
68
69                 ports {
70                         #address-cells = <1>;
71                         #size-cells = <0>;
72
73                         port@0 {
74                                 reg = <0>;
75
76                                 tpd12s015_in: endpoint@0 {
77                                         remote-endpoint = <&hdmi_out>;
78                                 };
79                         };
80
81                         port@1 {
82                                 reg = <1>;
83
84                                 tpd12s015_out: endpoint@0 {
85                                         remote-endpoint = <&hdmi_connector_in>;
86                                 };
87                         };
88                 };
89         };
90
91         hdmi0: connector@0 {
92                 compatible = "hdmi-connector";
93                 label = "hdmi";
94
95                 type = "b";
96
97                 port {
98                         hdmi_connector_in: endpoint {
99                                 remote-endpoint = <&tpd12s015_out>;
100                         };
101                 };
102         };
103
104         sound: sound {
105                 compatible = "ti,abe-twl6040";
106                 ti,model = "omap5-uevm";
107
108                 ti,mclk-freq = <19200000>;
109
110                 ti,mcpdm = <&mcpdm>;
111
112                 ti,twl6040 = <&twl6040>;
113
114                 /* Audio routing */
115                 ti,audio-routing =
116                         "Headset Stereophone", "HSOL",
117                         "Headset Stereophone", "HSOR",
118                         "Line Out", "AUXL",
119                         "Line Out", "AUXR",
120                         "HSMIC", "Headset Mic",
121                         "Headset Mic", "Headset Mic Bias",
122                         "AFML", "Line In",
123                         "AFMR", "Line In";
124         };
125 };
126
127 &omap5_pmx_core {
128         pinctrl-names = "default";
129         pinctrl-0 = <
130                         &usbhost_pins
131                         &led_gpio_pins
132         >;
133
134         twl6040_pins: pinmux_twl6040_pins {
135                 pinctrl-single,pins = <
136                         0x17e (PIN_OUTPUT | MUX_MODE6)  /* mcspi1_somi.gpio5_141 */
137                 >;
138         };
139
140         mcpdm_pins: pinmux_mcpdm_pins {
141                 pinctrl-single,pins = <
142                         0x142 (PIN_INPUT_PULLDOWN | MUX_MODE0)  /* abe_clks.abe_clks */
143                         0x15c (PIN_INPUT_PULLDOWN | MUX_MODE0)  /* abemcpdm_ul_data.abemcpdm_ul_data */
144                         0x15e (PIN_INPUT_PULLDOWN | MUX_MODE0)  /* abemcpdm_dl_data.abemcpdm_dl_data */
145                         0x160 (PIN_INPUT_PULLUP | MUX_MODE0)    /* abemcpdm_frame.abemcpdm_frame */
146                         0x162 (PIN_INPUT_PULLDOWN | MUX_MODE0)  /* abemcpdm_lb_clk.abemcpdm_lb_clk */
147                 >;
148         };
149
150         mcbsp1_pins: pinmux_mcbsp1_pins {
151                 pinctrl-single,pins = <
152                         0x14c (PIN_INPUT | MUX_MODE1)           /* abedmic_clk2.abemcbsp1_fsx */
153                         0x14e (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* abedmic_clk3.abemcbsp1_dx */
154                         0x150 (PIN_INPUT | MUX_MODE1)           /* abeslimbus1_clock.abemcbsp1_clkx */
155                         0x152 (PIN_INPUT_PULLDOWN | MUX_MODE1)  /* abeslimbus1_data.abemcbsp1_dr */
156                 >;
157         };
158
159         mcbsp2_pins: pinmux_mcbsp2_pins {
160                 pinctrl-single,pins = <
161                         0x154 (PIN_INPUT_PULLDOWN | MUX_MODE0)  /* abemcbsp2_dr.abemcbsp2_dr */
162                         0x156 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abemcbsp2_dx.abemcbsp2_dx */
163                         0x158 (PIN_INPUT | MUX_MODE0)           /* abemcbsp2_fsx.abemcbsp2_fsx */
164                         0x15a (PIN_INPUT | MUX_MODE0)           /* abemcbsp2_clkx.abemcbsp2_clkx */
165                 >;
166         };
167
168         i2c1_pins: pinmux_i2c1_pins {
169                 pinctrl-single,pins = <
170                         0x1b2 (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c1_scl */
171                         0x1b4 (PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c1_sda */
172                 >;
173         };
174
175         i2c5_pins: pinmux_i2c5_pins {
176                 pinctrl-single,pins = <
177                         0x184 (PIN_INPUT | MUX_MODE0)           /* i2c5_scl */
178                         0x186 (PIN_INPUT | MUX_MODE0)           /* i2c5_sda */
179                 >;
180         };
181
182         mcspi2_pins: pinmux_mcspi2_pins {
183                 pinctrl-single,pins = <
184                         0xbc (PIN_INPUT | MUX_MODE0)            /*  mcspi2_clk */
185                         0xbe (PIN_INPUT | MUX_MODE0)            /*  mcspi2_simo */
186                         0xc0 (PIN_INPUT_PULLUP | MUX_MODE0)     /*  mcspi2_somi */
187                         0xc2 (PIN_OUTPUT | MUX_MODE0)           /*  mcspi2_cs0 */
188                 >;
189         };
190
191         mcspi3_pins: pinmux_mcspi3_pins {
192                 pinctrl-single,pins = <
193                         0x78 (PIN_INPUT | MUX_MODE1)            /*  mcspi3_somi */
194                         0x7a (PIN_INPUT | MUX_MODE1)            /*  mcspi3_cs0 */
195                         0x7c (PIN_INPUT | MUX_MODE1)            /*  mcspi3_simo */
196                         0x7e (PIN_INPUT | MUX_MODE1)            /*  mcspi3_clk */
197                 >;
198         };
199
200         mcspi4_pins: pinmux_mcspi4_pins {
201                 pinctrl-single,pins = <
202                         0x164 (PIN_INPUT | MUX_MODE1)           /*  mcspi4_clk */
203                         0x168 (PIN_INPUT | MUX_MODE1)           /*  mcspi4_simo */
204                         0x16a (PIN_INPUT | MUX_MODE1)           /*  mcspi4_somi */
205                         0x16c (PIN_INPUT | MUX_MODE1)           /*  mcspi4_cs0 */
206                 >;
207         };
208
209         usbhost_pins: pinmux_usbhost_pins {
210                 pinctrl-single,pins = <
211                         0x84 (PIN_INPUT | MUX_MODE0) /* usbb2_hsic_strobe */
212                         0x86 (PIN_INPUT | MUX_MODE0) /* usbb2_hsic_data */
213
214                         0x19e (PIN_INPUT | MUX_MODE0) /* usbb3_hsic_strobe */
215                         0x1a0 (PIN_INPUT | MUX_MODE0) /* usbb3_hsic_data */
216
217                         0x70 (PIN_OUTPUT | MUX_MODE6) /* gpio3_80 HUB_NRESET */
218                         0x6e (PIN_OUTPUT | MUX_MODE6) /* gpio3_79 ETH_NRESET */
219                 >;
220         };
221
222         led_gpio_pins: pinmux_led_gpio_pins {
223                 pinctrl-single,pins = <
224                         0x196 (PIN_OUTPUT | MUX_MODE6) /* uart3_cts_rctx.gpio5_153 */
225                 >;
226         };
227
228         uart1_pins: pinmux_uart1_pins {
229                 pinctrl-single,pins = <
230                         0x60 (PIN_OUTPUT | MUX_MODE0) /* uart1_tx.uart1_cts */
231                         0x62 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_tx.uart1_cts */
232                         0x64 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_rx.uart1_rts */
233                         0x66 (PIN_OUTPUT | MUX_MODE0) /* uart1_rx.uart1_rts */
234                 >;
235         };
236
237         uart3_pins: pinmux_uart3_pins {
238                 pinctrl-single,pins = <
239                         0x19a (PIN_OUTPUT | MUX_MODE0) /* uart3_rts_irsd.uart3_tx_irtx */
240                         0x19c (PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_rx_irrx.uart3_usbb3_hsic */
241                 >;
242         };
243
244         uart5_pins: pinmux_uart5_pins {
245                 pinctrl-single,pins = <
246                         0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart5_rx.uart5_rx */
247                         0x172 (PIN_OUTPUT | MUX_MODE0) /* uart5_tx.uart5_tx */
248                         0x174 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart5_cts.uart5_rts */
249                         0x176 (PIN_OUTPUT | MUX_MODE0) /* uart5_cts.uart5_rts */
250                 >;
251         };
252
253         dss_hdmi_pins: pinmux_dss_hdmi_pins {
254                 pinctrl-single,pins = <
255                         0x0fc (PIN_INPUT_PULLUP | MUX_MODE0)    /* hdmi_cec.hdmi_cec */
256                         0x100 (PIN_INPUT | MUX_MODE0)   /* hdmi_ddc_scl.hdmi_ddc_scl */
257                         0x102 (PIN_INPUT | MUX_MODE0)   /* hdmi_ddc_sda.hdmi_ddc_sda */
258                 >;
259         };
260
261         tpd12s015_pins: pinmux_tpd12s015_pins {
262                 pinctrl-single,pins = <
263                         0x0fe (PIN_INPUT_PULLDOWN | MUX_MODE6)  /* hdmi_hpd.gpio7_193 */
264                 >;
265         };
266 };
267
268 &omap5_pmx_wkup {
269         pinctrl-names = "default";
270         pinctrl-0 = <
271                         &usbhost_wkup_pins
272         >;
273
274         usbhost_wkup_pins: pinmux_usbhost_wkup_pins {
275                 pinctrl-single,pins = <
276                         0x1A (PIN_OUTPUT | MUX_MODE0) /* fref_clk1_out, USB hub clk */
277                 >;
278         };
279 };
280
281 &mmc1 {
282         vmmc-supply = <&ldo9_reg>;
283         bus-width = <4>;
284 };
285
286 &mmc2 {
287         vmmc-supply = <&vmmcsd_fixed>;
288         bus-width = <8>;
289         ti,non-removable;
290 };
291
292 &mmc3 {
293         bus-width = <4>;
294         ti,non-removable;
295 };
296
297 &mmc4 {
298         status = "disabled";
299 };
300
301 &mmc5 {
302         status = "disabled";
303 };
304
305 &i2c1 {
306         pinctrl-names = "default";
307         pinctrl-0 = <&i2c1_pins>;
308
309         clock-frequency = <400000>;
310
311         palmas: palmas@48 {
312                 compatible = "ti,palmas";
313                 interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>; /* IRQ_SYS_1N */
314                 reg = <0x48>;
315                 interrupt-controller;
316                 #interrupt-cells = <2>;
317                 ti,system-power-controller;
318
319                 extcon_usb3: palmas_usb {
320                         compatible = "ti,palmas-usb-vid";
321                         ti,enable-vbus-detection;
322                         ti,enable-id-detection;
323                         ti,wakeup;
324                 };
325
326                 clk32kgaudio: palmas_clk32k@1 {
327                         compatible = "ti,palmas-clk32kgaudio";
328                         #clock-cells = <0>;
329                 };
330
331                 palmas_pmic {
332                         compatible = "ti,palmas-pmic";
333                         interrupt-parent = <&palmas>;
334                         interrupts = <14 IRQ_TYPE_NONE>;
335                         interrupt-name = "short-irq";
336
337                         ti,ldo6-vibrator;
338
339                         regulators {
340                                 smps123_reg: smps123 {
341                                         /* VDD_OPP_MPU */
342                                         regulator-name = "smps123";
343                                         regulator-min-microvolt = < 600000>;
344                                         regulator-max-microvolt = <1500000>;
345                                         regulator-always-on;
346                                         regulator-boot-on;
347                                 };
348
349                                 smps45_reg: smps45 {
350                                         /* VDD_OPP_MM */
351                                         regulator-name = "smps45";
352                                         regulator-min-microvolt = < 600000>;
353                                         regulator-max-microvolt = <1310000>;
354                                         regulator-always-on;
355                                         regulator-boot-on;
356                                 };
357
358                                 smps6_reg: smps6 {
359                                         /* VDD_DDR3 - over VDD_SMPS6 */
360                                         regulator-name = "smps6";
361                                         regulator-min-microvolt = <1200000>;
362                                         regulator-max-microvolt = <1200000>;
363                                         regulator-always-on;
364                                         regulator-boot-on;
365                                 };
366
367                                 smps7_reg: smps7 {
368                                         /* VDDS_1v8_OMAP over VDDS_1v8_MAIN */
369                                         regulator-name = "smps7";
370                                         regulator-min-microvolt = <1800000>;
371                                         regulator-max-microvolt = <1800000>;
372                                         regulator-always-on;
373                                         regulator-boot-on;
374                                 };
375
376                                 smps8_reg: smps8 {
377                                         /* VDD_OPP_CORE */
378                                         regulator-name = "smps8";
379                                         regulator-min-microvolt = < 600000>;
380                                         regulator-max-microvolt = <1310000>;
381                                         regulator-always-on;
382                                         regulator-boot-on;
383                                 };
384
385                                 smps9_reg: smps9 {
386                                         /* VDDA_2v1_AUD over VDD_2v1 */
387                                         regulator-name = "smps9";
388                                         regulator-min-microvolt = <2100000>;
389                                         regulator-max-microvolt = <2100000>;
390                                         ti,smps-range = <0x80>;
391                                 };
392
393                                 smps10_out2_reg: smps10_out2 {
394                                         /* VBUS_5V_OTG */
395                                         regulator-name = "smps10_out2";
396                                         regulator-min-microvolt = <5000000>;
397                                         regulator-max-microvolt = <5000000>;
398                                         regulator-always-on;
399                                         regulator-boot-on;
400                                 };
401
402                                 smps10_out1_reg: smps10_out1 {
403                                         /* VBUS_5V_OTG */
404                                         regulator-name = "smps10_out1";
405                                         regulator-min-microvolt = <5000000>;
406                                         regulator-max-microvolt = <5000000>;
407                                 };
408
409                                 ldo1_reg: ldo1 {
410                                         /* VDDAPHY_CAM: vdda_csiport */
411                                         regulator-name = "ldo1";
412                                         regulator-min-microvolt = <1500000>;
413                                         regulator-max-microvolt = <1800000>;
414                                 };
415
416                                 ldo2_reg: ldo2 {
417                                         /* VCC_2V8_DISP: Does not go anywhere */
418                                         regulator-name = "ldo2";
419                                         regulator-min-microvolt = <2800000>;
420                                         regulator-max-microvolt = <2800000>;
421                                         /* Unused */
422                                         status = "disabled";
423                                 };
424
425                                 ldo3_reg: ldo3 {
426                                         /* VDDAPHY_MDM: vdda_lli */
427                                         regulator-name = "ldo3";
428                                         regulator-min-microvolt = <1500000>;
429                                         regulator-max-microvolt = <1500000>;
430                                         regulator-boot-on;
431                                         /* Only if Modem is used */
432                                         status = "disabled";
433                                 };
434
435                                 ldo4_reg: ldo4 {
436                                         /* VDDAPHY_DISP: vdda_dsiport/hdmi */
437                                         regulator-name = "ldo4";
438                                         regulator-min-microvolt = <1500000>;
439                                         regulator-max-microvolt = <1800000>;
440                                 };
441
442                                 ldo5_reg: ldo5 {
443                                         /* VDDA_1V8_PHY: usb/sata/hdmi.. */
444                                         regulator-name = "ldo5";
445                                         regulator-min-microvolt = <1800000>;
446                                         regulator-max-microvolt = <1800000>;
447                                         regulator-always-on;
448                                         regulator-boot-on;
449                                 };
450
451                                 ldo6_reg: ldo6 {
452                                         /* VDDS_1V2_WKUP: hsic/ldo_emu_wkup */
453                                         regulator-name = "ldo6";
454                                         regulator-min-microvolt = <1200000>;
455                                         regulator-max-microvolt = <1200000>;
456                                         regulator-always-on;
457                                         regulator-boot-on;
458                                 };
459
460                                 ldo7_reg: ldo7 {
461                                         /* VDD_VPP: vpp1 */
462                                         regulator-name = "ldo7";
463                                         regulator-min-microvolt = <2000000>;
464                                         regulator-max-microvolt = <2000000>;
465                                         /* Only for efuse reprograming! */
466                                         status = "disabled";
467                                 };
468
469                                 ldo8_reg: ldo8 {
470                                         /* VDD_3v0: Does not go anywhere */
471                                         regulator-name = "ldo8";
472                                         regulator-min-microvolt = <3000000>;
473                                         regulator-max-microvolt = <3000000>;
474                                         regulator-boot-on;
475                                         /* Unused */
476                                         status = "disabled";
477                                 };
478
479                                 ldo9_reg: ldo9 {
480                                         /* VCC_DV_SDIO: vdds_sdcard */
481                                         regulator-name = "ldo9";
482                                         regulator-min-microvolt = <1800000>;
483                                         regulator-max-microvolt = <3000000>;
484                                         regulator-boot-on;
485                                 };
486
487                                 ldoln_reg: ldoln {
488                                         /* VDDA_1v8_REF: vdds_osc/mm_l4per.. */
489                                         regulator-name = "ldoln";
490                                         regulator-min-microvolt = <1800000>;
491                                         regulator-max-microvolt = <1800000>;
492                                         regulator-always-on;
493                                         regulator-boot-on;
494                                 };
495
496                                 ldousb_reg: ldousb {
497                                         /* VDDA_3V_USB: VDDA_USBHS33 */
498                                         regulator-name = "ldousb";
499                                         regulator-min-microvolt = <3250000>;
500                                         regulator-max-microvolt = <3250000>;
501                                         regulator-always-on;
502                                         regulator-boot-on;
503                                 };
504
505                                 regen3_reg: regen3 {
506                                         /* REGEN3 controls LDO9 supply to card */
507                                         regulator-name = "regen3";
508                                         regulator-always-on;
509                                         regulator-boot-on;
510                                 };
511                         };
512                 };
513         };
514
515         twl6040: twl@4b {
516                 compatible = "ti,twl6040";
517                 reg = <0x4b>;
518
519                 pinctrl-names = "default";
520                 pinctrl-0 = <&twl6040_pins>;
521
522                 interrupts = <GIC_SPI 119 IRQ_TYPE_NONE>; /* IRQ_SYS_2N cascaded to gic */
523                 ti,audpwron-gpio = <&gpio5 13 0>;  /* gpio line 141 */
524
525                 vio-supply = <&smps7_reg>;
526                 v2v1-supply = <&smps9_reg>;
527                 enable-active-high;
528
529                 clocks = <&clk32kgaudio>;
530                 clock-names = "clk32k";
531         };
532 };
533
534 &i2c5 {
535         pinctrl-names = "default";
536         pinctrl-0 = <&i2c5_pins>;
537
538         clock-frequency = <400000>;
539
540         gpio9: gpio@22 {
541                 compatible = "ti,tca6424";
542                 reg = <0x22>;
543                 gpio-controller;
544                 #gpio-cells = <2>;
545         };
546 };
547
548 &mcpdm {
549         pinctrl-names = "default";
550         pinctrl-0 = <&mcpdm_pins>;
551         status = "okay";
552 };
553
554 &mcbsp1 {
555         pinctrl-names = "default";
556         pinctrl-0 = <&mcbsp1_pins>;
557         status = "okay";
558 };
559
560 &mcbsp2 {
561         pinctrl-names = "default";
562         pinctrl-0 = <&mcbsp2_pins>;
563         status = "okay";
564 };
565
566 &usbhshost {
567         port2-mode = "ehci-hsic";
568         port3-mode = "ehci-hsic";
569 };
570
571 &usbhsehci {
572         phys = <0 &hsusb2_phy &hsusb3_phy>;
573 };
574
575 &usb3 {
576         extcon = <&extcon_usb3>;
577         vbus-supply = <&smps10_out1_reg>;
578 };
579
580 &mcspi1 {
581
582 };
583
584 &mcspi2 {
585         pinctrl-names = "default";
586         pinctrl-0 = <&mcspi2_pins>;
587 };
588
589 &mcspi3 {
590         pinctrl-names = "default";
591         pinctrl-0 = <&mcspi3_pins>;
592 };
593
594 &mcspi4 {
595         pinctrl-names = "default";
596         pinctrl-0 = <&mcspi4_pins>;
597 };
598
599 &uart1 {
600         pinctrl-names = "default";
601         pinctrl-0 = <&uart1_pins>;
602 };
603
604 &uart3 {
605         pinctrl-names = "default";
606         pinctrl-0 = <&uart3_pins>;
607         interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
608                               <&omap5_pmx_core 0x19c>;
609 };
610
611 &uart5 {
612         pinctrl-names = "default";
613         pinctrl-0 = <&uart5_pins>;
614 };
615
616 &cpu0 {
617         cpu0-supply = <&smps123_reg>;
618 };
619
620 &dss {
621         status = "ok";
622 };
623
624 &hdmi {
625         status = "ok";
626         vdda-supply = <&ldo4_reg>;
627
628         pinctrl-names = "default";
629         pinctrl-0 = <&dss_hdmi_pins>;
630
631         port {
632                 hdmi_out: endpoint {
633                         remote-endpoint = <&tpd12s015_in>;
634                 };
635         };
636 };