1/dts-v1/;
2
3#include "tegra124.dtsi"
4
5/ {
6	model = "NVIDIA Jetson TK1";
7	compatible = "nvidia,jetson-tk1", "nvidia,tegra124";
8
9	chosen {
10		stdout-path = &uartd;
11	};
12
13	aliases {
14		i2c0 = "/i2c@7000d000";
15		i2c1 = "/i2c@7000c000";
16		i2c2 = "/i2c@7000c400";
17		i2c3 = "/i2c@7000c500";
18		i2c4 = "/i2c@7000c700";
19		mmc0 = "/sdhci@700b0600";
20		mmc1 = "/sdhci@700b0400";
21		spi0 = "/spi@7000d400";
22		spi1 = "/spi@7000da00";
23		usb0 = "/usb@7d000000";
24		usb1 = "/usb@7d008000";
25	};
26
27	memory {
28		device_type = "memory";
29		reg = <0x80000000 0x80000000>;
30	};
31
32	pcie-controller@01003000 {
33		status = "okay";
34
35		avddio-pex-supply = <&vdd_1v05_run>;
36		dvddio-pex-supply = <&vdd_1v05_run>;
37		avdd-pex-pll-supply = <&vdd_1v05_run>;
38		hvdd-pex-supply = <&vdd_3v3_lp0>;
39		hvdd-pex-pll-e-supply = <&vdd_3v3_lp0>;
40		vddio-pex-ctl-supply = <&vdd_3v3_lp0>;
41		avdd-pll-erefe-supply = <&avdd_1v05_run>;
42
43		pci@1,0 {
44			status = "okay";
45		};
46
47		pci@2,0 {
48			status = "okay";
49		};
50	};
51
52	i2c@7000c000 {
53		status = "okay";
54		clock-frequency = <100000>;
55	};
56
57	i2c@7000c400 {
58		status = "okay";
59		clock-frequency = <100000>;
60	};
61
62	i2c@7000c500 {
63		status = "okay";
64		clock-frequency = <100000>;
65	};
66
67	i2c@7000c700 {
68		status = "okay";
69		clock-frequency = <100000>;
70	};
71
72	/* Expansion PWR_I2C_*, on-board components */
73	i2c@7000d000 {
74		status = "okay";
75		clock-frequency = <400000>;
76
77		pmic: pmic@40 {
78			compatible = "ams,as3722";
79			reg = <0x40>;
80			interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
81
82			ams,system-power-controller;
83
84			#interrupt-cells = <2>;
85			interrupt-controller;
86
87			gpio-controller;
88			#gpio-cells = <2>;
89
90			pinctrl-names = "default";
91			pinctrl-0 = <&as3722_default>;
92
93			as3722_default: pinmux {
94				gpio0 {
95					pins = "gpio0";
96					function = "gpio";
97					bias-pull-down;
98				};
99
100				gpio1_2_4_7 {
101					pins = "gpio1", "gpio2", "gpio4", "gpio7";
102					function = "gpio";
103					bias-pull-up;
104				};
105
106				gpio3_5_6 {
107					pins = "gpio3", "gpio5", "gpio6";
108					bias-high-impedance;
109				};
110			};
111
112			regulators {
113				vsup-sd2-supply = <&vdd_5v0_sys>;
114				vsup-sd3-supply = <&vdd_5v0_sys>;
115				vsup-sd4-supply = <&vdd_5v0_sys>;
116				vsup-sd5-supply = <&vdd_5v0_sys>;
117				vin-ldo0-supply = <&vdd_1v35_lp0>;
118				vin-ldo1-6-supply = <&vdd_3v3_run>;
119				vin-ldo2-5-7-supply = <&vddio_1v8>;
120				vin-ldo3-4-supply = <&vdd_3v3_sys>;
121				vin-ldo9-10-supply = <&vdd_5v0_sys>;
122				vin-ldo11-supply = <&vdd_3v3_run>;
123
124				sd0 {
125					regulator-name = "+VDD_CPU_AP";
126					regulator-min-microvolt = <700000>;
127					regulator-max-microvolt = <1400000>;
128					regulator-min-microamp = <3500000>;
129					regulator-max-microamp = <3500000>;
130					regulator-always-on;
131					regulator-boot-on;
132					ams,ext-control = <2>;
133				};
134
135				sd1 {
136					regulator-name = "+VDD_CORE";
137					regulator-min-microvolt = <700000>;
138					regulator-max-microvolt = <1350000>;
139					regulator-min-microamp = <2500000>;
140					regulator-max-microamp = <2500000>;
141					regulator-always-on;
142					regulator-boot-on;
143					ams,ext-control = <1>;
144				};
145
146				vdd_1v35_lp0: sd2 {
147					regulator-name = "+1.35V_LP0(sd2)";
148					regulator-min-microvolt = <1350000>;
149					regulator-max-microvolt = <1350000>;
150					regulator-always-on;
151					regulator-boot-on;
152				};
153
154				sd3 {
155					regulator-name = "+1.35V_LP0(sd3)";
156					regulator-min-microvolt = <1350000>;
157					regulator-max-microvolt = <1350000>;
158					regulator-always-on;
159					regulator-boot-on;
160				};
161
162				vdd_1v05_run: sd4 {
163					regulator-name = "+1.05V_RUN";
164					regulator-min-microvolt = <1050000>;
165					regulator-max-microvolt = <1050000>;
166				};
167
168				vddio_1v8: sd5 {
169					regulator-name = "+1.8V_VDDIO";
170					regulator-min-microvolt = <1800000>;
171					regulator-max-microvolt = <1800000>;
172					regulator-boot-on;
173					regulator-always-on;
174				};
175
176				vdd_gpu: sd6 {
177					regulator-name = "+VDD_GPU_AP";
178					regulator-min-microvolt = <650000>;
179					regulator-max-microvolt = <1200000>;
180					regulator-min-microamp = <3500000>;
181					regulator-max-microamp = <3500000>;
182					regulator-boot-on;
183					regulator-always-on;
184				};
185
186				avdd_1v05_run: ldo0 {
187					regulator-name = "+1.05V_RUN_AVDD";
188					regulator-min-microvolt = <1050000>;
189					regulator-max-microvolt = <1050000>;
190					regulator-boot-on;
191					regulator-always-on;
192					ams,ext-control = <1>;
193				};
194
195				ldo1 {
196					regulator-name = "+1.8V_RUN_CAM";
197					regulator-min-microvolt = <1800000>;
198					regulator-max-microvolt = <1800000>;
199				};
200
201				ldo2 {
202					regulator-name = "+1.2V_GEN_AVDD";
203					regulator-min-microvolt = <1200000>;
204					regulator-max-microvolt = <1200000>;
205					regulator-boot-on;
206					regulator-always-on;
207				};
208
209				ldo3 {
210					regulator-name = "+1.05V_LP0_VDD_RTC";
211					regulator-min-microvolt = <1000000>;
212					regulator-max-microvolt = <1000000>;
213					regulator-boot-on;
214					regulator-always-on;
215					ams,enable-tracking;
216				};
217
218				ldo4 {
219					regulator-name = "+2.8V_RUN_CAM";
220					regulator-min-microvolt = <2800000>;
221					regulator-max-microvolt = <2800000>;
222				};
223
224				ldo5 {
225					regulator-name = "+1.2V_RUN_CAM_FRONT";
226					regulator-min-microvolt = <1200000>;
227					regulator-max-microvolt = <1200000>;
228				};
229
230				vddio_sdmmc3: ldo6 {
231					regulator-name = "+VDDIO_SDMMC3";
232					regulator-min-microvolt = <1800000>;
233					regulator-max-microvolt = <3300000>;
234				};
235
236				ldo7 {
237					regulator-name = "+1.05V_RUN_CAM_REAR";
238					regulator-min-microvolt = <1050000>;
239					regulator-max-microvolt = <1050000>;
240				};
241
242				ldo9 {
243					regulator-name = "+3.3V_RUN_TOUCH";
244					regulator-min-microvolt = <2800000>;
245					regulator-max-microvolt = <2800000>;
246				};
247
248				ldo10 {
249					regulator-name = "+2.8V_RUN_CAM_AF";
250					regulator-min-microvolt = <2800000>;
251					regulator-max-microvolt = <2800000>;
252				};
253
254				ldo11 {
255					regulator-name = "+1.8V_RUN_VPP_FUSE";
256					regulator-min-microvolt = <1800000>;
257					regulator-max-microvolt = <1800000>;
258				};
259			};
260		};
261	};
262
263	i2c@7000d100 {
264		status = "okay";
265		clock-frequency = <400000>;
266	};
267
268	spi@7000d400 {
269		status = "okay";
270		spi-max-frequency = <25000000>;
271	};
272
273	spi@7000da00 {
274		status = "okay";
275		spi-max-frequency = <25000000>;
276	};
277
278	padctl@7009f000 {
279		pinctrl-0 = <&padctl_default>;
280		pinctrl-names = "default";
281
282		padctl_default: pinmux {
283			usb3 {
284				nvidia,lanes = "pcie-0", "pcie-1";
285				nvidia,function = "usb3";
286				nvidia,iddq = <0>;
287			};
288
289			pcie {
290				nvidia,lanes = "pcie-2", "pcie-3",
291					       "pcie-4";
292				nvidia,function = "pcie";
293				nvidia,iddq = <0>;
294			};
295
296			sata {
297				nvidia,lanes = "sata-0";
298				nvidia,function = "sata";
299				nvidia,iddq = <0>;
300			};
301		};
302	};
303
304	sdhci@700b0400 {
305		status = "okay";
306		cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
307		power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
308		wp-gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_HIGH>;
309		bus-width = <4>;
310	};
311
312	sdhci@700b0600 {
313		status = "okay";
314		bus-width = <8>;
315		non-removable;
316	};
317
318	usb@7d000000 {
319		status = "okay";
320		dr_mode = "otg";
321		nvidia,vbus-gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
322	};
323
324	usb@7d008000 {
325		status = "okay";
326		nvidia,vbus-gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
327	};
328
329	clocks {
330		compatible = "simple-bus";
331		#address-cells = <1>;
332		#size-cells = <0>;
333
334		clk32k_in: clock@0 {
335			compatible = "fixed-clock";
336			reg = <0>;
337			#clock-cells = <0>;
338			clock-frequency = <32768>;
339		};
340	};
341
342	regulators {
343		compatible = "simple-bus";
344		#address-cells = <1>;
345		#size-cells = <0>;
346
347		vdd_mux: regulator@0 {
348			compatible = "regulator-fixed";
349			reg = <0>;
350			regulator-name = "+VDD_MUX";
351			regulator-min-microvolt = <12000000>;
352			regulator-max-microvolt = <12000000>;
353			regulator-always-on;
354			regulator-boot-on;
355		};
356
357		vdd_5v0_sys: regulator@1 {
358			compatible = "regulator-fixed";
359			reg = <1>;
360			regulator-name = "+5V_SYS";
361			regulator-min-microvolt = <5000000>;
362			regulator-max-microvolt = <5000000>;
363			regulator-always-on;
364			regulator-boot-on;
365			vin-supply = <&vdd_mux>;
366		};
367
368		vdd_3v3_sys: regulator@2 {
369			compatible = "regulator-fixed";
370			reg = <2>;
371			regulator-name = "+3.3V_SYS";
372			regulator-min-microvolt = <3300000>;
373			regulator-max-microvolt = <3300000>;
374			regulator-always-on;
375			regulator-boot-on;
376			vin-supply = <&vdd_mux>;
377		};
378
379		vdd_3v3_run: regulator@3 {
380			compatible = "regulator-fixed";
381			reg = <3>;
382			regulator-name = "+3.3V_RUN";
383			regulator-min-microvolt = <3300000>;
384			regulator-max-microvolt = <3300000>;
385			regulator-always-on;
386			regulator-boot-on;
387			gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
388			enable-active-high;
389			vin-supply = <&vdd_3v3_sys>;
390		};
391
392		vdd_3v3_hdmi: regulator@4 {
393			compatible = "regulator-fixed";
394			reg = <4>;
395			regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
396			regulator-min-microvolt = <3300000>;
397			regulator-max-microvolt = <3300000>;
398			vin-supply = <&vdd_3v3_run>;
399		};
400
401		vdd_usb1_vbus: regulator@7 {
402			compatible = "regulator-fixed";
403			reg = <7>;
404			regulator-name = "+USB0_VBUS_SW";
405			regulator-min-microvolt = <5000000>;
406			regulator-max-microvolt = <5000000>;
407			gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
408			enable-active-high;
409			gpio-open-drain;
410			vin-supply = <&vdd_5v0_sys>;
411		};
412
413		vdd_usb3_vbus: regulator@8 {
414			compatible = "regulator-fixed";
415			reg = <8>;
416			regulator-name = "+5V_USB_HS";
417			regulator-min-microvolt = <5000000>;
418			regulator-max-microvolt = <5000000>;
419			gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
420			enable-active-high;
421			gpio-open-drain;
422			vin-supply = <&vdd_5v0_sys>;
423		};
424
425		vdd_3v3_lp0: regulator@10 {
426			compatible = "regulator-fixed";
427			reg = <10>;
428			regulator-name = "+3.3V_LP0";
429			regulator-min-microvolt = <3300000>;
430			regulator-max-microvolt = <3300000>;
431			regulator-always-on;
432			regulator-boot-on;
433			gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
434			enable-active-high;
435			vin-supply = <&vdd_3v3_sys>;
436		};
437
438		vdd_hdmi_pll: regulator@11 {
439			compatible = "regulator-fixed";
440			reg = <11>;
441			regulator-name = "+1.05V_RUN_AVDD_HDMI_PLL";
442			regulator-min-microvolt = <1050000>;
443			regulator-max-microvolt = <1050000>;
444			gpio = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_LOW>;
445			vin-supply = <&vdd_1v05_run>;
446		};
447
448		vdd_5v0_hdmi: regulator@12 {
449			compatible = "regulator-fixed";
450			reg = <12>;
451			regulator-name = "+5V_HDMI_CON";
452			regulator-min-microvolt = <5000000>;
453			regulator-max-microvolt = <5000000>;
454			gpio = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_HIGH>;
455			enable-active-high;
456			vin-supply = <&vdd_5v0_sys>;
457		};
458
459		/* Molex power connector */
460		vdd_5v0_sata: regulator@13 {
461			compatible = "regulator-fixed";
462			reg = <13>;
463			regulator-name = "+5V_SATA";
464			regulator-min-microvolt = <5000000>;
465			regulator-max-microvolt = <5000000>;
466			gpio = <&gpio TEGRA_GPIO(EE, 2) GPIO_ACTIVE_HIGH>;
467			enable-active-high;
468			vin-supply = <&vdd_5v0_sys>;
469		};
470
471		vdd_12v0_sata: regulator@14 {
472			compatible = "regulator-fixed";
473			reg = <14>;
474			regulator-name = "+12V_SATA";
475			regulator-min-microvolt = <12000000>;
476			regulator-max-microvolt = <12000000>;
477			gpio = <&gpio TEGRA_GPIO(EE, 2) GPIO_ACTIVE_HIGH>;
478			enable-active-high;
479			vin-supply = <&vdd_mux>;
480		};
481	};
482};
483
484&uartd {
485	status = "okay";
486};
487