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		sdhci0 = "/sdhci@700b0600";
20		sdhci1 = "/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 170 1>; /* gpio PV2 */
307		power-gpios = <&gpio 136 0>; /* gpio PR0 */
308		bus-width = <4>;
309	};
310
311	sdhci@700b0600 {
312		status = "okay";
313		bus-width = <8>;
314	};
315
316	usb@7d000000 {
317		status = "okay";
318		dr_mode = "otg";
319		nvidia,vbus-gpio = <&gpio 108 0>; /* gpio PN4, USB_VBUS_EN0 */
320	};
321
322	usb@7d008000 {
323		status = "okay";
324		nvidia,vbus-gpio = <&gpio 109 0>; /* gpio PN5, USB_VBUS_EN1 */
325	};
326
327	regulators {
328		compatible = "simple-bus";
329		#address-cells = <1>;
330		#size-cells = <0>;
331
332		vdd_mux: regulator@0 {
333			compatible = "regulator-fixed";
334			reg = <0>;
335			regulator-name = "+VDD_MUX";
336			regulator-min-microvolt = <12000000>;
337			regulator-max-microvolt = <12000000>;
338			regulator-always-on;
339			regulator-boot-on;
340		};
341
342		vdd_5v0_sys: regulator@1 {
343			compatible = "regulator-fixed";
344			reg = <1>;
345			regulator-name = "+5V_SYS";
346			regulator-min-microvolt = <5000000>;
347			regulator-max-microvolt = <5000000>;
348			regulator-always-on;
349			regulator-boot-on;
350			vin-supply = <&vdd_mux>;
351		};
352
353		vdd_3v3_sys: regulator@2 {
354			compatible = "regulator-fixed";
355			reg = <2>;
356			regulator-name = "+3.3V_SYS";
357			regulator-min-microvolt = <3300000>;
358			regulator-max-microvolt = <3300000>;
359			regulator-always-on;
360			regulator-boot-on;
361			vin-supply = <&vdd_mux>;
362		};
363
364		vdd_3v3_run: regulator@3 {
365			compatible = "regulator-fixed";
366			reg = <3>;
367			regulator-name = "+3.3V_RUN";
368			regulator-min-microvolt = <3300000>;
369			regulator-max-microvolt = <3300000>;
370			regulator-always-on;
371			regulator-boot-on;
372			gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
373			enable-active-high;
374			vin-supply = <&vdd_3v3_sys>;
375		};
376
377		vdd_3v3_hdmi: regulator@4 {
378			compatible = "regulator-fixed";
379			reg = <4>;
380			regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
381			regulator-min-microvolt = <3300000>;
382			regulator-max-microvolt = <3300000>;
383			vin-supply = <&vdd_3v3_run>;
384		};
385
386		vdd_usb1_vbus: regulator@7 {
387			compatible = "regulator-fixed";
388			reg = <7>;
389			regulator-name = "+USB0_VBUS_SW";
390			regulator-min-microvolt = <5000000>;
391			regulator-max-microvolt = <5000000>;
392			gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
393			enable-active-high;
394			gpio-open-drain;
395			vin-supply = <&vdd_5v0_sys>;
396		};
397
398		vdd_usb3_vbus: regulator@8 {
399			compatible = "regulator-fixed";
400			reg = <8>;
401			regulator-name = "+5V_USB_HS";
402			regulator-min-microvolt = <5000000>;
403			regulator-max-microvolt = <5000000>;
404			gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
405			enable-active-high;
406			gpio-open-drain;
407			vin-supply = <&vdd_5v0_sys>;
408		};
409
410		vdd_3v3_lp0: regulator@10 {
411			compatible = "regulator-fixed";
412			reg = <10>;
413			regulator-name = "+3.3V_LP0";
414			regulator-min-microvolt = <3300000>;
415			regulator-max-microvolt = <3300000>;
416			regulator-always-on;
417			regulator-boot-on;
418			gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
419			enable-active-high;
420			vin-supply = <&vdd_3v3_sys>;
421		};
422
423		vdd_hdmi_pll: regulator@11 {
424			compatible = "regulator-fixed";
425			reg = <11>;
426			regulator-name = "+1.05V_RUN_AVDD_HDMI_PLL";
427			regulator-min-microvolt = <1050000>;
428			regulator-max-microvolt = <1050000>;
429			gpio = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_LOW>;
430			vin-supply = <&vdd_1v05_run>;
431		};
432
433		vdd_5v0_hdmi: regulator@12 {
434			compatible = "regulator-fixed";
435			reg = <12>;
436			regulator-name = "+5V_HDMI_CON";
437			regulator-min-microvolt = <5000000>;
438			regulator-max-microvolt = <5000000>;
439			gpio = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_HIGH>;
440			enable-active-high;
441			vin-supply = <&vdd_5v0_sys>;
442		};
443
444		/* Molex power connector */
445		vdd_5v0_sata: regulator@13 {
446			compatible = "regulator-fixed";
447			reg = <13>;
448			regulator-name = "+5V_SATA";
449			regulator-min-microvolt = <5000000>;
450			regulator-max-microvolt = <5000000>;
451			gpio = <&gpio TEGRA_GPIO(EE, 2) GPIO_ACTIVE_HIGH>;
452			enable-active-high;
453			vin-supply = <&vdd_5v0_sys>;
454		};
455
456		vdd_12v0_sata: regulator@14 {
457			compatible = "regulator-fixed";
458			reg = <14>;
459			regulator-name = "+12V_SATA";
460			regulator-min-microvolt = <12000000>;
461			regulator-max-microvolt = <12000000>;
462			gpio = <&gpio TEGRA_GPIO(EE, 2) GPIO_ACTIVE_HIGH>;
463			enable-active-high;
464			vin-supply = <&vdd_mux>;
465		};
466	};
467};
468