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>;
114 nvidia,pins = "cam_i2c_scl_pbb1",
116 nvidia,function = "i2c3";
117 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
118 nvidia,tristate = <TEGRA_PIN_DISABLE>;
119 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
120 nvidia,lock = <TEGRA_PIN_DISABLE>;
121 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
126 nvidia,pins = "sdmmc3_clk_pa6",
128 nvidia,function = "sdmmc3";
129 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
130 nvidia,tristate = <TEGRA_PIN_DISABLE>;
133 nvidia,pins = "sdmmc3_dat0_pb7",
141 nvidia,function = "sdmmc3";
142 nvidia,pull = <TEGRA_PIN_PULL_UP>;
143 nvidia,tristate = <TEGRA_PIN_DISABLE>;
145 /* Apalis MMC1_CD# */
148 nvidia,function = "rsvd2";
149 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
150 nvidia,tristate = <TEGRA_PIN_DISABLE>;
151 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
157 nvidia,function = "pwm3";
158 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
159 nvidia,tristate = <TEGRA_PIN_DISABLE>;
165 nvidia,function = "pwm2";
166 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
167 nvidia,tristate = <TEGRA_PIN_DISABLE>;
173 nvidia,function = "pwm1";
174 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
175 nvidia,tristate = <TEGRA_PIN_DISABLE>;
181 nvidia,function = "pwm0";
182 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
183 nvidia,tristate = <TEGRA_PIN_DISABLE>;
186 /* Apalis RESET_MOCI# */
188 nvidia,pins = "gmi_rst_n_pi4";
189 nvidia,function = "gmi";
190 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
191 nvidia,tristate = <TEGRA_PIN_DISABLE>;
196 nvidia,pins = "sdmmc1_clk_pz0";
197 nvidia,function = "sdmmc1";
198 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
199 nvidia,tristate = <TEGRA_PIN_DISABLE>;
202 nvidia,pins = "sdmmc1_cmd_pz1",
207 nvidia,function = "sdmmc1";
208 nvidia,pull = <TEGRA_PIN_PULL_UP>;
209 nvidia,tristate = <TEGRA_PIN_DISABLE>;
213 nvidia,pins = "clk2_req_pcc5";
214 nvidia,function = "rsvd2";
215 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
216 nvidia,tristate = <TEGRA_PIN_DISABLE>;
217 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
222 nvidia,pins = "spi1_sck_px5",
226 nvidia,function = "spi1";
227 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
228 nvidia,tristate = <TEGRA_PIN_DISABLE>;
233 nvidia,pins = "lcd_sck_pz4",
237 nvidia,function = "spi5";
238 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
239 nvidia,tristate = <TEGRA_PIN_DISABLE>;
244 nvidia,pins = "ulpi_data0_po1",
252 nvidia,function = "uarta";
253 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
254 nvidia,tristate = <TEGRA_PIN_DISABLE>;
259 nvidia,pins = "ulpi_clk_py0",
263 nvidia,function = "uartd";
264 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
265 nvidia,tristate = <TEGRA_PIN_DISABLE>;
270 nvidia,pins = "uart2_rxd_pc3",
272 nvidia,function = "uartb";
273 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
274 nvidia,tristate = <TEGRA_PIN_DISABLE>;
279 nvidia,pins = "uart3_rxd_pw7",
281 nvidia,function = "uartc";
282 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
283 nvidia,tristate = <TEGRA_PIN_DISABLE>;
286 /* Apalis USBO1_EN */
288 nvidia,pins = "gen2_i2c_scl_pt5";
289 nvidia,function = "rsvd4";
290 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
291 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
292 nvidia,tristate = <TEGRA_PIN_DISABLE>;
295 /* Apalis USBO1_OC# */
297 nvidia,pins = "gen2_i2c_sda_pt6";
298 nvidia,function = "rsvd4";
299 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
300 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
301 nvidia,tristate = <TEGRA_PIN_DISABLE>;
302 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
305 /* Apalis WAKE1_MICO */
308 nvidia,function = "rsvd1";
309 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
310 nvidia,tristate = <TEGRA_PIN_DISABLE>;
311 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
314 /* eMMC (On-module) */
316 nvidia,pins = "sdmmc4_clk_pcc4",
318 nvidia,function = "sdmmc4";
319 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
320 nvidia,tristate = <TEGRA_PIN_DISABLE>;
323 nvidia,pins = "sdmmc4_dat0_paa0",
331 nvidia,function = "sdmmc4";
332 nvidia,pull = <TEGRA_PIN_PULL_UP>;
333 nvidia,tristate = <TEGRA_PIN_DISABLE>;
336 /* LVDS Transceiver Configuration */
338 nvidia,pins = "pbb0",
342 nvidia,function = "rsvd2";
343 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
344 nvidia,tristate = <TEGRA_PIN_DISABLE>;
345 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
346 nvidia,lock = <TEGRA_PIN_DISABLE>;
349 nvidia,pins = "pbb3",
353 nvidia,function = "displayb";
354 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
355 nvidia,tristate = <TEGRA_PIN_DISABLE>;
356 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
357 nvidia,lock = <TEGRA_PIN_DISABLE>;
360 /* Power I2C (On-module) */
362 nvidia,pins = "pwr_i2c_scl_pz6",
364 nvidia,function = "i2cpwr";
365 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
366 nvidia,tristate = <TEGRA_PIN_DISABLE>;
367 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
368 nvidia,lock = <TEGRA_PIN_DISABLE>;
369 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
373 * THERMD_ALERT#, unlatched I2C address pin of LM95245
374 * temperature sensor therefore requires disabling for
378 nvidia,pins = "lcd_dc1_pd2";
379 nvidia,function = "rsvd3";
380 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
381 nvidia,tristate = <TEGRA_PIN_DISABLE>;
382 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
388 nvidia,function = "rsvd1";
389 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
390 nvidia,tristate = <TEGRA_PIN_DISABLE>;
391 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
396 hdmiddc: i2c@7000c700 {
397 clock-frequency = <100000>;
401 * PWR_I2C: power I2C to audio codec, PMIC, temperature sensor and
402 * touch screen controller
406 clock-frequency = <100000>;
409 compatible = "ti,tps65911";
412 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
413 #interrupt-cells = <2>;
414 interrupt-controller;
416 ti,system-power-controller;
421 vcc1-supply = <&sys_3v3_reg>;
422 vcc2-supply = <&sys_3v3_reg>;
423 vcc3-supply = <&vio_reg>;
424 vcc4-supply = <&sys_3v3_reg>;
425 vcc5-supply = <&sys_3v3_reg>;
426 vcc6-supply = <&vio_reg>;
427 vcc7-supply = <&charge_pump_5v0_reg>;
428 vccio-supply = <&sys_3v3_reg>;
431 /* SW1: +V1.35_VDDIO_DDR */
433 regulator-name = "vddio_ddr_1v35";
434 regulator-min-microvolt = <1350000>;
435 regulator-max-microvolt = <1350000>;
442 "vdd_pexa,vdd_pexb,vdd_sata";
443 regulator-min-microvolt = <1050000>;
444 regulator-max-microvolt = <1050000>;
447 /* SW CTRL: +V1.0_VDD_CPU */
448 vddctrl_reg: vddctrl {
449 regulator-name = "vdd_cpu,vdd_sys";
450 regulator-min-microvolt = <1150000>;
451 regulator-max-microvolt = <1150000>;
457 regulator-name = "vdd_1v8_gen";
458 regulator-min-microvolt = <1800000>;
459 regulator-max-microvolt = <1800000>;
466 * EN_+V3.3 switching via FET:
467 * +V3.3_AUDIO_AVDD_S, +V3.3 and +V1.8_VDD_LAN
468 * see also v3_3 fixed supply
471 regulator-name = "en_3v3";
472 regulator-min-microvolt = <3300000>;
473 regulator-max-microvolt = <3300000>;
480 "avdd_dsi_csi,pwrdet_mipi";
481 regulator-min-microvolt = <1200000>;
482 regulator-max-microvolt = <1200000>;
487 regulator-name = "vdd_rtc";
488 regulator-min-microvolt = <1200000>;
489 regulator-max-microvolt = <1200000>;
495 * only required for analog RGB
498 regulator-name = "avdd_vdac";
499 regulator-min-microvolt = <2800000>;
500 regulator-max-microvolt = <2800000>;
505 * +V1.05_AVDD_PLLE: avdd_plle should be 1.05V
506 * but LDO6 can't set voltage in 50mV
510 regulator-name = "avdd_plle";
511 regulator-min-microvolt = <1100000>;
512 regulator-max-microvolt = <1100000>;
517 regulator-name = "avdd_pll";
518 regulator-min-microvolt = <1200000>;
519 regulator-max-microvolt = <1200000>;
523 /* +V1.0_VDD_DDR_HS */
525 regulator-name = "vdd_ddr_hs";
526 regulator-min-microvolt = <1000000>;
527 regulator-max-microvolt = <1000000>;
533 /* STMPE811 touch screen controller */
535 compatible = "st,stmpe811";
536 #address-cells = <1>;
539 interrupts = <TEGRA_GPIO(V, 0) IRQ_TYPE_LEVEL_LOW>;
540 interrupt-parent = <&gpio>;
541 interrupt-controller;
547 compatible = "st,stmpe-ts";
549 /* 3.25 MHz ADC clock speed */
551 /* 8 sample average control */
553 /* 7 length fractional part in z */
556 * 50 mA typical 80 mA max touchscreen drivers
557 * current limit value
562 /* internal ADC reference */
564 /* ADC converstion time: 80 clocks */
565 st,sample-time = <4>;
566 /* 1 ms panel driver settling time */
568 /* 5 ms touch detect interrupt delay */
569 st,touch-det-delay = <5>;
574 * LM95245 temperature sensor
575 * Note: OVERT_N directly connected to PMIC PWRDN
578 compatible = "national,lm95245";
582 /* SW: +V1.2_VDD_CORE */
584 compatible = "ti,tps62362";
587 regulator-name = "tps62362-vout";
588 regulator-min-microvolt = <900000>;
589 regulator-max-microvolt = <1400000>;
593 /* VSEL1: EN_CORE_DVFS_N low for DVFS */
601 spi-max-frequency = <10000000>;
604 compatible = "microchip,mcp2515";
607 interrupt-parent = <&gpio>;
608 interrupts = <TEGRA_GPIO(W, 3) GPIO_ACTIVE_LOW>;
609 spi-max-frequency = <10000000>;
616 spi-max-frequency = <10000000>;
619 compatible = "microchip,mcp2515";
622 interrupt-parent = <&gpio>;
623 interrupts = <TEGRA_GPIO(W, 2) GPIO_ACTIVE_LOW>;
624 spi-max-frequency = <10000000>;
629 nvidia,invert-interrupt;
630 nvidia,suspend-mode = <1>;
631 nvidia,cpu-pwr-good-time = <5000>;
632 nvidia,cpu-pwr-off-time = <5000>;
633 nvidia,core-pwr-good-time = <3845 3845>;
634 nvidia,core-pwr-off-time = <0>;
635 nvidia,core-power-req-active-high;
636 nvidia,sys-clock-req-active-high;
647 compatible = "simple-bus";
648 #address-cells = <1>;
652 compatible = "fixed-clock";
655 clock-frequency = <32768>;
658 compatible = "fixed-clock";
661 clock-frequency = <16000000>;
662 clock-output-names = "clk16m";
667 compatible = "simple-bus";
668 #address-cells = <1>;
671 avdd_hdmi_pll_1v8_reg: regulator@100 {
672 compatible = "regulator-fixed";
674 regulator-name = "+V1.8_AVDD_HDMI_PLL";
675 regulator-min-microvolt = <1800000>;
676 regulator-max-microvolt = <1800000>;
678 gpio = <&pmic 6 GPIO_ACTIVE_HIGH>;
679 vin-supply = <&vio_reg>;
682 sys_3v3_reg: regulator@101 {
683 compatible = "regulator-fixed";
685 regulator-name = "3v3";
686 regulator-min-microvolt = <3300000>;
687 regulator-max-microvolt = <3300000>;
691 avdd_hdmi_3v3_reg: regulator@102 {
692 compatible = "regulator-fixed";
694 regulator-name = "+V3.3_AVDD_HDMI";
695 regulator-min-microvolt = <3300000>;
696 regulator-max-microvolt = <3300000>;
698 gpio = <&pmic 6 GPIO_ACTIVE_HIGH>;
699 vin-supply = <&sys_3v3_reg>;
702 charge_pump_5v0_reg: regulator@103 {
703 compatible = "regulator-fixed";
705 regulator-name = "5v0";
706 regulator-min-microvolt = <5000000>;
707 regulator-max-microvolt = <5000000>;