• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#include "tegra20.dtsi"
2
3/ {
4	model = "Avionic Design Tamonten SOM";
5	compatible = "ad,tamonten", "nvidia,tegra20";
6
7	aliases {
8		rtc0 = "/i2c@7000d000/tps6586x@34";
9		rtc1 = "/rtc@7000e000";
10		serial0 = &uartd;
11	};
12
13	memory {
14		reg = <0x00000000 0x20000000>;
15	};
16
17	host1x@50000000 {
18		hdmi@54280000 {
19			vdd-supply = <&hdmi_vdd_reg>;
20			pll-supply = <&hdmi_pll_reg>;
21
22			nvidia,ddc-i2c-bus = <&hdmi_ddc>;
23			nvidia,hpd-gpio = <&gpio TEGRA_GPIO(N, 7)
24				GPIO_ACTIVE_HIGH>;
25		};
26	};
27
28	pinmux@70000014 {
29		pinctrl-names = "default";
30		pinctrl-0 = <&state_default>;
31
32		state_default: pinmux {
33			ata {
34				nvidia,pins = "ata";
35				nvidia,function = "ide";
36			};
37			atb {
38				nvidia,pins = "atb", "gma", "gme";
39				nvidia,function = "sdio4";
40			};
41			atc {
42				nvidia,pins = "atc";
43				nvidia,function = "nand";
44			};
45			atd {
46				nvidia,pins = "atd", "ate", "gmb", "gmd", "gpu",
47					"spia", "spib", "spic";
48				nvidia,function = "gmi";
49			};
50			cdev1 {
51				nvidia,pins = "cdev1";
52				nvidia,function = "plla_out";
53			};
54			cdev2 {
55				nvidia,pins = "cdev2";
56				nvidia,function = "pllp_out4";
57			};
58			crtp {
59				nvidia,pins = "crtp";
60				nvidia,function = "crt";
61			};
62			csus {
63				nvidia,pins = "csus";
64				nvidia,function = "vi_sensor_clk";
65			};
66			dap1 {
67				nvidia,pins = "dap1";
68				nvidia,function = "dap1";
69			};
70			dap2 {
71				nvidia,pins = "dap2";
72				nvidia,function = "dap2";
73			};
74			dap3 {
75				nvidia,pins = "dap3";
76				nvidia,function = "dap3";
77			};
78			dap4 {
79				nvidia,pins = "dap4";
80				nvidia,function = "dap4";
81			};
82			dta {
83				nvidia,pins = "dta", "dtd";
84				nvidia,function = "sdio2";
85			};
86			dtb {
87				nvidia,pins = "dtb", "dtc", "dte";
88				nvidia,function = "rsvd1";
89			};
90			dtf {
91				nvidia,pins = "dtf";
92				nvidia,function = "i2c3";
93			};
94			gmc {
95				nvidia,pins = "gmc";
96				nvidia,function = "uartd";
97			};
98			gpu7 {
99				nvidia,pins = "gpu7";
100				nvidia,function = "rtck";
101			};
102			gpv {
103				nvidia,pins = "gpv", "slxa", "slxk";
104				nvidia,function = "pcie";
105			};
106			hdint {
107				nvidia,pins = "hdint";
108				nvidia,function = "hdmi";
109			};
110			i2cp {
111				nvidia,pins = "i2cp";
112				nvidia,function = "i2cp";
113			};
114			irrx {
115				nvidia,pins = "irrx", "irtx";
116				nvidia,function = "uarta";
117			};
118			kbca {
119				nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd",
120					"kbce", "kbcf";
121				nvidia,function = "kbc";
122			};
123			lcsn {
124				nvidia,pins = "lcsn", "ld0", "ld1", "ld2",
125					"ld3", "ld4", "ld5", "ld6", "ld7",
126					"ld8", "ld9", "ld10", "ld11", "ld12",
127					"ld13", "ld14", "ld15", "ld16", "ld17",
128					"ldc", "ldi", "lhp0", "lhp1", "lhp2",
129					"lhs", "lm0", "lm1", "lpp", "lpw0",
130					"lpw1", "lpw2", "lsc0", "lsc1", "lsck",
131					"lsda", "lsdi", "lspi", "lvp0", "lvp1",
132					"lvs";
133				nvidia,function = "displaya";
134			};
135			owc {
136				nvidia,pins = "owc", "spdi", "spdo", "uac";
137				nvidia,function = "rsvd2";
138			};
139			pmc {
140				nvidia,pins = "pmc";
141				nvidia,function = "pwr_on";
142			};
143			rm {
144				nvidia,pins = "rm";
145				nvidia,function = "i2c1";
146			};
147			sdb {
148				nvidia,pins = "sdb", "sdc", "sdd";
149				nvidia,function = "pwm";
150			};
151			sdio1 {
152				nvidia,pins = "sdio1";
153				nvidia,function = "sdio1";
154			};
155			slxc {
156				nvidia,pins = "slxc", "slxd";
157				nvidia,function = "spdif";
158			};
159			spid {
160				nvidia,pins = "spid", "spie", "spif";
161				nvidia,function = "spi1";
162			};
163			spig {
164				nvidia,pins = "spig", "spih";
165				nvidia,function = "spi2_alt";
166			};
167			uaa {
168				nvidia,pins = "uaa", "uab", "uda";
169				nvidia,function = "ulpi";
170			};
171			uad {
172				nvidia,pins = "uad";
173				nvidia,function = "irda";
174			};
175			uca {
176				nvidia,pins = "uca", "ucb";
177				nvidia,function = "uartc";
178			};
179			conf_ata {
180				nvidia,pins = "ata", "atb", "atc", "atd", "ate",
181					"cdev1", "cdev2", "dap1", "dtb", "gma",
182					"gmb", "gmc", "gmd", "gme", "gpu7",
183					"gpv", "i2cp", "irrx", "irtx", "pta",
184					"rm", "slxa", "slxk", "spia", "spib",
185					"uac";
186				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
187				nvidia,tristate = <TEGRA_PIN_DISABLE>;
188			};
189			conf_ck32 {
190				nvidia,pins = "ck32", "ddrc", "pmca", "pmcb",
191					"pmcc", "pmcd", "pmce", "xm2c", "xm2d";
192				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
193			};
194			conf_csus {
195				nvidia,pins = "csus", "spid", "spif";
196				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
197				nvidia,tristate = <TEGRA_PIN_ENABLE>;
198			};
199			conf_crtp {
200				nvidia,pins = "crtp", "dap2", "dap3", "dap4",
201					"dtc", "dte", "dtf", "gpu", "sdio1",
202					"slxc", "slxd", "spdi", "spdo", "spig",
203					"uda";
204				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
205				nvidia,tristate = <TEGRA_PIN_ENABLE>;
206			};
207			conf_ddc {
208				nvidia,pins = "ddc", "dta", "dtd", "kbca",
209					"kbcb", "kbcc", "kbcd", "kbce", "kbcf",
210					"sdc", "uad", "uca";
211				nvidia,pull = <TEGRA_PIN_PULL_UP>;
212				nvidia,tristate = <TEGRA_PIN_DISABLE>;
213			};
214			conf_hdint {
215				nvidia,pins = "hdint", "lcsn", "ldc", "lm1",
216					"lpw1", "lsc1", "lsck", "lsda", "lsdi",
217					"lvp0", "owc", "sdb";
218				nvidia,tristate = <TEGRA_PIN_ENABLE>;
219			};
220			conf_sdd {
221				nvidia,pins = "sdd", "spic", "spie", "spih",
222					"uaa", "uab", "ucb";
223				nvidia,pull = <TEGRA_PIN_PULL_UP>;
224				nvidia,tristate = <TEGRA_PIN_ENABLE>;
225			};
226			conf_lc {
227				nvidia,pins = "lc", "ls";
228				nvidia,pull = <TEGRA_PIN_PULL_UP>;
229			};
230			conf_ld0 {
231				nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4",
232					"ld5", "ld6", "ld7", "ld8", "ld9",
233					"ld10", "ld11", "ld12", "ld13", "ld14",
234					"ld15", "ld16", "ld17", "ldi", "lhp0",
235					"lhp1", "lhp2", "lhs", "lm0", "lpp",
236					"lpw0", "lpw2", "lsc0", "lspi", "lvp1",
237					"lvs", "pmc";
238				nvidia,tristate = <TEGRA_PIN_DISABLE>;
239			};
240			conf_ld17_0 {
241				nvidia,pins = "ld17_0", "ld19_18", "ld21_20",
242					"ld23_22";
243				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
244			};
245		};
246
247		state_i2cmux_ddc: pinmux_i2cmux_ddc {
248			ddc {
249				nvidia,pins = "ddc";
250				nvidia,function = "i2c2";
251			};
252			pta {
253				nvidia,pins = "pta";
254				nvidia,function = "rsvd4";
255			};
256		};
257
258		state_i2cmux_pta: pinmux_i2cmux_pta {
259			ddc {
260				nvidia,pins = "ddc";
261				nvidia,function = "rsvd4";
262			};
263			pta {
264				nvidia,pins = "pta";
265				nvidia,function = "i2c2";
266			};
267		};
268
269		state_i2cmux_idle: pinmux_i2cmux_idle {
270			ddc {
271				nvidia,pins = "ddc";
272				nvidia,function = "rsvd4";
273			};
274			pta {
275				nvidia,pins = "pta";
276				nvidia,function = "rsvd4";
277			};
278		};
279	};
280
281	i2s@70002800 {
282		status = "okay";
283	};
284
285	serial@70006300 {
286		status = "okay";
287	};
288
289	i2c@7000c000 {
290		clock-frequency = <400000>;
291		status = "okay";
292	};
293
294	i2c@7000c400 {
295		clock-frequency = <100000>;
296		status = "okay";
297	};
298
299	i2cmux {
300		compatible = "i2c-mux-pinctrl";
301		#address-cells = <1>;
302		#size-cells = <0>;
303
304		i2c-parent = <&{/i2c@7000c400}>;
305
306		pinctrl-names = "ddc", "pta", "idle";
307		pinctrl-0 = <&state_i2cmux_ddc>;
308		pinctrl-1 = <&state_i2cmux_pta>;
309		pinctrl-2 = <&state_i2cmux_idle>;
310
311		hdmi_ddc: i2c@0 {
312			reg = <0>;
313			#address-cells = <1>;
314			#size-cells = <0>;
315		};
316
317		i2c@1 {
318			reg = <1>;
319			#address-cells = <1>;
320			#size-cells = <0>;
321		};
322	};
323
324	i2c@7000d000 {
325		clock-frequency = <400000>;
326		status = "okay";
327
328		pmic: tps6586x@34 {
329			compatible = "ti,tps6586x";
330			reg = <0x34>;
331			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
332
333			ti,system-power-controller;
334
335			#gpio-cells = <2>;
336			gpio-controller;
337
338			/* vdd_5v0_reg must be provided by the base board */
339			sys-supply = <&vdd_5v0_reg>;
340			vin-sm0-supply = <&sys_reg>;
341			vin-sm1-supply = <&sys_reg>;
342			vin-sm2-supply = <&sys_reg>;
343			vinldo01-supply = <&sm2_reg>;
344			vinldo23-supply = <&sm2_reg>;
345			vinldo4-supply = <&sm2_reg>;
346			vinldo678-supply = <&sm2_reg>;
347			vinldo9-supply = <&sm2_reg>;
348
349			regulators {
350				sys_reg: sys {
351					regulator-name = "vdd_sys";
352					regulator-always-on;
353				};
354
355				sm0 {
356					regulator-name = "vdd_sys_sm0,vdd_core";
357					regulator-min-microvolt = <1200000>;
358					regulator-max-microvolt = <1200000>;
359					regulator-always-on;
360				};
361
362				sm1 {
363					regulator-name = "vdd_sys_sm1,vdd_cpu";
364					regulator-min-microvolt = <1000000>;
365					regulator-max-microvolt = <1000000>;
366					regulator-always-on;
367				};
368
369				sm2_reg: sm2 {
370					regulator-name = "vdd_sys_sm2,vin_ldo*";
371					regulator-min-microvolt = <3700000>;
372					regulator-max-microvolt = <3700000>;
373					regulator-always-on;
374				};
375
376				pci_clk_reg: ldo0 {
377					regulator-name = "vdd_ldo0,vddio_pex_clk";
378					regulator-min-microvolt = <3300000>;
379					regulator-max-microvolt = <3300000>;
380				};
381
382				ldo1 {
383					regulator-name = "vdd_ldo1,avdd_pll*";
384					regulator-min-microvolt = <1100000>;
385					regulator-max-microvolt = <1100000>;
386					regulator-always-on;
387				};
388
389				ldo2 {
390					regulator-name = "vdd_ldo2,vdd_rtc";
391					regulator-min-microvolt = <1200000>;
392					regulator-max-microvolt = <1200000>;
393				};
394
395				ldo3 {
396					regulator-name = "vdd_ldo3,avdd_usb*";
397					regulator-min-microvolt = <3300000>;
398					regulator-max-microvolt = <3300000>;
399					regulator-always-on;
400				};
401
402				ldo4 {
403					regulator-name = "vdd_ldo4,avdd_osc,vddio_sys";
404					regulator-min-microvolt = <1800000>;
405					regulator-max-microvolt = <1800000>;
406					regulator-always-on;
407				};
408
409				ldo5 {
410					regulator-name = "vdd_ldo5,vcore_mmc";
411					regulator-min-microvolt = <2850000>;
412					regulator-max-microvolt = <2850000>;
413				};
414
415				ldo6 {
416					regulator-name = "vdd_ldo6,avdd_vdac";
417					/*
418					 * According to the Tegra 2 Automotive
419					 * DataSheet, a typical value for this
420					 * would be 2.8V, but the PMIC only
421					 * supports 2.85V.
422					 */
423					regulator-min-microvolt = <2850000>;
424					regulator-max-microvolt = <2850000>;
425				};
426
427				hdmi_vdd_reg: ldo7 {
428					regulator-name = "vdd_ldo7,avdd_hdmi";
429					regulator-min-microvolt = <3300000>;
430					regulator-max-microvolt = <3300000>;
431				};
432
433				hdmi_pll_reg: ldo8 {
434					regulator-name = "vdd_ldo8,avdd_hdmi_pll";
435					regulator-min-microvolt = <1800000>;
436					regulator-max-microvolt = <1800000>;
437				};
438
439				ldo9 {
440					regulator-name = "vdd_ldo9,vdd_ddr_rx,avdd_cam";
441					/*
442					 * According to the Tegra 2 Automotive
443					 * DataSheet, a typical value for this
444					 * would be 2.8V, but the PMIC only
445					 * supports 2.85V.
446					 */
447					regulator-min-microvolt = <2850000>;
448					regulator-max-microvolt = <2850000>;
449					regulator-always-on;
450				};
451
452				ldo_rtc {
453					regulator-name = "vdd_rtc_out";
454					regulator-min-microvolt = <3300000>;
455					regulator-max-microvolt = <3300000>;
456					regulator-always-on;
457				};
458			};
459		};
460
461		temperature-sensor@4c {
462			compatible = "onnn,nct1008";
463			reg = <0x4c>;
464		};
465	};
466
467	pmc@7000e400 {
468		nvidia,invert-interrupt;
469		nvidia,suspend-mode = <1>;
470		nvidia,cpu-pwr-good-time = <5000>;
471		nvidia,cpu-pwr-off-time = <5000>;
472		nvidia,core-pwr-good-time = <3845 3845>;
473		nvidia,core-pwr-off-time = <3875>;
474		nvidia,sys-clock-req-active-high;
475	};
476
477	pcie-controller@80003000 {
478		avdd-pex-supply = <&pci_vdd_reg>;
479		vdd-pex-supply = <&pci_vdd_reg>;
480		avdd-pex-pll-supply = <&pci_vdd_reg>;
481		avdd-plle-supply = <&pci_vdd_reg>;
482		vddio-pex-clk-supply = <&pci_clk_reg>;
483	};
484
485	usb@c5008000 {
486		status = "okay";
487	};
488
489	usb-phy@c5008000 {
490		status = "okay";
491	};
492
493	sdhci@c8000600 {
494		cd-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_LOW>;
495		wp-gpios = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_HIGH>;
496		bus-width = <4>;
497		status = "okay";
498	};
499
500	clocks {
501		compatible = "simple-bus";
502		#address-cells = <1>;
503		#size-cells = <0>;
504
505		clk32k_in: clock@0 {
506			compatible = "fixed-clock";
507			reg=<0>;
508			#clock-cells = <0>;
509			clock-frequency = <32768>;
510		};
511	};
512
513	regulators {
514		compatible = "simple-bus";
515
516		#address-cells = <1>;
517		#size-cells = <0>;
518
519		pci_vdd_reg: regulator@1 {
520			compatible = "regulator-fixed";
521			reg = <1>;
522			regulator-name = "vdd_1v05";
523			regulator-min-microvolt = <1050000>;
524			regulator-max-microvolt = <1050000>;
525			gpio = <&pmic 2 0>;
526			enable-active-high;
527		};
528	};
529};
530