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