1 // SPDX-License-Identifier: GPL-2.0
2 #include <dt-bindings/input/input.h>
3 #include "tegra30.dtsi"
6 * Toradex Colibri T30 Module Device Tree
7 * Compatible for Revisions V1.1B, V1.1C, V1.1D, V1.1E; IT: V1.1A
10 model = "Toradex Colibri T30";
11 compatible = "toradex,colibri_t30", "nvidia,tegra30";
14 reg = <0x80000000 0x40000000>;
19 vdd-supply = <&avdd_hdmi_3v3_reg>;
20 pll-supply = <&avdd_hdmi_pll_1v8_reg>;
23 <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
24 nvidia,ddc-i2c-bus = <&hdmiddc>;
29 pinctrl-names = "default";
30 pinctrl-0 = <&state_default>;
32 state_default: pinmux {
33 /* Analogue Audio (On-module) */
35 nvidia,pins = "clk1_out_pw4";
36 nvidia,function = "extperiph1";
37 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
38 nvidia,tristate = <TEGRA_PIN_DISABLE>;
39 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
42 nvidia,pins = "dap3_fs_pp0",
46 nvidia,function = "i2s2";
47 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
48 nvidia,tristate = <TEGRA_PIN_DISABLE>;
54 nvidia,function = "rsvd4";
55 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
56 nvidia,tristate = <TEGRA_PIN_DISABLE>;
59 /* Colibri Backlight PWM<A> */
61 nvidia,pins = "sdmmc3_dat3_pb4";
62 nvidia,function = "pwm0";
63 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
64 nvidia,tristate = <TEGRA_PIN_DISABLE>;
69 nvidia,pins = "kb_row8_ps0";
70 nvidia,function = "kbc";
71 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
72 nvidia,tristate = <TEGRA_PIN_DISABLE>;
73 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
77 * Colibri L_BIAS, LCD_M1 is muxed with LCD_DE
78 * todays display need DE, disable LCD_M1
81 nvidia,pins = "lcd_m1_pw1";
82 nvidia,function = "rsvd3";
83 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
84 nvidia,tristate = <TEGRA_PIN_DISABLE>;
85 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
90 nvidia,pins = "kb_row10_ps2";
91 nvidia,function = "sdmmc2";
92 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
93 nvidia,tristate = <TEGRA_PIN_DISABLE>;
96 nvidia,pins = "kb_row11_ps3",
101 nvidia,function = "sdmmc2";
102 nvidia,pull = <TEGRA_PIN_PULL_UP>;
103 nvidia,tristate = <TEGRA_PIN_DISABLE>;
108 nvidia,pins = "ulpi_clk_py0",
112 nvidia,function = "spi1";
113 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
114 nvidia,tristate = <TEGRA_PIN_DISABLE>;
117 nvidia,pins = "sdmmc3_dat6_pd3",
119 nvidia,function = "spdif";
120 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
121 nvidia,tristate = <TEGRA_PIN_ENABLE>;
126 nvidia,pins = "ulpi_data0_po1",
134 nvidia,function = "uarta";
135 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
136 nvidia,tristate = <TEGRA_PIN_DISABLE>;
141 nvidia,pins = "gmi_a16_pj7",
145 nvidia,function = "uartd";
146 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
147 nvidia,tristate = <TEGRA_PIN_DISABLE>;
152 nvidia,pins = "uart2_rxd_pc3",
154 nvidia,function = "uartb";
155 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
156 nvidia,tristate = <TEGRA_PIN_DISABLE>;
161 nvidia,pins = "sdmmc4_clk_pcc4",
163 nvidia,function = "sdmmc4";
164 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
165 nvidia,tristate = <TEGRA_PIN_DISABLE>;
168 nvidia,pins = "sdmmc4_dat0_paa0",
176 nvidia,function = "sdmmc4";
177 nvidia,pull = <TEGRA_PIN_PULL_UP>;
178 nvidia,tristate = <TEGRA_PIN_DISABLE>;
181 /* Power I2C (On-module) */
183 nvidia,pins = "pwr_i2c_scl_pz6",
185 nvidia,function = "i2cpwr";
186 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
187 nvidia,tristate = <TEGRA_PIN_DISABLE>;
188 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
189 nvidia,lock = <TEGRA_PIN_DISABLE>;
190 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
194 * THERMD_ALERT#, unlatched I2C address pin of LM95245
195 * temperature sensor therefore requires disabling for
199 nvidia,pins = "lcd_dc1_pd2";
200 nvidia,function = "rsvd3";
201 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
202 nvidia,tristate = <TEGRA_PIN_DISABLE>;
203 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
209 nvidia,function = "rsvd1";
210 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
211 nvidia,tristate = <TEGRA_PIN_DISABLE>;
212 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
217 hdmiddc: i2c@7000c700 {
218 clock-frequency = <10000>;
222 * PWR_I2C: power I2C to audio codec, PMIC, temperature sensor and
223 * touch screen controller
227 clock-frequency = <100000>;
229 /* SGTL5000 audio codec */
231 compatible = "fsl,sgtl5000";
233 VDDA-supply = <&sys_3v3_reg>;
234 VDDIO-supply = <&sys_3v3_reg>;
235 clocks = <&tegra_car TEGRA30_CLK_EXTERN1>;
239 compatible = "ti,tps65911";
242 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
243 #interrupt-cells = <2>;
244 interrupt-controller;
246 ti,system-power-controller;
251 vcc1-supply = <&sys_3v3_reg>;
252 vcc2-supply = <&sys_3v3_reg>;
253 vcc3-supply = <&vio_reg>;
254 vcc4-supply = <&sys_3v3_reg>;
255 vcc5-supply = <&sys_3v3_reg>;
256 vcc6-supply = <&vio_reg>;
257 vcc7-supply = <&charge_pump_5v0_reg>;
258 vccio-supply = <&sys_3v3_reg>;
261 /* SW1: +V1.35_VDDIO_DDR */
263 regulator-name = "vddio_ddr_1v35";
264 regulator-min-microvolt = <1350000>;
265 regulator-max-microvolt = <1350000>;
271 /* SW CTRL: +V1.0_VDD_CPU */
272 vddctrl_reg: vddctrl {
273 regulator-name = "vdd_cpu,vdd_sys";
274 regulator-min-microvolt = <1150000>;
275 regulator-max-microvolt = <1150000>;
281 regulator-name = "vdd_1v8_gen";
282 regulator-min-microvolt = <1800000>;
283 regulator-max-microvolt = <1800000>;
290 * EN_+V3.3 switching via FET:
291 * +V3.3_AUDIO_AVDD_S, +V3.3 and +V1.8_VDD_LAN
292 * see also 3v3 fixed supply
295 regulator-name = "en_3v3";
296 regulator-min-microvolt = <3300000>;
297 regulator-max-microvolt = <3300000>;
305 regulator-name = "vdd_rtc";
306 regulator-min-microvolt = <1200000>;
307 regulator-max-microvolt = <1200000>;
313 * only required for analog RGB
316 regulator-name = "avdd_vdac";
317 regulator-min-microvolt = <2800000>;
318 regulator-max-microvolt = <2800000>;
323 * +V1.05_AVDD_PLLE: avdd_plle should be 1.05V
324 * but LDO6 can't set voltage in 50mV
328 regulator-name = "avdd_plle";
329 regulator-min-microvolt = <1100000>;
330 regulator-max-microvolt = <1100000>;
335 regulator-name = "avdd_pll";
336 regulator-min-microvolt = <1200000>;
337 regulator-max-microvolt = <1200000>;
341 /* +V1.0_VDD_DDR_HS */
343 regulator-name = "vdd_ddr_hs";
344 regulator-min-microvolt = <1000000>;
345 regulator-max-microvolt = <1000000>;
351 /* STMPE811 touch screen controller */
353 compatible = "st,stmpe811";
355 interrupts = <TEGRA_GPIO(V, 0) IRQ_TYPE_LEVEL_LOW>;
356 interrupt-parent = <&gpio>;
357 interrupt-controller;
363 compatible = "st,stmpe-ts";
364 /* 3.25 MHz ADC clock speed */
366 /* 8 sample average control */
368 /* 7 length fractional part in z */
371 * 50 mA typical 80 mA max touchscreen drivers
372 * current limit value
377 /* internal ADC reference */
379 /* ADC converstion time: 80 clocks */
380 st,sample-time = <4>;
381 /* 1 ms panel driver settling time */
383 /* 5 ms touch detect interrupt delay */
384 st,touch-det-delay = <5>;
389 * LM95245 temperature sensor
390 * Note: OVERT_N directly connected to PMIC PWRDN
393 compatible = "national,lm95245";
397 /* SW: +V1.2_VDD_CORE */
399 compatible = "ti,tps62362";
402 regulator-name = "tps62362-vout";
403 regulator-min-microvolt = <900000>;
404 regulator-max-microvolt = <1400000>;
408 /* VSEL1: EN_CORE_DVFS_N low for DVFS */
414 nvidia,invert-interrupt;
415 nvidia,suspend-mode = <1>;
416 nvidia,cpu-pwr-good-time = <5000>;
417 nvidia,cpu-pwr-off-time = <5000>;
418 nvidia,core-pwr-good-time = <3845 3845>;
419 nvidia,core-pwr-off-time = <0>;
420 nvidia,core-power-req-active-high;
421 nvidia,sys-clock-req-active-high;
437 /* EHCI instance 1: USB2_DP/N -> AX88772B */
444 nvidia,is-wired = <1>;
448 compatible = "simple-bus";
449 #address-cells = <1>;
453 compatible = "fixed-clock";
456 clock-frequency = <32768>;
461 compatible = "simple-bus";
462 #address-cells = <1>;
465 avdd_hdmi_pll_1v8_reg: regulator@100 {
466 compatible = "regulator-fixed";
468 regulator-name = "+V1.8_AVDD_HDMI_PLL";
469 regulator-min-microvolt = <1800000>;
470 regulator-max-microvolt = <1800000>;
472 gpio = <&pmic 6 GPIO_ACTIVE_HIGH>;
473 vin-supply = <&vio_reg>;
476 sys_3v3_reg: regulator@101 {
477 compatible = "regulator-fixed";
479 regulator-name = "3v3";
480 regulator-min-microvolt = <3300000>;
481 regulator-max-microvolt = <3300000>;
485 avdd_hdmi_3v3_reg: regulator@102 {
486 compatible = "regulator-fixed";
488 regulator-name = "+V3.3_AVDD_HDMI";
489 regulator-min-microvolt = <3300000>;
490 regulator-max-microvolt = <3300000>;
492 gpio = <&pmic 6 GPIO_ACTIVE_HIGH>;
493 vin-supply = <&sys_3v3_reg>;
496 charge_pump_5v0_reg: regulator@103 {
497 compatible = "regulator-fixed";
499 regulator-name = "5v0";
500 regulator-min-microvolt = <5000000>;
501 regulator-max-microvolt = <5000000>;
507 compatible = "toradex,tegra-audio-sgtl5000-colibri_t30",
508 "nvidia,tegra-audio-sgtl5000";
509 nvidia,model = "Toradex Colibri T30";
510 nvidia,audio-routing =
511 "Headphone Jack", "HP_OUT",
512 "LINE_IN", "Line In Jack",
513 "MIC_IN", "Mic Jack";
514 nvidia,i2s-controller = <&tegra_i2s2>;
515 nvidia,audio-codec = <&sgtl5000>;
516 clocks = <&tegra_car TEGRA30_CLK_PLL_A>,
517 <&tegra_car TEGRA30_CLK_PLL_A_OUT0>,
518 <&tegra_car TEGRA30_CLK_EXTERN1>;
519 clock-names = "pll_a", "pll_a_out0", "mclk";