xref: /openbmc/u-boot/arch/arm/dts/tegra124-nyan.dtsi (revision 3ebd892f)
1#include <dt-bindings/input/input.h>
2#include "tegra124.dtsi"
3
4/ {
5	aliases {
6		rtc0 = "/i2c@7000d000/pmic@40";
7		rtc1 = "/rtc@7000e000";
8		serial0 = &uarta;
9	};
10
11	memory {
12		reg = <0x80000000 0x80000000>;
13	};
14
15	host1x@50000000 {
16		hdmi@54280000 {
17			status = "okay";
18
19			vdd-supply = <&vdd_3v3_hdmi>;
20			pll-supply = <&vdd_hdmi_pll>;
21			hdmi-supply = <&vdd_5v0_hdmi>;
22
23			nvidia,ddc-i2c-bus = <&hdmi_ddc>;
24			nvidia,hpd-gpio =
25				<&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
26		};
27
28		sor@54540000 {
29			status = "okay";
30
31			nvidia,dpaux = <&dpaux>;
32			nvidia,panel = <&panel>;
33		};
34
35		dpaux@545c0000 {
36			vdd-supply = <&vdd_3v3_panel>;
37			status = "okay";
38		};
39	};
40
41	serial@70006000 {
42		/* Debug connector on the bottom of the board near SD card. */
43		status = "okay";
44	};
45
46	pwm@7000a000 {
47		status = "okay";
48	};
49
50	i2c@7000c000 {
51		status = "okay";
52		clock-frequency = <100000>;
53
54		acodec: audio-codec@10 {
55			compatible = "maxim,max98090";
56			reg = <0x10>;
57			interrupt-parent = <&gpio>;
58			interrupts = <TEGRA_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
59		};
60
61		temperature-sensor@4c {
62			compatible = "ti,tmp451";
63			reg = <0x4c>;
64			interrupt-parent = <&gpio>;
65			interrupts = <TEGRA_GPIO(I, 6) IRQ_TYPE_LEVEL_LOW>;
66
67			#thermal-sensor-cells = <1>;
68		};
69	};
70
71	i2c@7000c400 {
72		status = "okay";
73		clock-frequency = <100000>;
74
75		trackpad@15 {
76			compatible = "elan,ekth3000";
77			reg = <0x15>;
78			interrupt-parent = <&gpio>;
79			interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_EDGE_FALLING>;
80			wakeup-source;
81		};
82	};
83
84	i2c@7000c500 {
85		status = "okay";
86		clock-frequency = <400000>;
87
88		tpm@20 {
89			compatible = "infineon,slb9645tt";
90			reg = <0x20>;
91		};
92	};
93
94	hdmi_ddc: i2c@7000c700 {
95		status = "okay";
96		clock-frequency = <100000>;
97	};
98
99	i2c@7000d000 {
100		status = "okay";
101		clock-frequency = <400000>;
102
103		pmic: pmic@40 {
104			compatible = "ams,as3722";
105			reg = <0x40>;
106			interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
107
108			ams,system-power-controller;
109
110			#interrupt-cells = <2>;
111			interrupt-controller;
112
113			gpio-controller;
114			#gpio-cells = <2>;
115
116			pinctrl-names = "default";
117			pinctrl-0 = <&as3722_default>;
118
119			as3722_default: pinmux {
120				gpio0 {
121					pins = "gpio0";
122					function = "gpio";
123					bias-pull-down;
124				};
125
126				gpio1 {
127					pins = "gpio1";
128					function = "gpio";
129					bias-pull-up;
130				};
131
132				gpio2_4_7 {
133					pins = "gpio2", "gpio4", "gpio7";
134					function = "gpio";
135					bias-pull-up;
136				};
137
138				gpio3_6 {
139					pins = "gpio3", "gpio6";
140					bias-high-impedance;
141				};
142
143				gpio5 {
144					pins = "gpio5";
145					function = "clk32k-out";
146					bias-pull-down;
147				};
148			};
149
150			regulators {
151				vsup-sd2-supply = <&vdd_5v0_sys>;
152				vsup-sd3-supply = <&vdd_5v0_sys>;
153				vsup-sd4-supply = <&vdd_5v0_sys>;
154				vsup-sd5-supply = <&vdd_5v0_sys>;
155				vin-ldo0-supply = <&vdd_1v35_lp0>;
156				vin-ldo1-6-supply = <&vdd_3v3_run>;
157				vin-ldo2-5-7-supply = <&vddio_1v8>;
158				vin-ldo3-4-supply = <&vdd_3v3_sys>;
159				vin-ldo9-10-supply = <&vdd_5v0_sys>;
160				vin-ldo11-supply = <&vdd_3v3_run>;
161
162				vdd_cpu: sd0 {
163					regulator-name = "+VDD_CPU_AP";
164					regulator-min-microvolt = <700000>;
165					regulator-max-microvolt = <1350000>;
166					regulator-min-microamp = <3500000>;
167					regulator-max-microamp = <3500000>;
168					regulator-always-on;
169					regulator-boot-on;
170					ams,ext-control = <2>;
171				};
172
173				sd1 {
174					regulator-name = "+VDD_CORE";
175					regulator-min-microvolt = <700000>;
176					regulator-max-microvolt = <1350000>;
177					regulator-min-microamp = <2500000>;
178					regulator-max-microamp = <4000000>;
179					regulator-always-on;
180					regulator-boot-on;
181					ams,ext-control = <1>;
182				};
183
184				vdd_1v35_lp0: sd2 {
185					regulator-name = "+1.35V_LP0(sd2)";
186					regulator-min-microvolt = <1350000>;
187					regulator-max-microvolt = <1350000>;
188					regulator-always-on;
189					regulator-boot-on;
190				};
191
192				sd3 {
193					regulator-name = "+1.35V_LP0(sd3)";
194					regulator-min-microvolt = <1350000>;
195					regulator-max-microvolt = <1350000>;
196					regulator-always-on;
197					regulator-boot-on;
198				};
199
200				vdd_1v05_run: sd4 {
201					regulator-name = "+1.05V_RUN";
202					regulator-min-microvolt = <1050000>;
203					regulator-max-microvolt = <1050000>;
204				};
205
206				vddio_1v8: sd5 {
207					regulator-name = "+1.8V_VDDIO";
208					regulator-min-microvolt = <1800000>;
209					regulator-max-microvolt = <1800000>;
210					regulator-always-on;
211				};
212
213				sd6 {
214					regulator-name = "+VDD_GPU_AP";
215					regulator-min-microvolt = <650000>;
216					regulator-max-microvolt = <1200000>;
217					regulator-min-microamp = <3500000>;
218					regulator-max-microamp = <3500000>;
219					regulator-boot-on;
220					regulator-always-on;
221				};
222
223				ldo0 {
224					regulator-name = "+1.05V_RUN_AVDD";
225					regulator-min-microvolt = <1050000>;
226					regulator-max-microvolt = <1050000>;
227					regulator-boot-on;
228					regulator-always-on;
229					ams,ext-control = <1>;
230				};
231
232				ldo1 {
233					regulator-name = "+1.8V_RUN_CAM";
234					regulator-min-microvolt = <1800000>;
235					regulator-max-microvolt = <1800000>;
236				};
237
238				ldo2 {
239					regulator-name = "+1.2V_GEN_AVDD";
240					regulator-min-microvolt = <1200000>;
241					regulator-max-microvolt = <1200000>;
242					regulator-boot-on;
243					regulator-always-on;
244				};
245
246				ldo3 {
247					regulator-name = "+1.00V_LP0_VDD_RTC";
248					regulator-min-microvolt = <1000000>;
249					regulator-max-microvolt = <1000000>;
250					regulator-boot-on;
251					regulator-always-on;
252					ams,enable-tracking;
253				};
254
255				vdd_run_cam: ldo4 {
256					regulator-name = "+3.3V_RUN_CAM";
257					regulator-min-microvolt = <2800000>;
258					regulator-max-microvolt = <2800000>;
259				};
260
261				ldo5 {
262					regulator-name = "+1.2V_RUN_CAM_FRONT";
263					regulator-min-microvolt = <1200000>;
264					regulator-max-microvolt = <1200000>;
265				};
266
267				vddio_sdmmc3: ldo6 {
268					regulator-name = "+VDDIO_SDMMC3";
269					regulator-min-microvolt = <1800000>;
270					regulator-max-microvolt = <3300000>;
271				};
272
273				ldo7 {
274					regulator-name = "+1.05V_RUN_CAM_REAR";
275					regulator-min-microvolt = <1050000>;
276					regulator-max-microvolt = <1050000>;
277				};
278
279				ldo9 {
280					regulator-name = "+2.8V_RUN_TOUCH";
281					regulator-min-microvolt = <2800000>;
282					regulator-max-microvolt = <2800000>;
283				};
284
285				ldo10 {
286					regulator-name = "+2.8V_RUN_CAM_AF";
287					regulator-min-microvolt = <2800000>;
288					regulator-max-microvolt = <2800000>;
289				};
290
291				ldo11 {
292					regulator-name = "+1.8V_RUN_VPP_FUSE";
293					regulator-min-microvolt = <1800000>;
294					regulator-max-microvolt = <1800000>;
295				};
296			};
297		};
298	};
299
300	spi@7000d400 {
301		status = "okay";
302
303		cros_ec: cros-ec@0 {
304			compatible = "google,cros-ec-spi";
305			spi-max-frequency = <3000000>;
306			interrupt-parent = <&gpio>;
307			interrupts = <TEGRA_GPIO(C, 7) IRQ_TYPE_LEVEL_LOW>;
308			reg = <0>;
309
310			google,cros-ec-spi-msg-delay = <2000>;
311
312			i2c-tunnel {
313				compatible = "google,cros-ec-i2c-tunnel";
314				#address-cells = <1>;
315				#size-cells = <0>;
316
317				google,remote-bus = <0>;
318
319				charger: bq24735@9 {
320					compatible = "ti,bq24735";
321					reg = <0x9>;
322					interrupt-parent = <&gpio>;
323					interrupts = <TEGRA_GPIO(J, 0)
324							GPIO_ACTIVE_HIGH>;
325					ti,ac-detect-gpios = <&gpio
326							TEGRA_GPIO(J, 0)
327							GPIO_ACTIVE_HIGH>;
328				};
329
330				battery: sbs-battery@b {
331					compatible = "sbs,sbs-battery";
332					reg = <0xb>;
333					sbs,i2c-retry-count = <2>;
334					sbs,poll-retry-count = <10>;
335					power-supplies = <&charger>;
336				};
337			};
338		};
339	};
340
341	spi@7000da00 {
342		status = "okay";
343		spi-max-frequency = <25000000>;
344
345		flash@0 {
346			compatible = "winbond,w25q32dw";
347			spi-max-frequency = <25000000>;
348			reg = <0>;
349		};
350	};
351
352	pmc@7000e400 {
353		nvidia,invert-interrupt;
354		nvidia,suspend-mode = <0>;
355		nvidia,cpu-pwr-good-time = <500>;
356		nvidia,cpu-pwr-off-time = <300>;
357		nvidia,core-pwr-good-time = <641 3845>;
358		nvidia,core-pwr-off-time = <61036>;
359		nvidia,core-power-req-active-high;
360		nvidia,sys-clock-req-active-high;
361	};
362
363	hda@70030000 {
364		status = "okay";
365	};
366
367	sdhci0_pwrseq: sdhci0_pwrseq {
368		compatible = "mmc-pwrseq-simple";
369
370		reset-gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_LOW>;
371	};
372
373	sdhci@700b0000 { /* WiFi/BT on this bus */
374		status = "okay";
375		power-gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_HIGH>;
376		bus-width = <4>;
377		no-1-8-v;
378		non-removable;
379		mmc-pwrseq = <&sdhci0_pwrseq>;
380		vmmc-supply = <&vdd_3v3_lp0>;
381		vqmmc-supply = <&vddio_1v8>;
382		keep-power-in-suspend;
383	};
384
385	sdhci@700b0400 { /* SD Card on this bus */
386		status = "okay";
387		cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
388		power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
389		wp-gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_LOW>;
390		bus-width = <4>;
391		no-1-8-v;
392		vqmmc-supply = <&vddio_sdmmc3>;
393	};
394
395	sdhci@700b0600 { /* eMMC on this bus */
396		status = "okay";
397		bus-width = <8>;
398		no-1-8-v;
399		non-removable;
400	};
401
402	/* CPU DFLL clock */
403	clock@70110000 {
404		status = "disabled";
405		vdd-cpu-supply = <&vdd_cpu>;
406		nvidia,i2c-fs-rate = <400000>;
407	};
408
409	ahub@70300000 {
410		i2s@70301100 {
411			status = "okay";
412		};
413	};
414
415	usb@7d000000 { /* Rear external USB port. */
416		status = "okay";
417		nvidia,vbus-gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
418	};
419
420	usb-phy@7d000000 {
421		status = "okay";
422		vbus-supply = <&vdd_usb1_vbus>;
423	};
424
425	usb@7d004000 { /* Internal webcam. */
426		status = "okay";
427		phy_type = "hsic";
428	};
429
430	usb-phy@7d004000 {
431		status = "okay";
432		phy_type = "hsic";
433		vbus-supply = <&vdd_run_cam>;
434	};
435
436	usb@7d008000 { /* Left external USB port. */
437		status = "okay";
438		nvidia,vbus-gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
439	};
440
441	usb-phy@7d008000 {
442		status = "okay";
443		vbus-supply = <&vdd_usb3_vbus>;
444	};
445
446	backlight: backlight {
447		compatible = "pwm-backlight";
448
449		enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
450		power-supply = <&vdd_led>;
451		pwms = <&pwm 1 1000000>;
452
453		default-brightness-level = <224>;
454		brightness-levels =
455			<  0   1   2   3   4   5   6   7
456			   8   9  10  11  12  13  14  15
457			  16  17  18  19  20  21  22  23
458			  24  25  26  27  28  29  30  31
459			  32  33  34  35  36  37  38  39
460			  40  41  42  43  44  45  46  47
461			  48  49  50  51  52  53  54  55
462			  56  57  58  59  60  61  62  63
463			  64  65  66  67  68  69  70  71
464			  72  73  74  75  76  77  78  79
465			  80  81  82  83  84  85  86  87
466			  88  89  90  91  92  93  94  95
467			  96  97  98  99 100 101 102 103
468			 104 105 106 107 108 109 110 111
469			 112 113 114 115 116 117 118 119
470			 120 121 122 123 124 125 126 127
471			 128 129 130 131 132 133 134 135
472			 136 137 138 139 140 141 142 143
473			 144 145 146 147 148 149 150 151
474			 152 153 154 155 156 157 158 159
475			 160 161 162 163 164 165 166 167
476			 168 169 170 171 172 173 174 175
477			 176 177 178 179 180 181 182 183
478			 184 185 186 187 188 189 190 191
479			 192 193 194 195 196 197 198 199
480			 200 201 202 203 204 205 206 207
481			 208 209 210 211 212 213 214 215
482			 216 217 218 219 220 221 222 223
483			 224 225 226 227 228 229 230 231
484			 232 233 234 235 236 237 238 239
485			 240 241 242 243 244 245 246 247
486			 248 249 250 251 252 253 254 255
487			 256>;
488	};
489
490	clocks {
491		compatible = "simple-bus";
492		#address-cells = <1>;
493		#size-cells = <0>;
494
495		clk32k_in: clock@0 {
496			compatible = "fixed-clock";
497			reg = <0>;
498			#clock-cells = <0>;
499			clock-frequency = <32768>;
500		};
501	};
502
503	cpus {
504		cpu@0 {
505			vdd-cpu-supply = <&vdd_cpu>;
506		};
507	};
508
509	cpus {
510		cpu@0 {
511			vdd-cpu-supply = <&vdd_cpu>;
512		};
513	};
514
515	gpio-keys {
516		compatible = "gpio-keys";
517
518		lid {
519			label = "Lid";
520			gpios = <&gpio TEGRA_GPIO(R, 4) GPIO_ACTIVE_LOW>;
521			linux,input-type = <5>;
522			linux,code = <KEY_RESERVED>;
523			debounce-interval = <1>;
524			gpio-key,wakeup;
525		};
526
527		power {
528			label = "Power";
529			gpios = <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
530			linux,code = <KEY_POWER>;
531			debounce-interval = <30>;
532			gpio-key,wakeup;
533		};
534	};
535
536	regulators {
537		compatible = "simple-bus";
538		#address-cells = <1>;
539		#size-cells = <0>;
540
541		vdd_mux: regulator@0 {
542			compatible = "regulator-fixed";
543			reg = <0>;
544			regulator-name = "+VDD_MUX";
545			regulator-min-microvolt = <12000000>;
546			regulator-max-microvolt = <12000000>;
547			regulator-always-on;
548			regulator-boot-on;
549		};
550
551		vdd_5v0_sys: regulator@1 {
552			compatible = "regulator-fixed";
553			reg = <1>;
554			regulator-name = "+5V_SYS";
555			regulator-min-microvolt = <5000000>;
556			regulator-max-microvolt = <5000000>;
557			regulator-always-on;
558			regulator-boot-on;
559			vin-supply = <&vdd_mux>;
560		};
561
562		vdd_3v3_sys: regulator@2 {
563			compatible = "regulator-fixed";
564			reg = <2>;
565			regulator-name = "+3.3V_SYS";
566			regulator-min-microvolt = <3300000>;
567			regulator-max-microvolt = <3300000>;
568			regulator-always-on;
569			regulator-boot-on;
570			vin-supply = <&vdd_mux>;
571		};
572
573		vdd_3v3_run: regulator@3 {
574			compatible = "regulator-fixed";
575			reg = <3>;
576			regulator-name = "+3.3V_RUN";
577			regulator-min-microvolt = <3300000>;
578			regulator-max-microvolt = <3300000>;
579			regulator-always-on;
580			regulator-boot-on;
581			gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
582			enable-active-high;
583			vin-supply = <&vdd_3v3_sys>;
584		};
585
586		vdd_3v3_hdmi: regulator@4 {
587			compatible = "regulator-fixed";
588			reg = <4>;
589			regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
590			regulator-min-microvolt = <3300000>;
591			regulator-max-microvolt = <3300000>;
592			vin-supply = <&vdd_3v3_run>;
593		};
594
595		vdd_led: regulator@5 {
596			compatible = "regulator-fixed";
597			reg = <5>;
598			regulator-name = "+VDD_LED";
599			gpio = <&gpio TEGRA_GPIO(P, 2) GPIO_ACTIVE_HIGH>;
600			enable-active-high;
601			vin-supply = <&vdd_mux>;
602		};
603
604		vdd_5v0_ts: regulator@6 {
605			compatible = "regulator-fixed";
606			reg = <6>;
607			regulator-name = "+5V_VDD_TS_SW";
608			regulator-min-microvolt = <5000000>;
609			regulator-max-microvolt = <5000000>;
610			regulator-boot-on;
611			gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>;
612			enable-active-high;
613			vin-supply = <&vdd_5v0_sys>;
614		};
615
616		vdd_usb1_vbus: regulator@7 {
617			compatible = "regulator-fixed";
618			reg = <7>;
619			regulator-name = "+5V_USB_HS";
620			regulator-min-microvolt = <5000000>;
621			regulator-max-microvolt = <5000000>;
622			gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
623			enable-active-high;
624			gpio-open-drain;
625			vin-supply = <&vdd_5v0_sys>;
626		};
627
628		vdd_usb3_vbus: regulator@8 {
629			compatible = "regulator-fixed";
630			reg = <8>;
631			regulator-name = "+5V_USB_SS";
632			regulator-min-microvolt = <5000000>;
633			regulator-max-microvolt = <5000000>;
634			gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
635			enable-active-high;
636			gpio-open-drain;
637			vin-supply = <&vdd_5v0_sys>;
638		};
639
640		vdd_3v3_panel: regulator@9 {
641			compatible = "regulator-fixed";
642			reg = <9>;
643			regulator-name = "+3.3V_PANEL";
644			regulator-min-microvolt = <3300000>;
645			regulator-max-microvolt = <3300000>;
646			gpio = <&pmic 4 GPIO_ACTIVE_HIGH>;
647			enable-active-high;
648			vin-supply = <&vdd_3v3_run>;
649		};
650
651		vdd_3v3_lp0: regulator@10 {
652			compatible = "regulator-fixed";
653			reg = <10>;
654			regulator-name = "+3.3V_LP0";
655			regulator-min-microvolt = <3300000>;
656			regulator-max-microvolt = <3300000>;
657			/*
658			 * TODO: find a way to wire this up with the USB EHCI
659			 * controllers so that it can be enabled on demand.
660			 */
661			regulator-always-on;
662			gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
663			enable-active-high;
664			vin-supply = <&vdd_3v3_sys>;
665		};
666
667		vdd_hdmi_pll: regulator@11 {
668			compatible = "regulator-fixed";
669			reg = <11>;
670			regulator-name = "+1.05V_RUN_AVDD_HDMI_PLL";
671			regulator-min-microvolt = <1050000>;
672			regulator-max-microvolt = <1050000>;
673			gpio = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_LOW>;
674			vin-supply = <&vdd_1v05_run>;
675		};
676
677		vdd_5v0_hdmi: regulator@12 {
678			compatible = "regulator-fixed";
679			reg = <12>;
680			regulator-name = "+5V_HDMI_CON";
681			regulator-min-microvolt = <5000000>;
682			regulator-max-microvolt = <5000000>;
683			gpio = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_HIGH>;
684			enable-active-high;
685			vin-supply = <&vdd_5v0_sys>;
686		};
687	};
688
689	sound {
690		nvidia,audio-routing =
691			"Headphones", "HPR",
692			"Headphones", "HPL",
693			"Speakers", "SPKR",
694			"Speakers", "SPKL",
695			"Mic Jack", "MICBIAS",
696			"DMICL", "Int Mic",
697			"DMICR", "Int Mic",
698			"IN34", "Mic Jack";
699
700		nvidia,i2s-controller = <&tegra_i2s1>;
701		nvidia,audio-codec = <&acodec>;
702
703		clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
704			 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
705			 <&tegra_car TEGRA124_CLK_EXTERN1>;
706		clock-names = "pll_a", "pll_a_out0", "mclk";
707
708		nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(I, 7) GPIO_ACTIVE_HIGH>;
709		nvidia,mic-det-gpios =
710				<&gpio TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>;
711	};
712
713	gpio-restart {
714		compatible = "gpio-restart";
715		gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
716		priority = <200>;
717	};
718};
719
720#include "cros-ec-keyboard.dtsi"
721