Merge tag 'for-linus-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml
[linux-2.6-microblaze.git] / arch / arm / boot / dts / tegra30-colibri.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 #include "tegra30.dtsi"
3
4 /*
5  * Toradex Colibri T30 Module Device Tree
6  * Compatible for Revisions V1.1B, V1.1C, V1.1D, V1.1E, V1.1F; IT: V1.1A, V1.1B
7  */
8 / {
9         memory@80000000 {
10                 reg = <0x80000000 0x40000000>;
11         };
12
13         host1x@50000000 {
14                 hdmi@54280000 {
15                         nvidia,ddc-i2c-bus = <&hdmi_ddc>;
16                         nvidia,hpd-gpio =
17                                 <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
18                         pll-supply = <&reg_1v8_avdd_hdmi_pll>;
19                         vdd-supply = <&reg_3v3_avdd_hdmi>;
20                 };
21         };
22
23         pinmux@70000868 {
24                 pinctrl-names = "default";
25                 pinctrl-0 = <&state_default>;
26
27                 state_default: pinmux {
28                         /* Analogue Audio (On-module) */
29                         clk1-out-pw4 {
30                                 nvidia,pins = "clk1_out_pw4";
31                                 nvidia,function = "extperiph1";
32                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
33                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
34                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
35                         };
36                         dap3-fs-pp0 {
37                                 nvidia,pins = "dap3_fs_pp0",
38                                               "dap3_sclk_pp3",
39                                               "dap3_din_pp1",
40                                               "dap3_dout_pp2";
41                                 nvidia,function = "i2s2";
42                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
43                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
44                         };
45
46                         /* Colibri Address/Data Bus (GMI) */
47                         gmi-ad0-pg0 {
48                                 nvidia,pins = "gmi_ad0_pg0",
49                                               "gmi_ad2_pg2",
50                                               "gmi_ad3_pg3",
51                                               "gmi_ad4_pg4",
52                                               "gmi_ad5_pg5",
53                                               "gmi_ad6_pg6",
54                                               "gmi_ad7_pg7",
55                                               "gmi_ad8_ph0",
56                                               "gmi_ad9_ph1",
57                                               "gmi_ad10_ph2",
58                                               "gmi_ad11_ph3",
59                                               "gmi_ad12_ph4",
60                                               "gmi_ad13_ph5",
61                                               "gmi_ad14_ph6",
62                                               "gmi_ad15_ph7",
63                                               "gmi_adv_n_pk0",
64                                               "gmi_clk_pk1",
65                                               "gmi_cs4_n_pk2",
66                                               "gmi_cs2_n_pk3",
67                                               "gmi_iordy_pi5",
68                                               "gmi_oe_n_pi1",
69                                               "gmi_wait_pi7",
70                                               "gmi_wr_n_pi0",
71                                               "dap1_fs_pn0",
72                                               "dap1_din_pn1",
73                                               "dap1_dout_pn2",
74                                               "dap1_sclk_pn3",
75                                               "dap2_fs_pa2",
76                                               "dap2_sclk_pa3",
77                                               "dap2_din_pa4",
78                                               "dap2_dout_pa5",
79                                               "spi1_sck_px5",
80                                               "spi1_mosi_px4",
81                                               "spi1_cs0_n_px6",
82                                               "spi2_cs0_n_px3",
83                                               "spi2_miso_px1",
84                                               "spi2_mosi_px0",
85                                               "spi2_sck_px2",
86                                               "uart2_cts_n_pj5",
87                                               "uart2_rts_n_pj6";
88                                 nvidia,function = "gmi";
89                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
90                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
91                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
92                         };
93                         /* Further pins may be used as GPIOs */
94                         dap4-din-pp5 {
95                                 nvidia,pins = "dap4_din_pp5",
96                                               "dap4_dout_pp6",
97                                               "dap4_fs_pp4",
98                                               "dap4_sclk_pp7",
99                                               "pbb7",
100                                               "sdmmc1_clk_pz0",
101                                               "sdmmc1_cmd_pz1",
102                                               "sdmmc1_dat0_py7",
103                                               "sdmmc1_dat1_py6",
104                                               "sdmmc1_dat3_py4",
105                                               "uart3_cts_n_pa1",
106                                               "uart3_txd_pw6",
107                                               "uart3_rxd_pw7";
108                                 nvidia,function = "rsvd2";
109                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
110                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
111                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
112                         };
113                         lcd-d18-pm2 {
114                                 nvidia,pins = "lcd_d18_pm2",
115                                               "lcd_d19_pm3",
116                                               "lcd_d20_pm4",
117                                               "lcd_d21_pm5",
118                                               "lcd_d22_pm6",
119                                               "lcd_d23_pm7",
120                                               "lcd_dc0_pn6",
121                                               "pex_l2_clkreq_n_pcc7";
122                                 nvidia,function = "rsvd3";
123                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
124                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
125                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
126                         };
127                         lcd-cs0-n-pn4 {
128                                 nvidia,pins = "lcd_cs0_n_pn4",
129                                               "lcd_sdin_pz2",
130                                               "pu0",
131                                               "pu1",
132                                               "pu2",
133                                               "pu3",
134                                               "pu4",
135                                               "pu5",
136                                               "pu6",
137                                               "spi1_miso_px7",
138                                               "uart3_rts_n_pc0";
139                                 nvidia,function = "rsvd4";
140                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
141                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
142                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
143                         };
144                         lcd-pwr0-pb2 {
145                                 nvidia,pins = "lcd_pwr0_pb2",
146                                               "lcd_sck_pz4",
147                                               "lcd_sdout_pn5",
148                                               "lcd_wr_n_pz3";
149                                 nvidia,function = "hdcp";
150                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
151                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
152                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
153                         };
154                         pbb4 {
155                                 nvidia,pins = "pbb4",
156                                               "pbb5",
157                                               "pbb6";
158                                 nvidia,function = "displayb";
159                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
160                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
161                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
162                         };
163                         /* Multiplexed RDnWR and therefore disabled */
164                         lcd-cs1-n-pw0 {
165                                 nvidia,pins = "lcd_cs1_n_pw0";
166                                 nvidia,function = "rsvd4";
167                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
168                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
169                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
170                         };
171                         /* Multiplexed GMI_CLK and therefore disabled */
172                         owr {
173                                 nvidia,pins = "owr";
174                                 nvidia,function = "rsvd3";
175                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
176                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
177                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
178                         };
179                         /* Tri-stating GMI_WR_N on nPWE SODIMM pin 99 */
180                         sdmmc3-dat4-pd1 {
181                                 nvidia,pins = "sdmmc3_dat4_pd1";
182                                 nvidia,function = "sdmmc3";
183                                 nvidia,pull = <TEGRA_PIN_PULL_UP>;
184                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
185                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
186                         };
187                         /* Not tri-stating GMI_WR_N on RDnWR SODIMM pin 93 */
188                         sdmmc3-dat5-pd0 {
189                                 nvidia,pins = "sdmmc3_dat5_pd0";
190                                 nvidia,function = "sdmmc3";
191                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
192                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
193                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
194                         };
195
196                         /* Colibri BL_ON */
197                         pv2 {
198                                 nvidia,pins = "pv2";
199                                 nvidia,function = "rsvd4";
200                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
201                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
202                         };
203
204                         /* Colibri Backlight PWM<A> */
205                         sdmmc3-dat3-pb4 {
206                                 nvidia,pins = "sdmmc3_dat3_pb4";
207                                 nvidia,function = "pwm0";
208                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
209                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
210                         };
211
212                         /* Colibri CAN_INT */
213                         kb-row8-ps0 {
214                                 nvidia,pins = "kb_row8_ps0";
215                                 nvidia,function = "kbc";
216                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
217                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
218                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
219                         };
220
221                         /* Colibri DDC */
222                         ddc-scl-pv4 {
223                                 nvidia,pins = "ddc_scl_pv4",
224                                               "ddc_sda_pv5";
225                                 nvidia,function = "i2c4";
226                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
227                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
228                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
229                         };
230
231                         /* Colibri EXT_IO* */
232                         gen2-i2c-scl-pt5 {
233                                 nvidia,pins = "gen2_i2c_scl_pt5",
234                                               "gen2_i2c_sda_pt6";
235                                 nvidia,function = "rsvd4";
236                                 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
237                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
238                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
239                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
240                         };
241                         spdif-in-pk6 {
242                                 nvidia,pins =   "spdif_in_pk6";
243                                 nvidia,function = "hda";
244                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
245                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
246                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
247                         };
248
249                         /* Colibri GPIO */
250                         clk2-out-pw5 {
251                                 nvidia,pins = "clk2_out_pw5",
252                                               "pcc2",
253                                               "pv3",
254                                               "sdmmc1_dat2_py5";
255                                 nvidia,function = "rsvd2";
256                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
257                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
258                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
259                         };
260                         lcd-pwr1-pc1 {
261                                 nvidia,pins = "lcd_pwr1_pc1",
262                                               "pex_l1_clkreq_n_pdd6",
263                                               "pex_l1_rst_n_pdd5";
264                                 nvidia,function = "rsvd3";
265                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
266                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
267                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
268                         };
269                         pv1 {
270                                 nvidia,pins = "pv1",
271                                               "sdmmc3_dat0_pb7",
272                                               "sdmmc3_dat1_pb6";
273                                 nvidia,function = "rsvd1";
274                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
275                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
276                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
277                         };
278
279                         /* Colibri HOTPLUG_DETECT (HDMI) */
280                         hdmi-int-pn7 {
281                                 nvidia,pins = "hdmi_int_pn7";
282                                 nvidia,function = "hdmi";
283                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
284                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
285                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
286                         };
287
288                         /* Colibri I2C */
289                         gen1-i2c-scl-pc4 {
290                                 nvidia,pins = "gen1_i2c_scl_pc4",
291                                               "gen1_i2c_sda_pc5";
292                                 nvidia,function = "i2c1";
293                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
294                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
295                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
296                                 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
297                         };
298
299                         /* Colibri LCD (L_* resp. LDD<*>) */
300                         lcd-d0-pe0 {
301                                 nvidia,pins = "lcd_d0_pe0",
302                                               "lcd_d1_pe1",
303                                               "lcd_d2_pe2",
304                                               "lcd_d3_pe3",
305                                               "lcd_d4_pe4",
306                                               "lcd_d5_pe5",
307                                               "lcd_d6_pe6",
308                                               "lcd_d7_pe7",
309                                               "lcd_d8_pf0",
310                                               "lcd_d9_pf1",
311                                               "lcd_d10_pf2",
312                                               "lcd_d11_pf3",
313                                               "lcd_d12_pf4",
314                                               "lcd_d13_pf5",
315                                               "lcd_d14_pf6",
316                                               "lcd_d15_pf7",
317                                               "lcd_d16_pm0",
318                                               "lcd_d17_pm1",
319                                               "lcd_de_pj1",
320                                               "lcd_hsync_pj3",
321                                               "lcd_pclk_pb3",
322                                               "lcd_vsync_pj4";
323                                 nvidia,function = "displaya";
324                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
325                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
326                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
327                         };
328                         /*
329                          * Colibri L_BIAS, LCD_M1 is muxed with LCD_DE
330                          * today's display need DE, disable LCD_M1
331                          */
332                         lcd-m1-pw1 {
333                                 nvidia,pins = "lcd_m1_pw1";
334                                 nvidia,function = "rsvd3";
335                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
336                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
337                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
338                         };
339
340                         /* Colibri MMC */
341                         kb-row10-ps2 {
342                                 nvidia,pins = "kb_row10_ps2";
343                                 nvidia,function = "sdmmc2";
344                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
345                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
346                         };
347                         kb-row11-ps3 {
348                                 nvidia,pins = "kb_row11_ps3",
349                                               "kb_row12_ps4",
350                                               "kb_row13_ps5",
351                                               "kb_row14_ps6",
352                                               "kb_row15_ps7";
353                                 nvidia,function = "sdmmc2";
354                                 nvidia,pull = <TEGRA_PIN_PULL_UP>;
355                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
356                         };
357                         /* Colibri MMC_CD */
358                         gmi-wp-n-pc7 {
359                                 nvidia,pins = "gmi_wp_n_pc7";
360                                 nvidia,function = "rsvd1";
361                                 nvidia,pull = <TEGRA_PIN_PULL_UP>;
362                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
363                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
364                         };
365                         /* Multiplexed and therefore disabled */
366                         cam-mclk-pcc0 {
367                                 nvidia,pins =   "cam_mclk_pcc0";
368                                 nvidia,function = "vi_alt3";
369                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
370                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
371                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
372                         };
373                         cam-i2c-scl-pbb1 {
374                                 nvidia,pins = "cam_i2c_scl_pbb1",
375                                               "cam_i2c_sda_pbb2";
376                                 nvidia,function = "rsvd3";
377                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
378                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
379                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
380                                 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
381                         };
382                         pbb0 {
383                                 nvidia,pins = "pbb0",
384                                               "pcc1";
385                                 nvidia,function = "rsvd2";
386                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
387                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
388                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
389                         };
390                         pbb3 {
391                                 nvidia,pins = "pbb3";
392                                 nvidia,function = "displayb";
393                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
394                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
395                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
396                         };
397
398                         /* Colibri nRESET_OUT */
399                         gmi-rst-n-pi4 {
400                                 nvidia,pins = "gmi_rst_n_pi4";
401                                 nvidia,function = "gmi";
402                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
403                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
404                         };
405
406                         /*
407                          * Colibri Parallel Camera (Optional)
408                          * pins multiplexed with others and therefore disabled
409                          */
410                         vi-vsync-pd6 {
411                                 nvidia,pins = "vi_d0_pt4",
412                                               "vi_d1_pd5",
413                                               "vi_d2_pl0",
414                                               "vi_d3_pl1",
415                                               "vi_d4_pl2",
416                                               "vi_d5_pl3",
417                                               "vi_d6_pl4",
418                                               "vi_d7_pl5",
419                                               "vi_d8_pl6",
420                                               "vi_d9_pl7",
421                                               "vi_d10_pt2",
422                                               "vi_d11_pt3",
423                                               "vi_hsync_pd7",
424                                               "vi_mclk_pt1",
425                                               "vi_pclk_pt0",
426                                               "vi_vsync_pd6";
427                                 nvidia,function = "vi";
428                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
429                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
430                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
431                         };
432
433                         /* Colibri PWM<B> */
434                         sdmmc3-dat2-pb5 {
435                                 nvidia,pins = "sdmmc3_dat2_pb5";
436                                 nvidia,function = "pwm1";
437                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
438                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
439                         };
440
441                         /* Colibri PWM<C> */
442                         sdmmc3-clk-pa6 {
443                                 nvidia,pins = "sdmmc3_clk_pa6";
444                                 nvidia,function = "pwm2";
445                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
446                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
447                         };
448
449                         /* Colibri PWM<D> */
450                         sdmmc3-cmd-pa7 {
451                                 nvidia,pins = "sdmmc3_cmd_pa7";
452                                 nvidia,function = "pwm3";
453                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
454                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
455                         };
456
457                         /* Colibri SSP */
458                         ulpi-clk-py0 {
459                                 nvidia,pins = "ulpi_clk_py0",
460                                               "ulpi_dir_py1",
461                                               "ulpi_nxt_py2",
462                                               "ulpi_stp_py3";
463                                 nvidia,function = "spi1";
464                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
465                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
466                         };
467                         /* Multiplexed SSPFRM, SSPTXD and therefore disabled */
468                         sdmmc3-dat6-pd3 {
469                                 nvidia,pins = "sdmmc3_dat6_pd3",
470                                               "sdmmc3_dat7_pd4";
471                                 nvidia,function = "spdif";
472                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
473                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
474                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
475                         };
476
477                         /* Colibri UART-A */
478                         ulpi-data0 {
479                                 nvidia,pins = "ulpi_data0_po1",
480                                               "ulpi_data1_po2",
481                                               "ulpi_data2_po3",
482                                               "ulpi_data3_po4",
483                                               "ulpi_data4_po5",
484                                               "ulpi_data5_po6",
485                                               "ulpi_data6_po7",
486                                               "ulpi_data7_po0";
487                                 nvidia,function = "uarta";
488                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
489                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
490                         };
491
492                         /* Colibri UART-B */
493                         gmi-a16-pj7 {
494                                 nvidia,pins = "gmi_a16_pj7",
495                                               "gmi_a17_pb0",
496                                               "gmi_a18_pb1",
497                                               "gmi_a19_pk7";
498                                 nvidia,function = "uartd";
499                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
500                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
501                         };
502
503                         /* Colibri UART-C */
504                         uart2-rxd {
505                                 nvidia,pins = "uart2_rxd_pc3",
506                                               "uart2_txd_pc2";
507                                 nvidia,function = "uartb";
508                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
509                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
510                         };
511
512                         /* Colibri USBC_DET */
513                         spdif-out-pk5 {
514                                 nvidia,pins =   "spdif_out_pk5";
515                                 nvidia,function = "rsvd2";
516                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
517                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
518                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
519                         };
520
521                         /* Colibri USBH_PEN */
522                         spi2-cs1-n-pw2 {
523                                 nvidia,pins = "spi2_cs1_n_pw2";
524                                 nvidia,function = "spi2_alt";
525                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
526                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
527                         };
528
529                         /* Colibri USBH_OC */
530                         spi2-cs2-n-pw3 {
531                                 nvidia,pins = "spi2_cs2_n_pw3";
532                                 nvidia,function = "spi2_alt";
533                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
534                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
535                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
536                         };
537
538                         /* Colibri VGA not supported and therefore disabled */
539                         crt-hsync-pv6 {
540                                 nvidia,pins = "crt_hsync_pv6",
541                                               "crt_vsync_pv7";
542                                 nvidia,function = "rsvd2";
543                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
544                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
545                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
546                         };
547
548                         /* eMMC (On-module) */
549                         sdmmc4-clk-pcc4 {
550                                 nvidia,pins = "sdmmc4_clk_pcc4",
551                                               "sdmmc4_cmd_pt7",
552                                               "sdmmc4_rst_n_pcc3";
553                                 nvidia,function = "sdmmc4";
554                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
555                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
556                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
557                         };
558                         sdmmc4-dat0-paa0 {
559                                 nvidia,pins = "sdmmc4_dat0_paa0",
560                                               "sdmmc4_dat1_paa1",
561                                               "sdmmc4_dat2_paa2",
562                                               "sdmmc4_dat3_paa3",
563                                               "sdmmc4_dat4_paa4",
564                                               "sdmmc4_dat5_paa5",
565                                               "sdmmc4_dat6_paa6",
566                                               "sdmmc4_dat7_paa7";
567                                 nvidia,function = "sdmmc4";
568                                 nvidia,pull = <TEGRA_PIN_PULL_UP>;
569                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
570                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
571                         };
572
573                         /* LAN_EXT_WAKEUP#, LAN_PME (On-module) */
574                         pex-l0-rst-n-pdd1 {
575                                 nvidia,pins = "pex_l0_rst_n_pdd1",
576                                               "pex_wake_n_pdd3";
577                                 nvidia,function = "rsvd3";
578                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
579                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
580                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
581                         };
582                         /* LAN_V_BUS, LAN_RESET# (On-module) */
583                         pex-l0-clkreq-n-pdd2 {
584                                 nvidia,pins = "pex_l0_clkreq_n_pdd2",
585                                               "pex_l0_prsnt_n_pdd0";
586                                 nvidia,function = "rsvd3";
587                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
588                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
589                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
590                         };
591
592                         /* nBATT_FAULT(SENSE), nVDD_FAULT(SENSE) */
593                         pex-l2-rst-n-pcc6 {
594                                 nvidia,pins = "pex_l2_rst_n_pcc6",
595                                               "pex_l2_prsnt_n_pdd7";
596                                 nvidia,function = "rsvd3";
597                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
598                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
599                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
600                         };
601
602                         /* Not connected and therefore disabled */
603                         clk1-req-pee2 {
604                                 nvidia,pins = "clk1_req_pee2",
605                                               "pex_l1_prsnt_n_pdd4";
606                                 nvidia,function = "rsvd3";
607                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
608                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
609                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
610                         };
611                         clk2-req-pcc5 {
612                                 nvidia,pins = "clk2_req_pcc5",
613                                               "clk3_out_pee0",
614                                               "clk3_req_pee1",
615                                               "clk_32k_out_pa0",
616                                               "hdmi_cec_pee3",
617                                               "sys_clk_req_pz5";
618                                 nvidia,function = "rsvd2";
619                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
620                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
621                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
622                         };
623                         gmi-dqs-pi2 {
624                                 nvidia,pins = "gmi_dqs_pi2",
625                                               "kb_col2_pq2",
626                                               "kb_col3_pq3",
627                                               "kb_col4_pq4",
628                                               "kb_col5_pq5",
629                                               "kb_row4_pr4";
630                                 nvidia,function = "rsvd4";
631                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
632                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
633                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
634                         };
635                         kb-col0-pq0 {
636                                 nvidia,pins = "kb_col0_pq0",
637                                               "kb_col1_pq1",
638                                               "kb_col6_pq6",
639                                               "kb_col7_pq7",
640                                               "kb_row5_pr5",
641                                               "kb_row6_pr6",
642                                               "kb_row7_pr7",
643                                               "kb_row9_ps1";
644                                 nvidia,function = "kbc";
645                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
646                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
647                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
648                         };
649                         kb-row0-pr0 {
650                                 nvidia,pins = "kb_row0_pr0",
651                                               "kb_row1_pr1",
652                                               "kb_row2_pr2",
653                                               "kb_row3_pr3";
654                                 nvidia,function = "rsvd3";
655                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
656                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
657                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
658                         };
659                         lcd-pwr2-pc6 {
660                                 nvidia,pins = "lcd_pwr2_pc6";
661                                 nvidia,function = "hdcp";
662                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
663                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
664                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
665                         };
666
667                         /* Power I2C (On-module) */
668                         pwr-i2c-scl-pz6 {
669                                 nvidia,pins = "pwr_i2c_scl_pz6",
670                                               "pwr_i2c_sda_pz7";
671                                 nvidia,function = "i2cpwr";
672                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
673                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
674                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
675                                 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
676                         };
677
678                         /*
679                          * THERMD_ALERT#, unlatched I2C address pin of LM95245
680                          * temperature sensor therefore requires disabling for
681                          * now
682                          */
683                         lcd-dc1-pd2 {
684                                 nvidia,pins = "lcd_dc1_pd2";
685                                 nvidia,function = "rsvd3";
686                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
687                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
688                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
689                         };
690
691                         /* TOUCH_PEN_INT# (On-module) */
692                         pv0 {
693                                 nvidia,pins = "pv0";
694                                 nvidia,function = "rsvd1";
695                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
696                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
697                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
698                         };
699                 };
700         };
701
702         serial@70006040 {
703                 compatible = "nvidia,tegra30-hsuart";
704         };
705
706         serial@70006300 {
707                 compatible = "nvidia,tegra30-hsuart";
708         };
709
710         hdmi_ddc: i2c@7000c700 {
711                 clock-frequency = <10000>;
712         };
713
714         /*
715          * PWR_I2C: power I2C to audio codec, PMIC, temperature sensor and
716          * touch screen controller (On-module)
717          */
718         i2c@7000d000 {
719                 status = "okay";
720                 clock-frequency = <100000>;
721
722                 /* SGTL5000 audio codec */
723                 sgtl5000: codec@a {
724                         compatible = "fsl,sgtl5000";
725                         reg = <0x0a>;
726                         #sound-dai-cells = <0>;
727                         VDDA-supply = <&reg_module_3v3_audio>;
728                         VDDD-supply = <&reg_1v8_vio>;
729                         VDDIO-supply = <&reg_module_3v3>;
730                         clocks = <&tegra_car TEGRA30_CLK_EXTERN1>;
731                 };
732
733                 pmic: pmic@2d {
734                         compatible = "ti,tps65911";
735                         reg = <0x2d>;
736
737                         interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
738                         #interrupt-cells = <2>;
739                         interrupt-controller;
740                         wakeup-source;
741
742                         ti,system-power-controller;
743
744                         #gpio-cells = <2>;
745                         gpio-controller;
746
747                         vcc1-supply = <&reg_module_3v3>;
748                         vcc2-supply = <&reg_module_3v3>;
749                         vcc3-supply = <&reg_1v8_vio>;
750                         vcc4-supply = <&reg_module_3v3>;
751                         vcc5-supply = <&reg_module_3v3>;
752                         vcc6-supply = <&reg_1v8_vio>;
753                         vcc7-supply = <&reg_5v0_charge_pump>;
754                         vccio-supply = <&reg_module_3v3>;
755
756                         regulators {
757                                 vdd1_reg: vdd1 {
758                                         regulator-name = "+V1.35_VDDIO_DDR";
759                                         regulator-min-microvolt = <1350000>;
760                                         regulator-max-microvolt = <1350000>;
761                                         regulator-always-on;
762                                 };
763
764                                 /* SW2: unused */
765
766                                 vddctrl_reg: vddctrl {
767                                         regulator-name = "+V1.0_VDD_CPU";
768                                         regulator-min-microvolt = <1150000>;
769                                         regulator-max-microvolt = <1150000>;
770                                         regulator-always-on;
771                                 };
772
773                                 reg_1v8_vio: vio {
774                                         regulator-name = "+V1.8";
775                                         regulator-min-microvolt = <1800000>;
776                                         regulator-max-microvolt = <1800000>;
777                                         regulator-always-on;
778                                 };
779
780                                 /* LDO1: unused */
781
782                                 /*
783                                  * EN_+V3.3 switching via FET:
784                                  * +V3.3_AUDIO_AVDD_S, +V3.3 and +V1.8_VDD_LAN
785                                  * see also +V3.3 fixed supply
786                                  */
787                                 ldo2_reg: ldo2 {
788                                         regulator-name = "EN_+V3.3";
789                                         regulator-min-microvolt = <3300000>;
790                                         regulator-max-microvolt = <3300000>;
791                                         regulator-always-on;
792                                 };
793
794                                 /* LDO3: unused */
795
796                                 ldo4_reg: ldo4 {
797                                         regulator-name = "+V1.2_VDD_RTC";
798                                         regulator-min-microvolt = <1200000>;
799                                         regulator-max-microvolt = <1200000>;
800                                         regulator-always-on;
801                                 };
802
803                                 /*
804                                  * +V2.8_AVDD_VDAC:
805                                  * only required for (unsupported) analog RGB
806                                  */
807                                 ldo5_reg: ldo5 {
808                                         regulator-name = "+V2.8_AVDD_VDAC";
809                                         regulator-min-microvolt = <2800000>;
810                                         regulator-max-microvolt = <2800000>;
811                                         regulator-always-on;
812                                 };
813
814                                 /*
815                                  * +V1.05_AVDD_PLLE: avdd_plle should be 1.05V
816                                  * but LDO6 can't set voltage in 50mV
817                                  * granularity
818                                  */
819                                 ldo6_reg: ldo6 {
820                                         regulator-name = "+V1.05_AVDD_PLLE";
821                                         regulator-min-microvolt = <1100000>;
822                                         regulator-max-microvolt = <1100000>;
823                                 };
824
825                                 ldo7_reg: ldo7 {
826                                         regulator-name = "+V1.2_AVDD_PLL";
827                                         regulator-min-microvolt = <1200000>;
828                                         regulator-max-microvolt = <1200000>;
829                                         regulator-always-on;
830                                 };
831
832                                 ldo8_reg: ldo8 {
833                                         regulator-name = "+V1.0_VDD_DDR_HS";
834                                         regulator-min-microvolt = <1000000>;
835                                         regulator-max-microvolt = <1000000>;
836                                         regulator-always-on;
837                                 };
838                         };
839                 };
840
841                 /* STMPE811 touch screen controller */
842                 touchscreen@41 {
843                         compatible = "st,stmpe811";
844                         reg = <0x41>;
845                         irq-gpio = <&gpio TEGRA_GPIO(V, 0) IRQ_TYPE_LEVEL_LOW>;
846                         interrupt-controller;
847                         id = <0>;
848                         blocks = <0x5>;
849                         irq-trigger = <0x1>;
850                         /* 3.25 MHz ADC clock speed */
851                         st,adc-freq = <1>;
852                         /* 12-bit ADC */
853                         st,mod-12b = <1>;
854                         /* internal ADC reference */
855                         st,ref-sel = <0>;
856                         /* ADC converstion time: 80 clocks */
857                         st,sample-time = <4>;
858                         /* forbid to use ADC channels 3-0 (touch) */
859
860                         stmpe_touchscreen {
861                                 compatible = "st,stmpe-ts";
862                                 /* 8 sample average control */
863                                 st,ave-ctrl = <3>;
864                                 /* 7 length fractional part in z */
865                                 st,fraction-z = <7>;
866                                 /*
867                                  * 50 mA typical 80 mA max touchscreen drivers
868                                  * current limit value
869                                  */
870                                 st,i-drive = <1>;
871                                 /* 1 ms panel driver settling time */
872                                 st,settling = <3>;
873                                 /* 5 ms touch detect interrupt delay */
874                                 st,touch-det-delay = <5>;
875                         };
876
877                         stmpe_adc {
878                                 compatible = "st,stmpe-adc";
879                                 st,norequest-mask = <0x0F>;
880                         };
881                 };
882
883                 /*
884                  * LM95245 temperature sensor
885                  * Note: OVERT1# directly connected to TPS65911 PMIC PWRDN
886                  */
887                 temp-sensor@4c {
888                         compatible = "national,lm95245";
889                         reg = <0x4c>;
890                 };
891
892                 /* SW: +V1.2_VDD_CORE */
893                 regulator@60 {
894                         compatible = "ti,tps62362";
895                         reg = <0x60>;
896
897                         regulator-name = "tps62362-vout";
898                         regulator-min-microvolt = <900000>;
899                         regulator-max-microvolt = <1400000>;
900                         regulator-boot-on;
901                         regulator-always-on;
902                         ti,vsel0-state-low;
903                         /* VSEL1: EN_CORE_DVFS_N low for DVFS */
904                         ti,vsel1-state-low;
905                 };
906         };
907
908         pmc@7000e400 {
909                 nvidia,invert-interrupt;
910                 nvidia,suspend-mode = <1>;
911                 nvidia,cpu-pwr-good-time = <5000>;
912                 nvidia,cpu-pwr-off-time = <5000>;
913                 nvidia,core-pwr-good-time = <3845 3845>;
914                 nvidia,core-pwr-off-time = <0>;
915                 nvidia,core-power-req-active-high;
916                 nvidia,sys-clock-req-active-high;
917
918                 /* Set DEV_OFF bit in DCDC control register of TPS65911 PMIC */
919                 i2c-thermtrip {
920                         nvidia,i2c-controller-id = <4>;
921                         nvidia,bus-addr = <0x2d>;
922                         nvidia,reg-addr = <0x3f>;
923                         nvidia,reg-data = <0x1>;
924                 };
925         };
926
927         hda@70030000 {
928                 status = "okay";
929         };
930
931         ahub@70080000 {
932                 i2s@70080500 {
933                         status = "okay";
934                 };
935         };
936
937         /* eMMC */
938         mmc@78000600 {
939                 status = "okay";
940                 bus-width = <8>;
941                 non-removable;
942                 vmmc-supply = <&reg_module_3v3>; /* VCC */
943                 vqmmc-supply = <&reg_1v8_vio>; /* VCCQ */
944                 mmc-ddr-1_8v;
945         };
946
947         /* EHCI instance 1: USB2_DP/N -> AX88772B (On-module) */
948         usb@7d004000 {
949                 status = "okay";
950                 #address-cells = <1>;
951                 #size-cells = <0>;
952
953                 asix@1 {
954                         reg = <1>;
955                         local-mac-address = [00 00 00 00 00 00];
956                 };
957         };
958
959         usb-phy@7d004000 {
960                 status = "okay";
961                 vbus-supply = <&reg_lan_v_bus>;
962         };
963
964         clk32k_in: xtal1 {
965                 compatible = "fixed-clock";
966                 #clock-cells = <0>;
967                 clock-frequency = <32768>;
968         };
969
970         reg_1v8_avdd_hdmi_pll: regulator-1v8-avdd-hdmi-pll {
971                 compatible = "regulator-fixed";
972                 regulator-name = "+V1.8_AVDD_HDMI_PLL";
973                 regulator-min-microvolt = <1800000>;
974                 regulator-max-microvolt = <1800000>;
975                 enable-active-high;
976                 gpio = <&pmic 6 GPIO_ACTIVE_HIGH>;
977                 vin-supply = <&reg_1v8_vio>;
978         };
979
980         reg_3v3_avdd_hdmi: regulator-3v3-avdd-hdmi {
981                 compatible = "regulator-fixed";
982                 regulator-name = "+V3.3_AVDD_HDMI";
983                 regulator-min-microvolt = <3300000>;
984                 regulator-max-microvolt = <3300000>;
985                 enable-active-high;
986                 gpio = <&pmic 6 GPIO_ACTIVE_HIGH>;
987                 vin-supply = <&reg_module_3v3>;
988         };
989
990         reg_5v0_charge_pump: regulator-5v0-charge-pump {
991                 compatible = "regulator-fixed";
992                 regulator-name = "+V5.0";
993                 regulator-min-microvolt = <5000000>;
994                 regulator-max-microvolt = <5000000>;
995                 regulator-always-on;
996         };
997
998         reg_lan_v_bus: regulator-lan-v-bus {
999                 compatible = "regulator-fixed";
1000                 regulator-name = "LAN_V_BUS";
1001                 regulator-min-microvolt = <5000000>;
1002                 regulator-max-microvolt = <5000000>;
1003                 enable-active-high;
1004                 gpio = <&gpio TEGRA_GPIO(DD, 2) GPIO_ACTIVE_HIGH>;
1005         };
1006
1007         reg_module_3v3: regulator-module-3v3 {
1008                 compatible = "regulator-fixed";
1009                 regulator-name = "+V3.3";
1010                 regulator-min-microvolt = <3300000>;
1011                 regulator-max-microvolt = <3300000>;
1012                 regulator-always-on;
1013         };
1014
1015         reg_module_3v3_audio: regulator-module-3v3-audio {
1016                 compatible = "regulator-fixed";
1017                 regulator-name = "+V3.3_AUDIO_AVDD_S";
1018                 regulator-min-microvolt = <3300000>;
1019                 regulator-max-microvolt = <3300000>;
1020                 regulator-always-on;
1021         };
1022
1023         sound {
1024                 compatible = "toradex,tegra-audio-sgtl5000-colibri_t30",
1025                              "nvidia,tegra-audio-sgtl5000";
1026                 nvidia,model = "Toradex Colibri T30";
1027                 nvidia,audio-routing =
1028                         "Headphone Jack", "HP_OUT",
1029                         "LINE_IN", "Line In Jack",
1030                         "MIC_IN", "Mic Jack";
1031                 nvidia,i2s-controller = <&tegra_i2s2>;
1032                 nvidia,audio-codec = <&sgtl5000>;
1033                 clocks = <&tegra_car TEGRA30_CLK_PLL_A>,
1034                          <&tegra_car TEGRA30_CLK_PLL_A_OUT0>,
1035                          <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
1036                 clock-names = "pll_a", "pll_a_out0", "mclk";
1037
1038                 assigned-clocks = <&tegra_car TEGRA30_CLK_EXTERN1>,
1039                                   <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
1040
1041                 assigned-clock-parents = <&tegra_car TEGRA30_CLK_PLL_A_OUT0>,
1042                                          <&tegra_car TEGRA30_CLK_EXTERN1>;
1043         };
1044 };
1045
1046 &gpio {
1047         lan-reset-n {
1048                 gpio-hog;
1049                 gpios = <TEGRA_GPIO(DD, 0) GPIO_ACTIVE_HIGH>;
1050                 output-high;
1051                 line-name = "LAN_RESET#";
1052         };
1053 };