ARM: OMAP5+: Fix inverted nirq pin interrupts with irq_set_type
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / omap5-cm-t54.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Support for CompuLab CM-T54
4  */
5 /dts-v1/;
6
7 #include "omap5.dtsi"
8 #include <dt-bindings/interrupt-controller/irq.h>
9 #include <dt-bindings/interrupt-controller/arm-gic.h>
10
11 / {
12         model = "CompuLab CM-T54";
13         compatible = "compulab,omap5-cm-t54", "ti,omap5";
14
15         memory@80000000 {
16                 device_type = "memory";
17                 reg = <0 0x80000000 0 0x7f000000>; /* 2048 MB */
18         };
19
20         aliases {
21                 display0 = &hdmi0;
22                 display1 = &dvi0;
23                 display2 = &lcd0;
24         };
25
26         vmmcsd_fixed: fixed-regulator-mmcsd {
27                 compatible = "regulator-fixed";
28                 regulator-name = "vmmcsd_fixed";
29                 regulator-min-microvolt = <3300000>;
30                 regulator-max-microvolt = <3300000>;
31         };
32
33         vwlan_pdn_fixed: fixed-regulator-vwlan-pdn {
34                 compatible = "regulator-fixed";
35                 regulator-name = "vwlan_pdn_fixed";
36                 regulator-min-microvolt = <3300000>;
37                 regulator-max-microvolt = <3300000>;
38                 vin-supply = <&ldo2_reg>;
39                 gpio = <&gpio4 13 GPIO_ACTIVE_HIGH>;   /* gpio4_109 */
40                 startup-delay-us = <1000>;
41                 enable-active-high;
42         };
43
44         vwlan_fixed: fixed-regulator-vwlan {
45                 compatible = "regulator-fixed";
46                 regulator-name = "vwlan_fixed";
47                 regulator-min-microvolt = <3300000>;
48                 regulator-max-microvolt = <3300000>;
49                 vin-supply = <&vwlan_pdn_fixed>;
50                 gpio = <&gpio4 14 GPIO_ACTIVE_HIGH>;   /* gpio4_110 */
51                 startup-delay-us = <1000>;
52                 enable-active-high;
53         };
54
55         ads7846reg: ads7846-reg {
56                 compatible = "regulator-fixed";
57                 regulator-name = "ads7846-reg";
58                 regulator-min-microvolt = <3300000>;
59                 regulator-max-microvolt = <3300000>;
60         };
61
62         /* HS USB Host PHY on PORT 2 */
63         hsusb2_phy: hsusb2_phy {
64                 compatible = "usb-nop-xceiv";
65                 reset-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>; /* gpio3_76 HUB_RESET */
66                 #phy-cells = <0>;
67         };
68
69         /* HS USB Host PHY on PORT 3 */
70         hsusb3_phy: hsusb3_phy {
71                 compatible = "usb-nop-xceiv";
72                 reset-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>; /* gpio3_83 ETH_RESET */
73                 #phy-cells = <0>;
74         };
75
76         leds {
77                 compatible = "gpio-leds";
78                 led1 {
79                         label = "Heartbeat";
80                         gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>; /* gpio3_80 ACT_LED */
81                         linux,default-trigger = "heartbeat";
82                         default-state = "off";
83                 };
84         };
85
86         lcd0: display {
87                 compatible = "startek,startek-kd050c", "panel-dpi";
88                 label = "lcd";
89
90                 pinctrl-names = "default";
91                 pinctrl-0 = <&lcd_pins>;
92
93                 enable-gpios = <&gpio8 3 GPIO_ACTIVE_HIGH>;
94
95                 panel-timing {
96                         clock-frequency = <33000000>;
97                         hactive = <800>;
98                         vactive = <480>;
99                         hfront-porch = <40>;
100                         hback-porch = <40>;
101                         hsync-len = <43>;
102                         vback-porch = <29>;
103                         vfront-porch = <13>;
104                         vsync-len = <3>;
105                         hsync-active = <0>;
106                         vsync-active = <0>;
107                         de-active = <1>;
108                         pixelclk-active = <1>;
109                 };
110
111                 port {
112                         lcd_in: endpoint {
113                                 remote-endpoint = <&dpi_lcd_out>;
114                         };
115                 };
116         };
117
118         hdmi0: connector0 {
119                 compatible = "hdmi-connector";
120                 label = "hdmi";
121
122                 type = "a";
123
124                 pinctrl-names = "default";
125                 pinctrl-0 = <&hdmi_conn_pins>;
126
127                 hpd-gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>; /* GPIO 193, HPD */
128
129                 port {
130                         hdmi_connector_in: endpoint {
131                                 remote-endpoint = <&hdmi_out>;
132                         };
133                 };
134         };
135
136         tfp410: encoder0 {
137                 compatible = "ti,tfp410";
138
139                 ports {
140                         #address-cells = <1>;
141                         #size-cells = <0>;
142
143                         port@0 {
144                                 reg = <0>;
145
146                                 tfp410_in: endpoint {
147                                         remote-endpoint = <&dpi_dvi_out>;
148                                 };
149                         };
150
151                         port@1 {
152                                 reg = <1>;
153
154                                 tfp410_out: endpoint {
155                                         remote-endpoint = <&dvi_connector_in>;
156                                 };
157                         };
158                 };
159         };
160
161         dvi0: connector1 {
162                 compatible = "dvi-connector";
163                 label = "dvi";
164
165                 digital;
166
167                 ddc-i2c-bus = <&i2c2>;
168
169                 port {
170                         dvi_connector_in: endpoint {
171                                 remote-endpoint = <&tfp410_out>;
172                         };
173                 };
174         };
175 };
176
177 &omap5_pmx_wkup {
178
179         ads7846_pins: pinmux_ads7846_pins {
180                 pinctrl-single,pins = <
181                         OMAP5_IOPAD(0x0042, PIN_INPUT_PULLDOWN | MUX_MODE6)  /* llib_wakereqin.gpio1_wk15 */
182                 >;
183         };
184
185         palmas_sys_nirq_pins: pinmux_palmas_sys_nirq_pins {
186                 pinctrl-single,pins = <
187                         /* sys_nirq1 is pulled down as the SoC is inverting it for GIC */
188                         OMAP5_IOPAD(0x068, PIN_INPUT_PULLUP | MUX_MODE0)
189                 >;
190         };
191 };
192
193 &omap5_pmx_core {
194         pinctrl-names = "default";
195         pinctrl-0 = <
196                         &led_gpio_pins
197                         &usbhost_pins
198         >;
199
200         led_gpio_pins: pinmux_led_gpio_pins {
201                 pinctrl-single,pins = <
202                         OMAP5_IOPAD(0x00b0, PIN_OUTPUT | MUX_MODE6) /* hsi2_caflag.gpio3_80 */
203                 >;
204         };
205
206         i2c1_pins: pinmux_i2c1_pins {
207                 pinctrl-single,pins = <
208                         OMAP5_IOPAD(0x01f2, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_pmic_scl */
209                         OMAP5_IOPAD(0x01f4, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_pmic_sda */
210                 >;
211         };
212
213         i2c2_pins: pinmux_i2c2_pins {
214                 pinctrl-single,pins = <
215                         OMAP5_IOPAD(0x01b8, PIN_INPUT | MUX_MODE0) /* i2c2_scl */
216                         OMAP5_IOPAD(0x01ba, PIN_INPUT | MUX_MODE0) /* i2c2_sda */
217                 >;
218         };
219
220         mmc1_pins: pinmux_mmc1_pins {
221                 pinctrl-single,pins = <
222                         OMAP5_IOPAD(0x01e2, PIN_INPUT_PULLUP | MUX_MODE0) /* sdcard_clk */
223                         OMAP5_IOPAD(0x01e4, PIN_INPUT_PULLUP | MUX_MODE0) /* sdcard_cmd */
224                         OMAP5_IOPAD(0x01e6, PIN_INPUT_PULLUP | MUX_MODE0) /* sdcard_data2 */
225                         OMAP5_IOPAD(0x01e8, PIN_INPUT_PULLUP | MUX_MODE0) /* sdcard_data3 */
226                         OMAP5_IOPAD(0x01ea, PIN_INPUT_PULLUP | MUX_MODE0) /* sdcard_data0 */
227                         OMAP5_IOPAD(0x01ec, PIN_INPUT_PULLUP | MUX_MODE0) /* sdcard_data1 */
228                 >;
229         };
230
231         mmc2_pins: pinmux_mmc2_pins {
232                 pinctrl-single,pins = <
233                         OMAP5_IOPAD(0x0040, PIN_INPUT_PULLUP | MUX_MODE0) /* emmc_clk */
234                         OMAP5_IOPAD(0x0042, PIN_INPUT_PULLUP | MUX_MODE0) /* emmc_cmd */
235                         OMAP5_IOPAD(0x0044, PIN_INPUT_PULLUP | MUX_MODE0) /* emmc_data0 */
236                         OMAP5_IOPAD(0x0046, PIN_INPUT_PULLUP | MUX_MODE0) /* emmc_data1 */
237                         OMAP5_IOPAD(0x0048, PIN_INPUT_PULLUP | MUX_MODE0) /* emmc_data2 */
238                         OMAP5_IOPAD(0x004a, PIN_INPUT_PULLUP | MUX_MODE0) /* emmc_data3 */
239                         OMAP5_IOPAD(0x004c, PIN_INPUT_PULLUP | MUX_MODE0) /* emmc_data4 */
240                         OMAP5_IOPAD(0x004e, PIN_INPUT_PULLUP | MUX_MODE0) /* emmc_data5 */
241                         OMAP5_IOPAD(0x0050, PIN_INPUT_PULLUP | MUX_MODE0) /* emmc_data6 */
242                         OMAP5_IOPAD(0x0052, PIN_INPUT_PULLUP | MUX_MODE0) /* emmc_data7 */
243                 >;
244         };
245
246         mmc3_pins: pinmux_mmc3_pins {
247                 pinctrl-single,pins = <
248                         OMAP5_IOPAD(0x01a4, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_clk */
249                         OMAP5_IOPAD(0x01a6, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_cmd */
250                         OMAP5_IOPAD(0x01a8, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data0 */
251                         OMAP5_IOPAD(0x01aa, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data1 */
252                         OMAP5_IOPAD(0x01ac, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data2 */
253                         OMAP5_IOPAD(0x01ae, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data3 */
254                 >;
255         };
256
257         wlan_gpios_pins: pinmux_wlan_gpios_pins {
258                 pinctrl-single,pins = <
259                         OMAP5_IOPAD(0x019c, PIN_OUTPUT_PULLDOWN | MUX_MODE6) /* abemcpdm_ul_data.gpio4_109 */
260                         OMAP5_IOPAD(0x019e, PIN_OUTPUT_PULLDOWN | MUX_MODE6) /* abemcpdm_dl_data.gpio4_110 */
261                 >;
262         };
263
264         usbhost_pins: pinmux_usbhost_pins {
265                 pinctrl-single,pins = <
266                         OMAP5_IOPAD(0x00c4, PIN_INPUT | MUX_MODE0)  /* usbb2_hsic_strobe */
267                         OMAP5_IOPAD(0x00c6, PIN_INPUT | MUX_MODE0)  /* usbb2_hsic_data */
268
269                         OMAP5_IOPAD(0x01dc, PIN_INPUT | MUX_MODE0)  /* usbb3_hsic_strobe */
270                         OMAP5_IOPAD(0x01de, PIN_INPUT | MUX_MODE0)  /* usbb3_hsic_data */
271
272                         OMAP5_IOPAD(0x00a8, PIN_OUTPUT | MUX_MODE6) /* hsi2_caready.gpio3_76 */
273                         OMAP5_IOPAD(0x00b6, PIN_OUTPUT | MUX_MODE6) /* hsi2_acdata.gpio3_83 */
274                 >;
275         };
276
277         dss_hdmi_pins: pinmux_dss_hdmi_pins {
278                 pinctrl-single,pins = <
279                         OMAP5_IOPAD(0x013c, PIN_INPUT | MUX_MODE0) /* hdmi_cec */
280                         OMAP5_IOPAD(0x0140, PIN_INPUT | MUX_MODE0) /* hdmi_ddc_scl */
281                         OMAP5_IOPAD(0x0142, PIN_INPUT | MUX_MODE0) /* hdmi_ddc_sda */
282                 >;
283         };
284
285         lcd_pins: pinmux_lcd_pins {
286                 pinctrl-single,pins = <
287                         OMAP5_IOPAD(0x0172, PIN_OUTPUT_PULLDOWN | MUX_MODE6) /* timer11_pwm_evt.gpio8_227 */
288                 >;
289         };
290
291         hdmi_conn_pins: pinmux_hdmi_conn_pins {
292                 pinctrl-single,pins = <
293                         OMAP5_IOPAD(0x013e, PIN_INPUT | MUX_MODE6) /* hdmi_hpd.gpio7_193 */
294                 >;
295         };
296
297         dss_dpi_pins: pinmux_dss_dpi_pins {
298                 pinctrl-single,pins = <
299                         OMAP5_IOPAD(0x0104, PIN_OUTPUT | MUX_MODE3) /* rfbi_data15.dispc_data15 */
300                         OMAP5_IOPAD(0x0106, PIN_OUTPUT | MUX_MODE3) /* rfbi_data14.dispc_data14 */
301                         OMAP5_IOPAD(0x0108, PIN_OUTPUT | MUX_MODE3) /* rfbi_data13.dispc_data13 */
302                         OMAP5_IOPAD(0x010a, PIN_OUTPUT | MUX_MODE3) /* rfbi_data12.dispc_data12 */
303                         OMAP5_IOPAD(0x010c, PIN_OUTPUT | MUX_MODE3) /* rfbi_data11.dispc_data11 */
304                         OMAP5_IOPAD(0x010e, PIN_OUTPUT | MUX_MODE3) /* rfbi_data10.dispc_data10 */
305                         OMAP5_IOPAD(0x0110, PIN_OUTPUT | MUX_MODE3) /* rfbi_data9.dispc_data9 */
306                         OMAP5_IOPAD(0x0112, PIN_OUTPUT | MUX_MODE3) /* rfbi_data8.dispc_data8 */
307                         OMAP5_IOPAD(0x0114, PIN_OUTPUT | MUX_MODE3) /* rfbi_data7.dispc_data7 */
308                         OMAP5_IOPAD(0x0116, PIN_OUTPUT | MUX_MODE3) /* rfbi_data6.dispc_data6 */
309                         OMAP5_IOPAD(0x0118, PIN_OUTPUT | MUX_MODE3) /* rfbi_data5.dispc_data5 */
310                         OMAP5_IOPAD(0x011a, PIN_OUTPUT | MUX_MODE3) /* rfbi_data4.dispc_data4 */
311                         OMAP5_IOPAD(0x011c, PIN_OUTPUT | MUX_MODE3) /* rfbi_data3.dispc_data3 */
312                         OMAP5_IOPAD(0x011e, PIN_OUTPUT | MUX_MODE3) /* rfbi_data2.dispc_data2 */
313                         OMAP5_IOPAD(0x0120, PIN_OUTPUT | MUX_MODE3) /* rfbi_data1.dispc_data1 */
314                         OMAP5_IOPAD(0x0122, PIN_OUTPUT | MUX_MODE3) /* rfbi_data0.dispc_data0 */
315                         OMAP5_IOPAD(0x0124, PIN_OUTPUT | MUX_MODE3) /* rfbi_we.dispc_vsync */
316                         OMAP5_IOPAD(0x0126, PIN_OUTPUT | MUX_MODE3) /* rfbi_cs0.dispc_hsync */
317                         OMAP5_IOPAD(0x0128, PIN_OUTPUT | MUX_MODE3) /* rfbi_a0.dispc_de */
318                         OMAP5_IOPAD(0x012a, PIN_OUTPUT | MUX_MODE3) /* rfbi_re.dispc_pclk */
319                         OMAP5_IOPAD(0x012c, PIN_OUTPUT | MUX_MODE3) /* rfbi_hsync0.dispc_data17 */
320                         OMAP5_IOPAD(0x012e, PIN_OUTPUT | MUX_MODE3) /* rfbi_te_vsync0.dispc_data16 */
321                         OMAP5_IOPAD(0x0130, PIN_OUTPUT | MUX_MODE3) /* gpio6_182.dispc_data18 */
322                         OMAP5_IOPAD(0x0132, PIN_OUTPUT | MUX_MODE3) /* gpio6_183.dispc_data19 */
323                         OMAP5_IOPAD(0x0134, PIN_OUTPUT | MUX_MODE3) /* gpio6_184.dispc_data20 */
324                         OMAP5_IOPAD(0x0136, PIN_OUTPUT | MUX_MODE3) /* gpio6_185.dispc_data21 */
325                         OMAP5_IOPAD(0x0138, PIN_OUTPUT | MUX_MODE3) /* gpio6_186.dispc_data22 */
326                         OMAP5_IOPAD(0x013a, PIN_OUTPUT | MUX_MODE3) /* gpio6_187.dispc_data23 */
327                 >;
328         };
329
330         mcspi2_pins: pinmux_mcspi1_pins {
331                 pinctrl-single,pins = <
332                         OMAP5_IOPAD(0x00fc, PIN_INPUT | MUX_MODE0) /* mcspi2_clk */
333                         OMAP5_IOPAD(0x00fe, PIN_INPUT | MUX_MODE0) /* mcspi2_simo */
334                         OMAP5_IOPAD(0x0100, PIN_INPUT | MUX_MODE0) /* mcspi2_somi */
335                         OMAP5_IOPAD(0x0102, PIN_INPUT | MUX_MODE0) /* mcspi2_cs0 */
336                 >;
337         };
338 };
339
340 &mcspi2 {
341         pinctrl-names = "default";
342         pinctrl-0 = <&mcspi2_pins>;
343
344         /* touch controller */
345         ads7846@0 {
346                 pinctrl-names = "default";
347                 pinctrl-0 = <&ads7846_pins>;
348
349                 compatible = "ti,ads7846";
350                 vcc-supply = <&ads7846reg>;
351
352                 reg = <0>;                              /* CS0 */
353                 spi-max-frequency = <1500000>;
354
355                 interrupt-parent = <&gpio1>;
356                 interrupts = <15 0>;                    /* gpio1_wk15 */
357                 pendown-gpio = <&gpio1 15 GPIO_ACTIVE_HIGH>;
358
359
360                 ti,x-min = /bits/ 16 <0x0>;
361                 ti,x-max = /bits/ 16 <0x0fff>;
362                 ti,y-min = /bits/ 16 <0x0>;
363                 ti,y-max = /bits/ 16 <0x0fff>;
364
365                 ti,x-plate-ohms = /bits/ 16 <180>;
366                 ti,pressure-max = /bits/ 16 <255>;
367
368                 ti,debounce-max = /bits/ 16 <30>;
369                 ti,debounce-tol = /bits/ 16 <10>;
370                 ti,debounce-rep = /bits/ 16 <1>;
371
372                 wakeup-source;
373         };
374 };
375
376 &mmc1 {
377         pinctrl-names = "default";
378         pinctrl-0 = <&mmc1_pins>;
379         vmmc-supply = <&ldo9_reg>;
380         bus-width = <4>;
381 };
382
383 &mmc2 {
384         pinctrl-names = "default";
385         pinctrl-0 = <&mmc2_pins>;
386         vmmc-supply = <&vmmcsd_fixed>;
387         bus-width = <8>;
388         ti,non-removable;
389 };
390
391 &mmc3 {
392         pinctrl-names = "default";
393         pinctrl-0 = <
394                 &mmc3_pins
395                 &wlan_gpios_pins
396         >;
397         vmmc-supply = <&vwlan_fixed>;
398         bus-width = <4>;
399         ti,non-removable;
400 };
401
402 &mmc4 {
403         status = "disabled";
404 };
405
406 &mmc5 {
407         status = "disabled";
408 };
409
410 &i2c1 {
411         pinctrl-names = "default";
412         pinctrl-0 = <&i2c1_pins>;
413
414         clock-frequency = <400000>;
415
416         at24@50 {
417                 compatible = "atmel,24c02";
418                 pagesize = <16>;
419                 reg = <0x50>;
420         };
421
422         palmas: palmas@48 {
423                 compatible = "ti,palmas";
424                 reg = <0x48>;
425                 pinctrl-0 = <&palmas_sys_nirq_pins>;
426                 pinctrl-names = "default";
427                 /* sys_nirq/ext_sys_irq pins get inverted at mpuss wakeupgen */
428                 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_LOW>;
429                 interrupt-controller;
430                 #interrupt-cells = <2>;
431                 ti,system-power-controller;
432
433                 extcon_usb3: palmas_usb {
434                         compatible = "ti,palmas-usb-vid";
435                         ti,enable-vbus-detection;
436                         ti,enable-id-detection;
437                         ti,wakeup;
438                 };
439
440                 rtc {
441                         compatible = "ti,palmas-rtc";
442                         interrupt-parent = <&palmas>;
443                         interrupts = <8 IRQ_TYPE_NONE>;
444                 };
445
446                 palmas_pmic {
447                         compatible = "ti,palmas-pmic";
448                         interrupt-parent = <&palmas>;
449                         interrupts = <14 IRQ_TYPE_NONE>;
450                         interrupt-names = "short-irq";
451
452                         ti,ldo6-vibrator;
453
454                         regulators {
455                                 smps123_reg: smps123 {
456                                         /* VDD_OPP_MPU */
457                                         regulator-name = "smps123";
458                                         regulator-min-microvolt = < 600000>;
459                                         regulator-max-microvolt = <1500000>;
460                                         regulator-always-on;
461                                         regulator-boot-on;
462                                 };
463
464                                 smps45_reg: smps45 {
465                                         /* VDD_OPP_MM */
466                                         regulator-name = "smps45";
467                                         regulator-min-microvolt = < 600000>;
468                                         regulator-max-microvolt = <1310000>;
469                                         regulator-always-on;
470                                         regulator-boot-on;
471                                 };
472
473                                 smps6_reg: smps6 {
474                                         /* VDD_DDR3 - over VDD_SMPS6 */
475                                         regulator-name = "smps6";
476                                         regulator-min-microvolt = <1500000>;
477                                         regulator-max-microvolt = <1500000>;
478                                         regulator-always-on;
479                                         regulator-boot-on;
480                                 };
481
482                                 smps7_reg: smps7 {
483                                         /* VDDS_1v8_OMAP over VDDS_1v8_MAIN */
484                                         regulator-name = "smps7";
485                                         regulator-min-microvolt = <1800000>;
486                                         regulator-max-microvolt = <1800000>;
487                                         regulator-always-on;
488                                         regulator-boot-on;
489                                 };
490
491                                 smps8_reg: smps8 {
492                                         /* VDD_OPP_CORE */
493                                         regulator-name = "smps8";
494                                         regulator-min-microvolt = < 600000>;
495                                         regulator-max-microvolt = <1310000>;
496                                         regulator-always-on;
497                                         regulator-boot-on;
498                                 };
499
500                                 smps9_reg: smps9 {
501                                         /* VDDA_2v1_AUD over VDD_2v1 */
502                                         regulator-name = "smps9";
503                                         regulator-min-microvolt = <3300000>;
504                                         regulator-max-microvolt = <3300000>;
505                                         ti,smps-range = <0x80>;
506                                         regulator-always-on;
507                                         regulator-boot-on;
508                                 };
509
510                                 smps10_out2_reg: smps10_out2 {
511                                         /* VBUS_5V_OTG */
512                                         regulator-name = "smps10_out2";
513                                         regulator-min-microvolt = <5000000>;
514                                         regulator-max-microvolt = <5000000>;
515                                         regulator-always-on;
516                                         regulator-boot-on;
517                                 };
518
519                                 smps10_out1_reg: smps10_out1 {
520                                         /* VBUS_5V_OTG */
521                                         regulator-name = "smps10_out1";
522                                         regulator-min-microvolt = <5000000>;
523                                         regulator-max-microvolt = <5000000>;
524                                 };
525
526                                 ldo1_reg: ldo1 {
527                                         /* VDDAPHY_CAM: vdda_csiport */
528                                         regulator-name = "ldo1";
529                                         regulator-min-microvolt = <1800000>;
530                                         regulator-max-microvolt = <1800000>;
531                                 };
532
533                                 ldo2_reg: ldo2 {
534                                         /* VDD_3V3_WLAN */
535                                         regulator-name = "ldo2";
536                                         regulator-min-microvolt = <3300000>;
537                                         regulator-max-microvolt = <3300000>;
538                                         startup-delay-us = <1000>;
539                                 };
540
541                                 ldo3_reg: ldo3 {
542                                         /* VCC_1V5_AUD */
543                                         regulator-name = "ldo3";
544                                         regulator-min-microvolt = <1500000>;
545                                         regulator-max-microvolt = <1500000>;
546                                         regulator-always-on;
547                                         regulator-boot-on;
548                                 };
549
550                                 ldo4_reg: ldo4 {
551                                         /* VDDAPHY_DISP: vdda_dsiport/hdmi */
552                                         regulator-name = "ldo4";
553                                         regulator-min-microvolt = <1800000>;
554                                         regulator-max-microvolt = <1800000>;
555                                 };
556
557                                 ldo5_reg: ldo5 {
558                                         /* VDDA_1V8_PHY: usb/sata/hdmi.. */
559                                         regulator-name = "ldo5";
560                                         regulator-min-microvolt = <1800000>;
561                                         regulator-max-microvolt = <1800000>;
562                                         regulator-always-on;
563                                         regulator-boot-on;
564                                 };
565
566                                 ldo6_reg: ldo6 {
567                                         /* VDDS_1V2_WKUP: hsic/ldo_emu_wkup */
568                                         regulator-name = "ldo6";
569                                         regulator-min-microvolt = <1200000>;
570                                         regulator-max-microvolt = <1200000>;
571                                         regulator-always-on;
572                                         regulator-boot-on;
573                                 };
574
575                                 ldo7_reg: ldo7 {
576                                         /* VDD_VPP: vpp1 */
577                                         regulator-name = "ldo7";
578                                         regulator-min-microvolt = <2000000>;
579                                         regulator-max-microvolt = <2000000>;
580                                         /* Only for efuse reprograming! */
581                                         status = "disabled";
582                                 };
583
584                                 ldo8_reg: ldo8 {
585                                         /* VDD_3V_GP: act led/serial console */
586                                         regulator-name = "ldo8";
587                                         regulator-min-microvolt = <3000000>;
588                                         regulator-max-microvolt = <3000000>;
589                                         regulator-always-on;
590                                         regulator-boot-on;
591                                 };
592
593                                 ldo9_reg: ldo9 {
594                                         /* VCC_DV_SDIO: vdds_sdcard */
595                                         regulator-name = "ldo9";
596                                         regulator-min-microvolt = <1800000>;
597                                         regulator-max-microvolt = <3000000>;
598                                         regulator-boot-on;
599                                 };
600
601                                 ldoln_reg: ldoln {
602                                         /* VDDA_1v8_REF: vdds_osc/mm_l4per.. */
603                                         regulator-name = "ldoln";
604                                         regulator-min-microvolt = <1800000>;
605                                         regulator-max-microvolt = <1800000>;
606                                         regulator-always-on;
607                                         regulator-boot-on;
608                                 };
609
610                                 ldousb_reg: ldousb {
611                                         /* VDDA_3V_USB: VDDA_USBHS33 */
612                                         regulator-name = "ldousb";
613                                         regulator-min-microvolt = <3250000>;
614                                         regulator-max-microvolt = <3250000>;
615                                         regulator-always-on;
616                                         regulator-boot-on;
617                                 };
618
619                                 regen3_reg: regen3 {
620                                         /* REGEN3 controls LDO9 supply to card */
621                                         regulator-name = "regen3";
622                                         regulator-always-on;
623                                         regulator-boot-on;
624                                 };
625                         };
626                 };
627         };
628 };
629
630 &i2c2 {
631         pinctrl-names = "default";
632         pinctrl-0 = <&i2c2_pins>;
633
634         clock-frequency = <100000>;
635 };
636
637 &usbhshost {
638         port2-mode = "ehci-hsic";
639         port3-mode = "ehci-hsic";
640 };
641
642 &usbhsehci {
643         phys = <0 &hsusb2_phy &hsusb3_phy>;
644 };
645
646 &usb3 {
647        extcon = <&extcon_usb3>;
648        vbus-supply = <&smps10_out1_reg>;
649 };
650
651 &cpu0 {
652         cpu0-supply = <&smps123_reg>;
653 };
654
655 &dss {
656         status = "ok";
657
658         pinctrl-names = "default";
659         pinctrl-0 = <&dss_dpi_pins>;
660
661         port {
662                 #address-cells = <1>;
663                 #size-cells = <0>;
664
665                 dpi_dvi_out: endpoint@0 {
666                         reg = <0>;
667                         remote-endpoint = <&tfp410_in>;
668                         data-lines = <24>;
669                 };
670
671                 dpi_lcd_out: endpoint@1 {
672                         reg = <1>;
673                         remote-endpoint = <&lcd_in>;
674                         data-lines = <24>;
675                 };
676         };
677 };
678
679 &dsi2 {
680         status = "ok";
681         vdd-supply = <&ldo4_reg>;
682 };
683
684 &hdmi {
685         status = "ok";
686         vdda-supply = <&ldo4_reg>;
687
688         pinctrl-names = "default";
689         pinctrl-0 = <&dss_hdmi_pins>;
690
691         port {
692                 hdmi_out: endpoint {
693                         remote-endpoint = <&hdmi_connector_in>;
694                         lanes = <1 0 3 2 5 4 7 6>;
695                 };
696         };
697 };