1 #include "tegra30.dtsi"
4 * Toradex Apalis T30 Module Device Tree
5 * Compatible for Revisions 1GB: V1.0A, V1.1A; 1GB IT: V1.1A;
6 * 2GB: V1.0B, V1.0C, V1.0E, V1.1A
9 model = "Toradex Apalis T30";
10 compatible = "toradex,apalis_t30", "nvidia,tegra30";
12 pcie-controller@00003000 {
13 avdd-pexa-supply = <&vdd2_reg>;
14 vdd-pexa-supply = <&vdd2_reg>;
15 avdd-pexb-supply = <&vdd2_reg>;
16 vdd-pexb-supply = <&vdd2_reg>;
17 avdd-pex-pll-supply = <&vdd2_reg>;
18 avdd-plle-supply = <&ldo6_reg>;
19 vddio-pex-ctl-supply = <&sys_3v3_reg>;
20 hvdd-pex-supply = <&sys_3v3_reg>;
23 nvidia,num-lanes = <4>;
27 nvidia,num-lanes = <1>;
31 nvidia,num-lanes = <1>;
37 vdd-supply = <&avdd_hdmi_3v3_reg>;
38 pll-supply = <&avdd_hdmi_pll_1v8_reg>;
41 <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
42 nvidia,ddc-i2c-bus = <&hdmiddc>;
47 pinctrl-names = "default";
48 pinctrl-0 = <&state_default>;
50 state_default: pinmux {
54 nvidia,function = "rsvd4";
55 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
56 nvidia,tristate = <TEGRA_PIN_DISABLE>;
61 nvidia,pins = "uart3_rts_n_pc0";
62 nvidia,function = "pwm0";
63 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
64 nvidia,tristate = <TEGRA_PIN_DISABLE>;
66 /* BKL1_PWM_EN#, disable TPS65911 PMIC PWM backlight */
68 nvidia,pins = "uart3_cts_n_pa1";
69 nvidia,function = "rsvd2";
70 nvidia,pull = <TEGRA_PIN_PULL_UP>;
71 nvidia,tristate = <TEGRA_PIN_DISABLE>;
74 /* Apalis CAN1 on SPI6 */
76 nvidia,pins = "spi2_cs0_n_px3",
80 nvidia,function = "spi6";
81 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
82 nvidia,tristate = <TEGRA_PIN_DISABLE>;
86 nvidia,pins = "spi2_cs1_n_pw2";
87 nvidia,function = "spi3";
88 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
89 nvidia,tristate = <TEGRA_PIN_DISABLE>;
90 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
93 /* Apalis CAN2 on SPI4 */
95 nvidia,pins = "gmi_a16_pj7",
99 nvidia,function = "spi4";
100 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
101 nvidia,tristate = <TEGRA_PIN_DISABLE>;
105 nvidia,pins = "spi2_cs2_n_pw3";
106 nvidia,function = "spi3";
107 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
108 nvidia,tristate = <TEGRA_PIN_DISABLE>;
109 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
112 /* Apalis Digital Audio */
114 nvidia,pins = "clk1_req_pee2";
115 nvidia,function = "hda";
116 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
117 nvidia,tristate = <TEGRA_PIN_DISABLE>;
120 nvidia,pins = "clk2_out_pw5";
121 nvidia,function = "extperiph2";
122 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
123 nvidia,tristate = <TEGRA_PIN_DISABLE>;
124 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
127 nvidia,pins = "dap1_fs_pn0",
131 nvidia,function = "hda";
132 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
133 nvidia,tristate = <TEGRA_PIN_DISABLE>;
138 nvidia,pins = "cam_i2c_scl_pbb1",
140 nvidia,function = "i2c3";
141 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
142 nvidia,tristate = <TEGRA_PIN_DISABLE>;
143 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
144 nvidia,lock = <TEGRA_PIN_DISABLE>;
145 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
150 nvidia,pins = "sdmmc3_clk_pa6",
152 nvidia,function = "sdmmc3";
153 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
154 nvidia,tristate = <TEGRA_PIN_DISABLE>;
157 nvidia,pins = "sdmmc3_dat0_pb7",
165 nvidia,function = "sdmmc3";
166 nvidia,pull = <TEGRA_PIN_PULL_UP>;
167 nvidia,tristate = <TEGRA_PIN_DISABLE>;
169 /* Apalis MMC1_CD# */
172 nvidia,function = "rsvd2";
173 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
174 nvidia,tristate = <TEGRA_PIN_DISABLE>;
175 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
181 nvidia,function = "pwm3";
182 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
183 nvidia,tristate = <TEGRA_PIN_DISABLE>;
189 nvidia,function = "pwm2";
190 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
191 nvidia,tristate = <TEGRA_PIN_DISABLE>;
197 nvidia,function = "pwm1";
198 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
199 nvidia,tristate = <TEGRA_PIN_DISABLE>;
205 nvidia,function = "pwm0";
206 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
207 nvidia,tristate = <TEGRA_PIN_DISABLE>;
210 /* Apalis RESET_MOCI# */
212 nvidia,pins = "gmi_rst_n_pi4";
213 nvidia,function = "gmi";
214 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
215 nvidia,tristate = <TEGRA_PIN_DISABLE>;
220 nvidia,pins = "sdmmc1_clk_pz0";
221 nvidia,function = "sdmmc1";
222 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
223 nvidia,tristate = <TEGRA_PIN_DISABLE>;
226 nvidia,pins = "sdmmc1_cmd_pz1",
231 nvidia,function = "sdmmc1";
232 nvidia,pull = <TEGRA_PIN_PULL_UP>;
233 nvidia,tristate = <TEGRA_PIN_DISABLE>;
237 nvidia,pins = "clk2_req_pcc5";
238 nvidia,function = "rsvd2";
239 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
240 nvidia,tristate = <TEGRA_PIN_DISABLE>;
241 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
246 nvidia,pins = "spi1_sck_px5",
250 nvidia,function = "spi1";
251 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
252 nvidia,tristate = <TEGRA_PIN_DISABLE>;
257 nvidia,pins = "lcd_sck_pz4",
261 nvidia,function = "spi5";
262 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
263 nvidia,tristate = <TEGRA_PIN_DISABLE>;
268 nvidia,pins = "ulpi_data0_po1",
276 nvidia,function = "uarta";
277 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
278 nvidia,tristate = <TEGRA_PIN_DISABLE>;
283 nvidia,pins = "ulpi_clk_py0",
287 nvidia,function = "uartd";
288 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
289 nvidia,tristate = <TEGRA_PIN_DISABLE>;
294 nvidia,pins = "uart2_rxd_pc3",
296 nvidia,function = "uartb";
297 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
298 nvidia,tristate = <TEGRA_PIN_DISABLE>;
303 nvidia,pins = "uart3_rxd_pw7",
305 nvidia,function = "uartc";
306 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
307 nvidia,tristate = <TEGRA_PIN_DISABLE>;
310 /* Apalis USBO1_EN */
312 nvidia,pins = "gen2_i2c_scl_pt5";
313 nvidia,function = "rsvd4";
314 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
315 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
316 nvidia,tristate = <TEGRA_PIN_DISABLE>;
319 /* Apalis USBO1_OC# */
321 nvidia,pins = "gen2_i2c_sda_pt6";
322 nvidia,function = "rsvd4";
323 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
324 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
325 nvidia,tristate = <TEGRA_PIN_DISABLE>;
326 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
329 /* Apalis WAKE1_MICO */
332 nvidia,function = "rsvd1";
333 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
334 nvidia,tristate = <TEGRA_PIN_DISABLE>;
335 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
338 /* eMMC (On-module) */
340 nvidia,pins = "sdmmc4_clk_pcc4",
342 nvidia,function = "sdmmc4";
343 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
344 nvidia,tristate = <TEGRA_PIN_DISABLE>;
347 nvidia,pins = "sdmmc4_dat0_paa0",
355 nvidia,function = "sdmmc4";
356 nvidia,pull = <TEGRA_PIN_PULL_UP>;
357 nvidia,tristate = <TEGRA_PIN_DISABLE>;
360 /* LVDS Transceiver Configuration */
362 nvidia,pins = "pbb0",
366 nvidia,function = "rsvd2";
367 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
368 nvidia,tristate = <TEGRA_PIN_DISABLE>;
369 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
370 nvidia,lock = <TEGRA_PIN_DISABLE>;
373 nvidia,pins = "pbb3",
377 nvidia,function = "displayb";
378 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
379 nvidia,tristate = <TEGRA_PIN_DISABLE>;
380 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
381 nvidia,lock = <TEGRA_PIN_DISABLE>;
384 /* Power I2C (On-module) */
386 nvidia,pins = "pwr_i2c_scl_pz6",
388 nvidia,function = "i2cpwr";
389 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
390 nvidia,tristate = <TEGRA_PIN_DISABLE>;
391 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
392 nvidia,lock = <TEGRA_PIN_DISABLE>;
393 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
397 * THERMD_ALERT#, unlatched I2C address pin of LM95245
398 * temperature sensor therefore requires disabling for
402 nvidia,pins = "lcd_dc1_pd2";
403 nvidia,function = "rsvd3";
404 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
405 nvidia,tristate = <TEGRA_PIN_DISABLE>;
406 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
412 nvidia,function = "rsvd1";
413 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
414 nvidia,tristate = <TEGRA_PIN_DISABLE>;
415 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
420 hdmiddc: i2c@7000c700 {
421 clock-frequency = <100000>;
425 * PWR_I2C: power I2C to audio codec, PMIC, temperature sensor and
426 * touch screen controller
430 clock-frequency = <100000>;
433 compatible = "ti,tps65911";
436 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
437 #interrupt-cells = <2>;
438 interrupt-controller;
440 ti,system-power-controller;
445 vcc1-supply = <&sys_3v3_reg>;
446 vcc2-supply = <&sys_3v3_reg>;
447 vcc3-supply = <&vio_reg>;
448 vcc4-supply = <&sys_3v3_reg>;
449 vcc5-supply = <&sys_3v3_reg>;
450 vcc6-supply = <&vio_reg>;
451 vcc7-supply = <&charge_pump_5v0_reg>;
452 vccio-supply = <&sys_3v3_reg>;
455 /* SW1: +V1.35_VDDIO_DDR */
457 regulator-name = "vddio_ddr_1v35";
458 regulator-min-microvolt = <1350000>;
459 regulator-max-microvolt = <1350000>;
466 "vdd_pexa,vdd_pexb,vdd_sata";
467 regulator-min-microvolt = <1050000>;
468 regulator-max-microvolt = <1050000>;
471 /* SW CTRL: +V1.0_VDD_CPU */
472 vddctrl_reg: vddctrl {
473 regulator-name = "vdd_cpu,vdd_sys";
474 regulator-min-microvolt = <1150000>;
475 regulator-max-microvolt = <1150000>;
481 regulator-name = "vdd_1v8_gen";
482 regulator-min-microvolt = <1800000>;
483 regulator-max-microvolt = <1800000>;
490 * EN_+V3.3 switching via FET:
491 * +V3.3_AUDIO_AVDD_S, +V3.3 and +V1.8_VDD_LAN
492 * see also v3_3 fixed supply
495 regulator-name = "en_3v3";
496 regulator-min-microvolt = <3300000>;
497 regulator-max-microvolt = <3300000>;
504 "avdd_dsi_csi,pwrdet_mipi";
505 regulator-min-microvolt = <1200000>;
506 regulator-max-microvolt = <1200000>;
511 regulator-name = "vdd_rtc";
512 regulator-min-microvolt = <1200000>;
513 regulator-max-microvolt = <1200000>;
519 * only required for analog RGB
522 regulator-name = "avdd_vdac";
523 regulator-min-microvolt = <2800000>;
524 regulator-max-microvolt = <2800000>;
529 * +V1.05_AVDD_PLLE: avdd_plle should be 1.05V
530 * but LDO6 can't set voltage in 50mV
534 regulator-name = "avdd_plle";
535 regulator-min-microvolt = <1100000>;
536 regulator-max-microvolt = <1100000>;
541 regulator-name = "avdd_pll";
542 regulator-min-microvolt = <1200000>;
543 regulator-max-microvolt = <1200000>;
547 /* +V1.0_VDD_DDR_HS */
549 regulator-name = "vdd_ddr_hs";
550 regulator-min-microvolt = <1000000>;
551 regulator-max-microvolt = <1000000>;
557 /* STMPE811 touch screen controller */
559 compatible = "st,stmpe811";
560 #address-cells = <1>;
563 interrupts = <TEGRA_GPIO(V, 0) IRQ_TYPE_LEVEL_LOW>;
564 interrupt-parent = <&gpio>;
565 interrupt-controller;
571 compatible = "st,stmpe-ts";
573 /* 3.25 MHz ADC clock speed */
575 /* 8 sample average control */
577 /* 7 length fractional part in z */
580 * 50 mA typical 80 mA max touchscreen drivers
581 * current limit value
586 /* internal ADC reference */
588 /* ADC converstion time: 80 clocks */
589 st,sample-time = <4>;
590 /* 1 ms panel driver settling time */
592 /* 5 ms touch detect interrupt delay */
593 st,touch-det-delay = <5>;
598 * LM95245 temperature sensor
599 * Note: OVERT_N directly connected to PMIC PWRDN
602 compatible = "national,lm95245";
606 /* SW: +V1.2_VDD_CORE */
608 compatible = "ti,tps62362";
611 regulator-name = "tps62362-vout";
612 regulator-min-microvolt = <900000>;
613 regulator-max-microvolt = <1400000>;
617 /* VSEL1: EN_CORE_DVFS_N low for DVFS */
625 spi-max-frequency = <10000000>;
628 compatible = "microchip,mcp2515";
631 interrupt-parent = <&gpio>;
632 interrupts = <TEGRA_GPIO(W, 3) GPIO_ACTIVE_LOW>;
633 spi-max-frequency = <10000000>;
640 spi-max-frequency = <10000000>;
643 compatible = "microchip,mcp2515";
646 interrupt-parent = <&gpio>;
647 interrupts = <TEGRA_GPIO(W, 2) GPIO_ACTIVE_LOW>;
648 spi-max-frequency = <10000000>;
653 nvidia,invert-interrupt;
654 nvidia,suspend-mode = <1>;
655 nvidia,cpu-pwr-good-time = <5000>;
656 nvidia,cpu-pwr-off-time = <5000>;
657 nvidia,core-pwr-good-time = <3845 3845>;
658 nvidia,core-pwr-off-time = <0>;
659 nvidia,core-power-req-active-high;
660 nvidia,sys-clock-req-active-high;
671 compatible = "simple-bus";
672 #address-cells = <1>;
676 compatible = "fixed-clock";
679 clock-frequency = <32768>;
682 compatible = "fixed-clock";
685 clock-frequency = <16000000>;
686 clock-output-names = "clk16m";
691 compatible = "simple-bus";
692 #address-cells = <1>;
695 avdd_hdmi_pll_1v8_reg: regulator@100 {
696 compatible = "regulator-fixed";
698 regulator-name = "+V1.8_AVDD_HDMI_PLL";
699 regulator-min-microvolt = <1800000>;
700 regulator-max-microvolt = <1800000>;
702 gpio = <&pmic 6 GPIO_ACTIVE_HIGH>;
703 vin-supply = <&vio_reg>;
706 sys_3v3_reg: regulator@101 {
707 compatible = "regulator-fixed";
709 regulator-name = "3v3";
710 regulator-min-microvolt = <3300000>;
711 regulator-max-microvolt = <3300000>;
715 avdd_hdmi_3v3_reg: regulator@102 {
716 compatible = "regulator-fixed";
718 regulator-name = "+V3.3_AVDD_HDMI";
719 regulator-min-microvolt = <3300000>;
720 regulator-max-microvolt = <3300000>;
722 gpio = <&pmic 6 GPIO_ACTIVE_HIGH>;
723 vin-supply = <&sys_3v3_reg>;
726 charge_pump_5v0_reg: regulator@103 {
727 compatible = "regulator-fixed";
729 regulator-name = "5v0";
730 regulator-min-microvolt = <5000000>;
731 regulator-max-microvolt = <5000000>;