• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// SPDX-License-Identifier: GPL-2.0
2#include <dt-bindings/clock/tegra210-car.h>
3#include <dt-bindings/gpio/tegra-gpio.h>
4#include <dt-bindings/memory/tegra210-mc.h>
5#include <dt-bindings/pinctrl/pinctrl-tegra.h>
6#include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h>
7#include <dt-bindings/reset/tegra210-car.h>
8#include <dt-bindings/interrupt-controller/arm-gic.h>
9#include <dt-bindings/thermal/tegra124-soctherm.h>
10
11/ {
12	compatible = "nvidia,tegra210";
13	interrupt-parent = <&lic>;
14	#address-cells = <2>;
15	#size-cells = <2>;
16
17	pcie@1003000 {
18		compatible = "nvidia,tegra210-pcie";
19		device_type = "pci";
20		reg = <0x0 0x01003000 0x0 0x00000800   /* PADS registers */
21		       0x0 0x01003800 0x0 0x00000800   /* AFI registers */
22		       0x0 0x02000000 0x0 0x10000000>; /* configuration space */
23		reg-names = "pads", "afi", "cs";
24		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
25			     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
26		interrupt-names = "intr", "msi";
27
28		#interrupt-cells = <1>;
29		interrupt-map-mask = <0 0 0 0>;
30		interrupt-map = <0 0 0 0 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
31
32		bus-range = <0x00 0xff>;
33		#address-cells = <3>;
34		#size-cells = <2>;
35
36		ranges = <0x82000000 0 0x01000000 0x0 0x01000000 0 0x00001000   /* port 0 configuration space */
37			  0x82000000 0 0x01001000 0x0 0x01001000 0 0x00001000   /* port 1 configuration space */
38			  0x81000000 0 0x0        0x0 0x12000000 0 0x00010000   /* downstream I/O (64 KiB) */
39			  0x82000000 0 0x13000000 0x0 0x13000000 0 0x0d000000   /* non-prefetchable memory (208 MiB) */
40			  0xc2000000 0 0x20000000 0x0 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */
41
42		clocks = <&tegra_car TEGRA210_CLK_PCIE>,
43			 <&tegra_car TEGRA210_CLK_AFI>,
44			 <&tegra_car TEGRA210_CLK_PLL_E>,
45			 <&tegra_car TEGRA210_CLK_CML0>;
46		clock-names = "pex", "afi", "pll_e", "cml";
47		resets = <&tegra_car 70>,
48			 <&tegra_car 72>,
49			 <&tegra_car 74>;
50		reset-names = "pex", "afi", "pcie_x";
51
52		pinctrl-names = "default", "idle";
53		pinctrl-0 = <&pex_dpd_disable>;
54		pinctrl-1 = <&pex_dpd_enable>;
55
56		status = "disabled";
57
58		pci@1,0 {
59			device_type = "pci";
60			assigned-addresses = <0x82000800 0 0x01000000 0 0x1000>;
61			reg = <0x000800 0 0 0 0>;
62			bus-range = <0x00 0xff>;
63			status = "disabled";
64
65			#address-cells = <3>;
66			#size-cells = <2>;
67			ranges;
68
69			nvidia,num-lanes = <4>;
70		};
71
72		pci@2,0 {
73			device_type = "pci";
74			assigned-addresses = <0x82001000 0 0x01001000 0 0x1000>;
75			reg = <0x001000 0 0 0 0>;
76			bus-range = <0x00 0xff>;
77			status = "disabled";
78
79			#address-cells = <3>;
80			#size-cells = <2>;
81			ranges;
82
83			nvidia,num-lanes = <1>;
84		};
85	};
86
87	host1x@50000000 {
88		compatible = "nvidia,tegra210-host1x", "simple-bus";
89		reg = <0x0 0x50000000 0x0 0x00034000>;
90		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
91			     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
92		clocks = <&tegra_car TEGRA210_CLK_HOST1X>;
93		clock-names = "host1x";
94		resets = <&tegra_car 28>;
95		reset-names = "host1x";
96
97		#address-cells = <2>;
98		#size-cells = <2>;
99
100		ranges = <0x0 0x54000000 0x0 0x54000000 0x0 0x01000000>;
101
102		iommus = <&mc TEGRA_SWGROUP_HC>;
103
104		dpaux1: dpaux@54040000 {
105			compatible = "nvidia,tegra210-dpaux";
106			reg = <0x0 0x54040000 0x0 0x00040000>;
107			interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
108			clocks = <&tegra_car TEGRA210_CLK_DPAUX1>,
109				 <&tegra_car TEGRA210_CLK_PLL_DP>;
110			clock-names = "dpaux", "parent";
111			resets = <&tegra_car 207>;
112			reset-names = "dpaux";
113			power-domains = <&pd_sor>;
114			status = "disabled";
115
116			state_dpaux1_aux: pinmux-aux {
117				groups = "dpaux-io";
118				function = "aux";
119			};
120
121			state_dpaux1_i2c: pinmux-i2c {
122				groups = "dpaux-io";
123				function = "i2c";
124			};
125
126			state_dpaux1_off: pinmux-off {
127				groups = "dpaux-io";
128				function = "off";
129			};
130
131			i2c-bus {
132				#address-cells = <1>;
133				#size-cells = <0>;
134			};
135		};
136
137		vi@54080000 {
138			compatible = "nvidia,tegra210-vi";
139			reg = <0x0 0x54080000 0x0 0x00040000>;
140			interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
141			status = "disabled";
142		};
143
144		tsec@54100000 {
145			compatible = "nvidia,tegra210-tsec";
146			reg = <0x0 0x54100000 0x0 0x00040000>;
147		};
148
149		dc@54200000 {
150			compatible = "nvidia,tegra210-dc";
151			reg = <0x0 0x54200000 0x0 0x00040000>;
152			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
153			clocks = <&tegra_car TEGRA210_CLK_DISP1>,
154				 <&tegra_car TEGRA210_CLK_PLL_P>;
155			clock-names = "dc", "parent";
156			resets = <&tegra_car 27>;
157			reset-names = "dc";
158
159			iommus = <&mc TEGRA_SWGROUP_DC>;
160
161			nvidia,head = <0>;
162		};
163
164		dc@54240000 {
165			compatible = "nvidia,tegra210-dc";
166			reg = <0x0 0x54240000 0x0 0x00040000>;
167			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
168			clocks = <&tegra_car TEGRA210_CLK_DISP2>,
169				 <&tegra_car TEGRA210_CLK_PLL_P>;
170			clock-names = "dc", "parent";
171			resets = <&tegra_car 26>;
172			reset-names = "dc";
173
174			iommus = <&mc TEGRA_SWGROUP_DCB>;
175
176			nvidia,head = <1>;
177		};
178
179		dsi@54300000 {
180			compatible = "nvidia,tegra210-dsi";
181			reg = <0x0 0x54300000 0x0 0x00040000>;
182			clocks = <&tegra_car TEGRA210_CLK_DSIA>,
183				 <&tegra_car TEGRA210_CLK_DSIALP>,
184				 <&tegra_car TEGRA210_CLK_PLL_D_OUT0>;
185			clock-names = "dsi", "lp", "parent";
186			resets = <&tegra_car 48>;
187			reset-names = "dsi";
188			power-domains = <&pd_sor>;
189			nvidia,mipi-calibrate = <&mipi 0x0c0>; /* DSIA & DSIB pads */
190
191			status = "disabled";
192
193			#address-cells = <1>;
194			#size-cells = <0>;
195		};
196
197		vic@54340000 {
198			compatible = "nvidia,tegra210-vic";
199			reg = <0x0 0x54340000 0x0 0x00040000>;
200			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
201			clocks = <&tegra_car TEGRA210_CLK_VIC03>;
202			clock-names = "vic";
203			resets = <&tegra_car 178>;
204			reset-names = "vic";
205
206			iommus = <&mc TEGRA_SWGROUP_VIC>;
207			power-domains = <&pd_vic>;
208		};
209
210		nvjpg@54380000 {
211			compatible = "nvidia,tegra210-nvjpg";
212			reg = <0x0 0x54380000 0x0 0x00040000>;
213			status = "disabled";
214		};
215
216		dsi@54400000 {
217			compatible = "nvidia,tegra210-dsi";
218			reg = <0x0 0x54400000 0x0 0x00040000>;
219			clocks = <&tegra_car TEGRA210_CLK_DSIB>,
220				 <&tegra_car TEGRA210_CLK_DSIBLP>,
221				 <&tegra_car TEGRA210_CLK_PLL_D_OUT0>;
222			clock-names = "dsi", "lp", "parent";
223			resets = <&tegra_car 82>;
224			reset-names = "dsi";
225			power-domains = <&pd_sor>;
226			nvidia,mipi-calibrate = <&mipi 0x300>; /* DSIC & DSID pads */
227
228			status = "disabled";
229
230			#address-cells = <1>;
231			#size-cells = <0>;
232		};
233
234		nvdec@54480000 {
235			compatible = "nvidia,tegra210-nvdec";
236			reg = <0x0 0x54480000 0x0 0x00040000>;
237			status = "disabled";
238		};
239
240		nvenc@544c0000 {
241			compatible = "nvidia,tegra210-nvenc";
242			reg = <0x0 0x544c0000 0x0 0x00040000>;
243			status = "disabled";
244		};
245
246		tsec@54500000 {
247			compatible = "nvidia,tegra210-tsec";
248			reg = <0x0 0x54500000 0x0 0x00040000>;
249			status = "disabled";
250		};
251
252		sor@54540000 {
253			compatible = "nvidia,tegra210-sor";
254			reg = <0x0 0x54540000 0x0 0x00040000>;
255			interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
256			clocks = <&tegra_car TEGRA210_CLK_SOR0>,
257				 <&tegra_car TEGRA210_CLK_PLL_D_OUT0>,
258				 <&tegra_car TEGRA210_CLK_PLL_DP>,
259				 <&tegra_car TEGRA210_CLK_SOR_SAFE>;
260			clock-names = "sor", "parent", "dp", "safe";
261			resets = <&tegra_car 182>;
262			reset-names = "sor";
263			pinctrl-0 = <&state_dpaux_aux>;
264			pinctrl-1 = <&state_dpaux_i2c>;
265			pinctrl-2 = <&state_dpaux_off>;
266			pinctrl-names = "aux", "i2c", "off";
267			power-domains = <&pd_sor>;
268			status = "disabled";
269		};
270
271		sor@54580000 {
272			compatible = "nvidia,tegra210-sor1";
273			reg = <0x0 0x54580000 0x0 0x00040000>;
274			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
275			clocks = <&tegra_car TEGRA210_CLK_SOR1>,
276				 <&tegra_car TEGRA210_CLK_SOR1_OUT>,
277				 <&tegra_car TEGRA210_CLK_PLL_D2_OUT0>,
278				 <&tegra_car TEGRA210_CLK_PLL_DP>,
279				 <&tegra_car TEGRA210_CLK_SOR_SAFE>;
280			clock-names = "sor", "out", "parent", "dp", "safe";
281			resets = <&tegra_car 183>;
282			reset-names = "sor";
283			pinctrl-0 = <&state_dpaux1_aux>;
284			pinctrl-1 = <&state_dpaux1_i2c>;
285			pinctrl-2 = <&state_dpaux1_off>;
286			pinctrl-names = "aux", "i2c", "off";
287			power-domains = <&pd_sor>;
288			status = "disabled";
289		};
290
291		dpaux: dpaux@545c0000 {
292			compatible = "nvidia,tegra124-dpaux";
293			reg = <0x0 0x545c0000 0x0 0x00040000>;
294			interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
295			clocks = <&tegra_car TEGRA210_CLK_DPAUX>,
296				 <&tegra_car TEGRA210_CLK_PLL_DP>;
297			clock-names = "dpaux", "parent";
298			resets = <&tegra_car 181>;
299			reset-names = "dpaux";
300			power-domains = <&pd_sor>;
301			status = "disabled";
302
303			state_dpaux_aux: pinmux-aux {
304				groups = "dpaux-io";
305				function = "aux";
306			};
307
308			state_dpaux_i2c: pinmux-i2c {
309				groups = "dpaux-io";
310				function = "i2c";
311			};
312
313			state_dpaux_off: pinmux-off {
314				groups = "dpaux-io";
315				function = "off";
316			};
317
318			i2c-bus {
319				#address-cells = <1>;
320				#size-cells = <0>;
321			};
322		};
323
324		isp@54600000 {
325			compatible = "nvidia,tegra210-isp";
326			reg = <0x0 0x54600000 0x0 0x00040000>;
327			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
328			status = "disabled";
329		};
330
331		isp@54680000 {
332			compatible = "nvidia,tegra210-isp";
333			reg = <0x0 0x54680000 0x0 0x00040000>;
334			interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
335			status = "disabled";
336		};
337
338		i2c@546c0000 {
339			compatible = "nvidia,tegra210-i2c-vi";
340			reg = <0x0 0x546c0000 0x0 0x00040000>;
341			interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
342			status = "disabled";
343		};
344	};
345
346	gic: interrupt-controller@50041000 {
347		compatible = "arm,gic-400";
348		#interrupt-cells = <3>;
349		interrupt-controller;
350		reg = <0x0 0x50041000 0x0 0x1000>,
351		      <0x0 0x50042000 0x0 0x2000>,
352		      <0x0 0x50044000 0x0 0x2000>,
353		      <0x0 0x50046000 0x0 0x2000>;
354		interrupts = <GIC_PPI 9
355			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
356		interrupt-parent = <&gic>;
357	};
358
359	gpu@57000000 {
360		compatible = "nvidia,gm20b";
361		reg = <0x0 0x57000000 0x0 0x01000000>,
362		      <0x0 0x58000000 0x0 0x01000000>;
363		interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
364			     <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
365		interrupt-names = "stall", "nonstall";
366		clocks = <&tegra_car TEGRA210_CLK_GPU>,
367			 <&tegra_car TEGRA210_CLK_PLL_P_OUT5>,
368			 <&tegra_car TEGRA210_CLK_PLL_G_REF>;
369		clock-names = "gpu", "pwr", "ref";
370		resets = <&tegra_car 184>;
371		reset-names = "gpu";
372
373		iommus = <&mc TEGRA_SWGROUP_GPU>;
374
375		status = "disabled";
376	};
377
378	lic: interrupt-controller@60004000 {
379		compatible = "nvidia,tegra210-ictlr";
380		reg = <0x0 0x60004000 0x0 0x40>, /* primary controller */
381		      <0x0 0x60004100 0x0 0x40>, /* secondary controller */
382		      <0x0 0x60004200 0x0 0x40>, /* tertiary controller */
383		      <0x0 0x60004300 0x0 0x40>, /* quaternary controller */
384		      <0x0 0x60004400 0x0 0x40>, /* quinary controller */
385		      <0x0 0x60004500 0x0 0x40>; /* senary controller */
386		interrupt-controller;
387		#interrupt-cells = <3>;
388		interrupt-parent = <&gic>;
389	};
390
391	timer@60005000 {
392		compatible = "nvidia,tegra210-timer";
393		reg = <0x0 0x60005000 0x0 0x400>;
394		interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>,
395			     <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
396			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
397			     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
398			     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
399			     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
400			     <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>,
401			     <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
402			     <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
403			     <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
404			     <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>,
405			     <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>,
406			     <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>,
407			     <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>;
408		clocks = <&tegra_car TEGRA210_CLK_TIMER>;
409		clock-names = "timer";
410	};
411
412	tegra_car: clock@60006000 {
413		compatible = "nvidia,tegra210-car";
414		reg = <0x0 0x60006000 0x0 0x1000>;
415		#clock-cells = <1>;
416		#reset-cells = <1>;
417	};
418
419	flow-controller@60007000 {
420		compatible = "nvidia,tegra210-flowctrl";
421		reg = <0x0 0x60007000 0x0 0x1000>;
422	};
423
424	gpio: gpio@6000d000 {
425		compatible = "nvidia,tegra210-gpio", "nvidia,tegra30-gpio";
426		reg = <0x0 0x6000d000 0x0 0x1000>;
427		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
428			     <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
429			     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
430			     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
431			     <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
432			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
433			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
434			     <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
435		#gpio-cells = <2>;
436		gpio-controller;
437		#interrupt-cells = <2>;
438		interrupt-controller;
439	};
440
441	apbdma: dma@60020000 {
442		compatible = "nvidia,tegra210-apbdma", "nvidia,tegra148-apbdma";
443		reg = <0x0 0x60020000 0x0 0x1400>;
444		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
445			     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
446			     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
447			     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
448			     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
449			     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
450			     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
451			     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
452			     <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
453			     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
454			     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
455			     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
456			     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
457			     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
458			     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
459			     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
460			     <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
461			     <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
462			     <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
463			     <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
464			     <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
465			     <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
466			     <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
467			     <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
468			     <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
469			     <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
470			     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
471			     <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
472			     <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
473			     <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
474			     <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
475			     <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
476		clocks = <&tegra_car TEGRA210_CLK_APBDMA>;
477		clock-names = "dma";
478		resets = <&tegra_car 34>;
479		reset-names = "dma";
480		#dma-cells = <1>;
481	};
482
483	apbmisc@70000800 {
484		compatible = "nvidia,tegra210-apbmisc", "nvidia,tegra20-apbmisc";
485		reg = <0x0 0x70000800 0x0 0x64>,   /* Chip revision */
486		      <0x0 0x70000008 0x0 0x04>;   /* Strapping options */
487	};
488
489	pinmux: pinmux@700008d4 {
490		compatible = "nvidia,tegra210-pinmux";
491		reg = <0x0 0x700008d4 0x0 0x29c>, /* Pad control registers */
492		      <0x0 0x70003000 0x0 0x294>; /* Mux registers */
493		sdmmc1_3v3_drv: sdmmc1-3v3-drv {
494			sdmmc1 {
495				nvidia,pins = "drive_sdmmc1";
496				nvidia,pull-down-strength = <0x8>;
497				nvidia,pull-up-strength = <0x8>;
498			};
499		};
500		sdmmc1_1v8_drv: sdmmc1-1v8-drv {
501			sdmmc1 {
502				nvidia,pins = "drive_sdmmc1";
503				nvidia,pull-down-strength = <0x4>;
504				nvidia,pull-up-strength = <0x3>;
505			};
506		};
507		sdmmc2_1v8_drv: sdmmc2-1v8-drv {
508			sdmmc2 {
509				nvidia,pins = "drive_sdmmc2";
510				nvidia,pull-down-strength = <0x10>;
511				nvidia,pull-up-strength = <0x10>;
512			};
513		};
514		sdmmc3_3v3_drv: sdmmc3-3v3-drv {
515			sdmmc3 {
516				nvidia,pins = "drive_sdmmc3";
517				nvidia,pull-down-strength = <0x8>;
518				nvidia,pull-up-strength = <0x8>;
519			};
520		};
521		sdmmc3_1v8_drv: sdmmc3-1v8-drv {
522			sdmmc3 {
523				nvidia,pins = "drive_sdmmc3";
524				nvidia,pull-down-strength = <0x4>;
525				nvidia,pull-up-strength = <0x3>;
526			};
527		};
528		sdmmc4_1v8_drv: sdmmc4-1v8-drv {
529			sdmmc4 {
530				nvidia,pins = "drive_sdmmc4";
531				nvidia,pull-down-strength = <0x10>;
532				nvidia,pull-up-strength = <0x10>;
533			};
534		};
535	};
536
537	/*
538	 * There are two serial driver i.e. 8250 based simple serial
539	 * driver and APB DMA based serial driver for higher baudrate
540	 * and performance. To enable the 8250 based driver, the compatible
541	 * is "nvidia,tegra124-uart", "nvidia,tegra20-uart" and to enable
542	 * the APB DMA based serial driver, the compatible is
543	 * "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart".
544	 */
545	uarta: serial@70006000 {
546		compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
547		reg = <0x0 0x70006000 0x0 0x40>;
548		reg-shift = <2>;
549		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
550		clocks = <&tegra_car TEGRA210_CLK_UARTA>;
551		clock-names = "serial";
552		resets = <&tegra_car 6>;
553		reset-names = "serial";
554		dmas = <&apbdma 8>, <&apbdma 8>;
555		dma-names = "rx", "tx";
556		status = "disabled";
557	};
558
559	uartb: serial@70006040 {
560		compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
561		reg = <0x0 0x70006040 0x0 0x40>;
562		reg-shift = <2>;
563		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
564		clocks = <&tegra_car TEGRA210_CLK_UARTB>;
565		clock-names = "serial";
566		resets = <&tegra_car 7>;
567		reset-names = "serial";
568		dmas = <&apbdma 9>, <&apbdma 9>;
569		dma-names = "rx", "tx";
570		status = "disabled";
571	};
572
573	uartc: serial@70006200 {
574		compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
575		reg = <0x0 0x70006200 0x0 0x40>;
576		reg-shift = <2>;
577		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
578		clocks = <&tegra_car TEGRA210_CLK_UARTC>;
579		clock-names = "serial";
580		resets = <&tegra_car 55>;
581		reset-names = "serial";
582		dmas = <&apbdma 10>, <&apbdma 10>;
583		dma-names = "rx", "tx";
584		status = "disabled";
585	};
586
587	uartd: serial@70006300 {
588		compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
589		reg = <0x0 0x70006300 0x0 0x40>;
590		reg-shift = <2>;
591		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
592		clocks = <&tegra_car TEGRA210_CLK_UARTD>;
593		clock-names = "serial";
594		resets = <&tegra_car 65>;
595		reset-names = "serial";
596		dmas = <&apbdma 19>, <&apbdma 19>;
597		dma-names = "rx", "tx";
598		status = "disabled";
599	};
600
601	pwm: pwm@7000a000 {
602		compatible = "nvidia,tegra210-pwm", "nvidia,tegra20-pwm";
603		reg = <0x0 0x7000a000 0x0 0x100>;
604		#pwm-cells = <2>;
605		clocks = <&tegra_car TEGRA210_CLK_PWM>;
606		clock-names = "pwm";
607		resets = <&tegra_car 17>;
608		reset-names = "pwm";
609		status = "disabled";
610	};
611
612	i2c@7000c000 {
613		compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c";
614		reg = <0x0 0x7000c000 0x0 0x100>;
615		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
616		#address-cells = <1>;
617		#size-cells = <0>;
618		clocks = <&tegra_car TEGRA210_CLK_I2C1>;
619		clock-names = "div-clk";
620		resets = <&tegra_car 12>;
621		reset-names = "i2c";
622		dmas = <&apbdma 21>, <&apbdma 21>;
623		dma-names = "rx", "tx";
624		status = "disabled";
625	};
626
627	i2c@7000c400 {
628		compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c";
629		reg = <0x0 0x7000c400 0x0 0x100>;
630		interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
631		#address-cells = <1>;
632		#size-cells = <0>;
633		clocks = <&tegra_car TEGRA210_CLK_I2C2>;
634		clock-names = "div-clk";
635		resets = <&tegra_car 54>;
636		reset-names = "i2c";
637		dmas = <&apbdma 22>, <&apbdma 22>;
638		dma-names = "rx", "tx";
639		status = "disabled";
640	};
641
642	i2c@7000c500 {
643		compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c";
644		reg = <0x0 0x7000c500 0x0 0x100>;
645		interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
646		#address-cells = <1>;
647		#size-cells = <0>;
648		clocks = <&tegra_car TEGRA210_CLK_I2C3>;
649		clock-names = "div-clk";
650		resets = <&tegra_car 67>;
651		reset-names = "i2c";
652		dmas = <&apbdma 23>, <&apbdma 23>;
653		dma-names = "rx", "tx";
654		status = "disabled";
655	};
656
657	i2c@7000c700 {
658		compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c";
659		reg = <0x0 0x7000c700 0x0 0x100>;
660		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
661		#address-cells = <1>;
662		#size-cells = <0>;
663		clocks = <&tegra_car TEGRA210_CLK_I2C4>;
664		clock-names = "div-clk";
665		resets = <&tegra_car 103>;
666		reset-names = "i2c";
667		dmas = <&apbdma 26>, <&apbdma 26>;
668		dma-names = "rx", "tx";
669		pinctrl-0 = <&state_dpaux1_i2c>;
670		pinctrl-1 = <&state_dpaux1_off>;
671		pinctrl-names = "default", "idle";
672		status = "disabled";
673	};
674
675	i2c@7000d000 {
676		compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c";
677		reg = <0x0 0x7000d000 0x0 0x100>;
678		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
679		#address-cells = <1>;
680		#size-cells = <0>;
681		clocks = <&tegra_car TEGRA210_CLK_I2C5>;
682		clock-names = "div-clk";
683		resets = <&tegra_car 47>;
684		reset-names = "i2c";
685		dmas = <&apbdma 24>, <&apbdma 24>;
686		dma-names = "rx", "tx";
687		status = "disabled";
688	};
689
690	i2c@7000d100 {
691		compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c";
692		reg = <0x0 0x7000d100 0x0 0x100>;
693		interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
694		#address-cells = <1>;
695		#size-cells = <0>;
696		clocks = <&tegra_car TEGRA210_CLK_I2C6>;
697		clock-names = "div-clk";
698		resets = <&tegra_car 166>;
699		reset-names = "i2c";
700		dmas = <&apbdma 30>, <&apbdma 30>;
701		dma-names = "rx", "tx";
702		pinctrl-0 = <&state_dpaux_i2c>;
703		pinctrl-1 = <&state_dpaux_off>;
704		pinctrl-names = "default", "idle";
705		status = "disabled";
706	};
707
708	spi@7000d400 {
709		compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
710		reg = <0x0 0x7000d400 0x0 0x200>;
711		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
712		#address-cells = <1>;
713		#size-cells = <0>;
714		clocks = <&tegra_car TEGRA210_CLK_SBC1>;
715		clock-names = "spi";
716		resets = <&tegra_car 41>;
717		reset-names = "spi";
718		dmas = <&apbdma 15>, <&apbdma 15>;
719		dma-names = "rx", "tx";
720		status = "disabled";
721	};
722
723	spi@7000d600 {
724		compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
725		reg = <0x0 0x7000d600 0x0 0x200>;
726		interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
727		#address-cells = <1>;
728		#size-cells = <0>;
729		clocks = <&tegra_car TEGRA210_CLK_SBC2>;
730		clock-names = "spi";
731		resets = <&tegra_car 44>;
732		reset-names = "spi";
733		dmas = <&apbdma 16>, <&apbdma 16>;
734		dma-names = "rx", "tx";
735		status = "disabled";
736	};
737
738	spi@7000d800 {
739		compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
740		reg = <0x0 0x7000d800 0x0 0x200>;
741		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
742		#address-cells = <1>;
743		#size-cells = <0>;
744		clocks = <&tegra_car TEGRA210_CLK_SBC3>;
745		clock-names = "spi";
746		resets = <&tegra_car 46>;
747		reset-names = "spi";
748		dmas = <&apbdma 17>, <&apbdma 17>;
749		dma-names = "rx", "tx";
750		status = "disabled";
751	};
752
753	spi@7000da00 {
754		compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
755		reg = <0x0 0x7000da00 0x0 0x200>;
756		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
757		#address-cells = <1>;
758		#size-cells = <0>;
759		clocks = <&tegra_car TEGRA210_CLK_SBC4>;
760		clock-names = "spi";
761		resets = <&tegra_car 68>;
762		reset-names = "spi";
763		dmas = <&apbdma 18>, <&apbdma 18>;
764		dma-names = "rx", "tx";
765		status = "disabled";
766	};
767
768	rtc@7000e000 {
769		compatible = "nvidia,tegra210-rtc", "nvidia,tegra20-rtc";
770		reg = <0x0 0x7000e000 0x0 0x100>;
771		interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
772		clocks = <&tegra_car TEGRA210_CLK_RTC>;
773		clock-names = "rtc";
774	};
775
776	pmc: pmc@7000e400 {
777		compatible = "nvidia,tegra210-pmc";
778		reg = <0x0 0x7000e400 0x0 0x400>;
779		clocks = <&tegra_car TEGRA210_CLK_PCLK>, <&clk32k_in>;
780		clock-names = "pclk", "clk32k_in";
781
782		powergates {
783			pd_audio: aud {
784				clocks = <&tegra_car TEGRA210_CLK_APE>,
785					 <&tegra_car TEGRA210_CLK_APB2APE>;
786				resets = <&tegra_car 198>;
787				#power-domain-cells = <0>;
788			};
789
790			pd_sor: sor {
791				clocks = <&tegra_car TEGRA210_CLK_SOR0>,
792					 <&tegra_car TEGRA210_CLK_SOR1>,
793					 <&tegra_car TEGRA210_CLK_CSI>,
794					 <&tegra_car TEGRA210_CLK_DSIA>,
795					 <&tegra_car TEGRA210_CLK_DSIB>,
796					 <&tegra_car TEGRA210_CLK_DPAUX>,
797					 <&tegra_car TEGRA210_CLK_DPAUX1>,
798					 <&tegra_car TEGRA210_CLK_MIPI_CAL>;
799				resets = <&tegra_car TEGRA210_CLK_SOR0>,
800					 <&tegra_car TEGRA210_CLK_SOR1>,
801					 <&tegra_car TEGRA210_CLK_CSI>,
802					 <&tegra_car TEGRA210_CLK_DSIA>,
803					 <&tegra_car TEGRA210_CLK_DSIB>,
804					 <&tegra_car TEGRA210_CLK_DPAUX>,
805					 <&tegra_car TEGRA210_CLK_DPAUX1>,
806					 <&tegra_car TEGRA210_CLK_MIPI_CAL>;
807				#power-domain-cells = <0>;
808			};
809
810			pd_xusbss: xusba {
811				clocks = <&tegra_car TEGRA210_CLK_XUSB_SS>;
812				resets = <&tegra_car TEGRA210_CLK_XUSB_SS>;
813				#power-domain-cells = <0>;
814			};
815
816			pd_xusbdev: xusbb {
817				clocks = <&tegra_car TEGRA210_CLK_XUSB_DEV>;
818				resets = <&tegra_car 95>;
819				#power-domain-cells = <0>;
820			};
821
822			pd_xusbhost: xusbc {
823				clocks = <&tegra_car TEGRA210_CLK_XUSB_HOST>;
824				resets = <&tegra_car TEGRA210_CLK_XUSB_HOST>;
825				#power-domain-cells = <0>;
826			};
827
828			pd_vic: vic {
829				clocks = <&tegra_car TEGRA210_CLK_VIC03>;
830				clock-names = "vic";
831				resets = <&tegra_car 178>;
832				reset-names = "vic";
833				#power-domain-cells = <0>;
834			};
835		};
836
837		sdmmc1_3v3: sdmmc1-3v3 {
838			pins = "sdmmc1";
839			power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>;
840		};
841
842		sdmmc1_1v8: sdmmc1-1v8 {
843			pins = "sdmmc1";
844			power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
845		};
846
847		sdmmc3_3v3: sdmmc3-3v3 {
848			pins = "sdmmc3";
849			power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>;
850		};
851
852		sdmmc3_1v8: sdmmc3-1v8 {
853			pins = "sdmmc3";
854			power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
855		};
856
857		pex_dpd_disable: pex_en {
858			pex-dpd-disable {
859				pins = "pex-bias", "pex-clk1", "pex-clk2";
860				low-power-disable;
861			};
862		};
863
864		pex_dpd_enable: pex_dis {
865			pex-dpd-enable {
866				pins = "pex-bias", "pex-clk1", "pex-clk2";
867				low-power-enable;
868			};
869		};
870	};
871
872	fuse@7000f800 {
873		compatible = "nvidia,tegra210-efuse";
874		reg = <0x0 0x7000f800 0x0 0x400>;
875		clocks = <&tegra_car TEGRA210_CLK_FUSE>;
876		clock-names = "fuse";
877		resets = <&tegra_car 39>;
878		reset-names = "fuse";
879	};
880
881	mc: memory-controller@70019000 {
882		compatible = "nvidia,tegra210-mc";
883		reg = <0x0 0x70019000 0x0 0x1000>;
884		clocks = <&tegra_car TEGRA210_CLK_MC>;
885		clock-names = "mc";
886
887		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
888
889		#iommu-cells = <1>;
890	};
891
892	sata@70020000 {
893		compatible = "nvidia,tegra210-ahci";
894		reg = <0x0 0x70027000 0x0 0x2000>, /* AHCI */
895		      <0x0 0x70020000 0x0 0x7000>, /* SATA */
896		      <0x0 0x70001100 0x0 0x1000>; /* SATA AUX */
897		interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
898		clocks = <&tegra_car TEGRA210_CLK_SATA>,
899			 <&tegra_car TEGRA210_CLK_SATA_OOB>;
900		clock-names = "sata", "sata-oob";
901		resets = <&tegra_car 124>,
902			 <&tegra_car 123>,
903			 <&tegra_car 129>;
904		reset-names = "sata", "sata-oob", "sata-cold";
905		status = "disabled";
906	};
907
908	hda@70030000 {
909		compatible = "nvidia,tegra210-hda", "nvidia,tegra30-hda";
910		reg = <0x0 0x70030000 0x0 0x10000>;
911		interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
912		clocks = <&tegra_car TEGRA210_CLK_HDA>,
913		         <&tegra_car TEGRA210_CLK_HDA2HDMI>,
914			 <&tegra_car TEGRA210_CLK_HDA2CODEC_2X>;
915		clock-names = "hda", "hda2hdmi", "hda2codec_2x";
916		resets = <&tegra_car 125>, /* hda */
917			 <&tegra_car 128>, /* hda2hdmi */
918			 <&tegra_car 111>; /* hda2codec_2x */
919		reset-names = "hda", "hda2hdmi", "hda2codec_2x";
920		power-domains = <&pd_sor>;
921		status = "disabled";
922	};
923
924	usb@70090000 {
925		compatible = "nvidia,tegra210-xusb";
926		reg = <0x0 0x70090000 0x0 0x8000>,
927		      <0x0 0x70098000 0x0 0x1000>,
928		      <0x0 0x70099000 0x0 0x1000>;
929		reg-names = "hcd", "fpci", "ipfs";
930
931		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
932			     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
933
934		clocks = <&tegra_car TEGRA210_CLK_XUSB_HOST>,
935			 <&tegra_car TEGRA210_CLK_XUSB_HOST_SRC>,
936			 <&tegra_car TEGRA210_CLK_XUSB_FALCON_SRC>,
937			 <&tegra_car TEGRA210_CLK_XUSB_SS>,
938			 <&tegra_car TEGRA210_CLK_XUSB_SS_DIV2>,
939			 <&tegra_car TEGRA210_CLK_XUSB_SS_SRC>,
940			 <&tegra_car TEGRA210_CLK_XUSB_HS_SRC>,
941			 <&tegra_car TEGRA210_CLK_XUSB_FS_SRC>,
942			 <&tegra_car TEGRA210_CLK_PLL_U_480M>,
943			 <&tegra_car TEGRA210_CLK_CLK_M>,
944			 <&tegra_car TEGRA210_CLK_PLL_E>;
945		clock-names = "xusb_host", "xusb_host_src",
946			      "xusb_falcon_src", "xusb_ss",
947			      "xusb_ss_div2", "xusb_ss_src",
948			      "xusb_hs_src", "xusb_fs_src",
949			      "pll_u_480m", "clk_m", "pll_e";
950		resets = <&tegra_car 89>, <&tegra_car 156>,
951			 <&tegra_car 143>;
952		reset-names = "xusb_host", "xusb_ss", "xusb_src";
953		power-domains = <&pd_xusbhost>, <&pd_xusbss>;
954		power-domain-names = "xusb_host", "xusb_ss";
955
956		nvidia,xusb-padctl = <&padctl>;
957
958		status = "disabled";
959	};
960
961	padctl: padctl@7009f000 {
962		compatible = "nvidia,tegra210-xusb-padctl";
963		reg = <0x0 0x7009f000 0x0 0x1000>;
964		resets = <&tegra_car 142>;
965		reset-names = "padctl";
966
967		status = "disabled";
968
969		pads {
970			usb2 {
971				clocks = <&tegra_car TEGRA210_CLK_USB2_TRK>;
972				clock-names = "trk";
973				status = "disabled";
974
975				lanes {
976					usb2-0 {
977						status = "disabled";
978						#phy-cells = <0>;
979					};
980
981					usb2-1 {
982						status = "disabled";
983						#phy-cells = <0>;
984					};
985
986					usb2-2 {
987						status = "disabled";
988						#phy-cells = <0>;
989					};
990
991					usb2-3 {
992						status = "disabled";
993						#phy-cells = <0>;
994					};
995				};
996			};
997
998			hsic {
999				clocks = <&tegra_car TEGRA210_CLK_HSIC_TRK>;
1000				clock-names = "trk";
1001				status = "disabled";
1002
1003				lanes {
1004					hsic-0 {
1005						status = "disabled";
1006						#phy-cells = <0>;
1007					};
1008
1009					hsic-1 {
1010						status = "disabled";
1011						#phy-cells = <0>;
1012					};
1013				};
1014			};
1015
1016			pcie {
1017				clocks = <&tegra_car TEGRA210_CLK_PLL_E>;
1018				clock-names = "pll";
1019				resets = <&tegra_car 205>;
1020				reset-names = "phy";
1021				status = "disabled";
1022
1023				lanes {
1024					pcie-0 {
1025						status = "disabled";
1026						#phy-cells = <0>;
1027					};
1028
1029					pcie-1 {
1030						status = "disabled";
1031						#phy-cells = <0>;
1032					};
1033
1034					pcie-2 {
1035						status = "disabled";
1036						#phy-cells = <0>;
1037					};
1038
1039					pcie-3 {
1040						status = "disabled";
1041						#phy-cells = <0>;
1042					};
1043
1044					pcie-4 {
1045						status = "disabled";
1046						#phy-cells = <0>;
1047					};
1048
1049					pcie-5 {
1050						status = "disabled";
1051						#phy-cells = <0>;
1052					};
1053
1054					pcie-6 {
1055						status = "disabled";
1056						#phy-cells = <0>;
1057					};
1058				};
1059			};
1060
1061			sata {
1062				clocks = <&tegra_car TEGRA210_CLK_PLL_E>;
1063				clock-names = "pll";
1064				resets = <&tegra_car 204>;
1065				reset-names = "phy";
1066				status = "disabled";
1067
1068				lanes {
1069					sata-0 {
1070						status = "disabled";
1071						#phy-cells = <0>;
1072					};
1073				};
1074			};
1075		};
1076
1077		ports {
1078			usb2-0 {
1079				status = "disabled";
1080			};
1081
1082			usb2-1 {
1083				status = "disabled";
1084			};
1085
1086			usb2-2 {
1087				status = "disabled";
1088			};
1089
1090			usb2-3 {
1091				status = "disabled";
1092			};
1093
1094			hsic-0 {
1095				status = "disabled";
1096			};
1097
1098			usb3-0 {
1099				status = "disabled";
1100			};
1101
1102			usb3-1 {
1103				status = "disabled";
1104			};
1105
1106			usb3-2 {
1107				status = "disabled";
1108			};
1109
1110			usb3-3 {
1111				status = "disabled";
1112			};
1113		};
1114	};
1115
1116	sdhci@700b0000 {
1117		compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
1118		reg = <0x0 0x700b0000 0x0 0x200>;
1119		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
1120		clocks = <&tegra_car TEGRA210_CLK_SDMMC1>,
1121			 <&tegra_car TEGRA210_CLK_SDMMC_LEGACY>;
1122		clock-names = "sdhci", "tmclk";
1123		resets = <&tegra_car 14>;
1124		reset-names = "sdhci";
1125		pinctrl-names = "sdmmc-3v3", "sdmmc-1v8",
1126				"sdmmc-3v3-drv", "sdmmc-1v8-drv";
1127		pinctrl-0 = <&sdmmc1_3v3>;
1128		pinctrl-1 = <&sdmmc1_1v8>;
1129		pinctrl-2 = <&sdmmc1_3v3_drv>;
1130		pinctrl-3 = <&sdmmc1_1v8_drv>;
1131		nvidia,pad-autocal-pull-up-offset-3v3 = <0x00>;
1132		nvidia,pad-autocal-pull-down-offset-3v3 = <0x7d>;
1133		nvidia,pad-autocal-pull-up-offset-1v8 = <0x7b>;
1134		nvidia,pad-autocal-pull-down-offset-1v8 = <0x7b>;
1135		nvidia,default-tap = <0x2>;
1136		nvidia,default-trim = <0x4>;
1137		assigned-clocks = <&tegra_car TEGRA210_CLK_SDMMC4>,
1138				  <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>,
1139				  <&tegra_car TEGRA210_CLK_PLL_C4>;
1140		assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>;
1141		assigned-clock-rates = <200000000>, <1000000000>, <1000000000>;
1142		status = "disabled";
1143	};
1144
1145	sdhci@700b0200 {
1146		compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
1147		reg = <0x0 0x700b0200 0x0 0x200>;
1148		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
1149		clocks = <&tegra_car TEGRA210_CLK_SDMMC2>,
1150			 <&tegra_car TEGRA210_CLK_SDMMC_LEGACY>;
1151		clock-names = "sdhci", "tmclk";
1152		resets = <&tegra_car 9>;
1153		reset-names = "sdhci";
1154		pinctrl-names = "sdmmc-1v8-drv";
1155		pinctrl-0 = <&sdmmc2_1v8_drv>;
1156		nvidia,pad-autocal-pull-up-offset-1v8 = <0x05>;
1157		nvidia,pad-autocal-pull-down-offset-1v8 = <0x05>;
1158		nvidia,default-tap = <0x8>;
1159		nvidia,default-trim = <0x0>;
1160		status = "disabled";
1161	};
1162
1163	sdhci@700b0400 {
1164		compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
1165		reg = <0x0 0x700b0400 0x0 0x200>;
1166		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
1167		clocks = <&tegra_car TEGRA210_CLK_SDMMC3>,
1168			 <&tegra_car TEGRA210_CLK_SDMMC_LEGACY>;
1169		clock-names = "sdhci", "tmclk";
1170		resets = <&tegra_car 69>;
1171		reset-names = "sdhci";
1172		pinctrl-names = "sdmmc-3v3", "sdmmc-1v8",
1173				"sdmmc-3v3-drv", "sdmmc-1v8-drv";
1174		pinctrl-0 = <&sdmmc3_3v3>;
1175		pinctrl-1 = <&sdmmc3_1v8>;
1176		pinctrl-2 = <&sdmmc3_3v3_drv>;
1177		pinctrl-3 = <&sdmmc3_1v8_drv>;
1178		nvidia,pad-autocal-pull-up-offset-3v3 = <0x00>;
1179		nvidia,pad-autocal-pull-down-offset-3v3 = <0x7d>;
1180		nvidia,pad-autocal-pull-up-offset-1v8 = <0x7b>;
1181		nvidia,pad-autocal-pull-down-offset-1v8 = <0x7b>;
1182		nvidia,default-tap = <0x3>;
1183		nvidia,default-trim = <0x3>;
1184		status = "disabled";
1185	};
1186
1187	sdhci@700b0600 {
1188		compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
1189		reg = <0x0 0x700b0600 0x0 0x200>;
1190		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
1191		clocks = <&tegra_car TEGRA210_CLK_SDMMC4>,
1192			 <&tegra_car TEGRA210_CLK_SDMMC_LEGACY>;
1193		clock-names = "sdhci", "tmclk";
1194		resets = <&tegra_car 15>;
1195		reset-names = "sdhci";
1196		pinctrl-names = "sdmmc-3v3-drv", "sdmmc-1v8-drv";
1197		pinctrl-0 = <&sdmmc4_1v8_drv>;
1198		pinctrl-1 = <&sdmmc4_1v8_drv>;
1199		nvidia,pad-autocal-pull-up-offset-1v8 = <0x05>;
1200		nvidia,pad-autocal-pull-down-offset-1v8 = <0x05>;
1201		nvidia,default-tap = <0x8>;
1202		nvidia,default-trim = <0x0>;
1203		assigned-clocks = <&tegra_car TEGRA210_CLK_SDMMC4>,
1204				  <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>;
1205		assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>;
1206		nvidia,dqs-trim = <40>;
1207		mmc-hs400-1_8v;
1208		status = "disabled";
1209	};
1210
1211	mipi: mipi@700e3000 {
1212		compatible = "nvidia,tegra210-mipi";
1213		reg = <0x0 0x700e3000 0x0 0x100>;
1214		clocks = <&tegra_car TEGRA210_CLK_MIPI_CAL>;
1215		clock-names = "mipi-cal";
1216		power-domains = <&pd_sor>;
1217		#nvidia,mipi-calibrate-cells = <1>;
1218	};
1219
1220	dfll: clock@70110000 {
1221		compatible = "nvidia,tegra210-dfll";
1222		reg = <0 0x70110000 0 0x100>, /* DFLL control */
1223		      <0 0x70110000 0 0x100>, /* I2C output control */
1224		      <0 0x70110100 0 0x100>, /* Integrated I2C controller */
1225		      <0 0x70110200 0 0x100>; /* Look-up table RAM */
1226		interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
1227		clocks = <&tegra_car TEGRA210_CLK_DFLL_SOC>,
1228			 <&tegra_car TEGRA210_CLK_DFLL_REF>,
1229			 <&tegra_car TEGRA210_CLK_I2C5>;
1230		clock-names = "soc", "ref", "i2c";
1231		resets = <&tegra_car TEGRA210_RST_DFLL_DVCO>;
1232		reset-names = "dvco";
1233		#clock-cells = <0>;
1234		clock-output-names = "dfllCPU_out";
1235		status = "disabled";
1236	};
1237
1238	aconnect@702c0000 {
1239		compatible = "nvidia,tegra210-aconnect";
1240		clocks = <&tegra_car TEGRA210_CLK_APE>,
1241			 <&tegra_car TEGRA210_CLK_APB2APE>;
1242		clock-names = "ape", "apb2ape";
1243		power-domains = <&pd_audio>;
1244		#address-cells = <1>;
1245		#size-cells = <1>;
1246		ranges = <0x702c0000 0x0 0x702c0000 0x00040000>;
1247		status = "disabled";
1248
1249		adma: dma@702e2000 {
1250			compatible = "nvidia,tegra210-adma";
1251			reg = <0x702e2000 0x2000>;
1252			interrupt-parent = <&agic>;
1253			interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
1254				     <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
1255				     <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
1256				     <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
1257				     <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
1258				     <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
1259				     <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
1260				     <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
1261				     <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
1262				     <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
1263				     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
1264				     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
1265				     <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
1266				     <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
1267				     <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
1268				     <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
1269				     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
1270				     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
1271				     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
1272				     <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
1273				     <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
1274				     <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
1275			#dma-cells = <1>;
1276			clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>;
1277			clock-names = "d_audio";
1278			status = "disabled";
1279		};
1280
1281		agic: agic@702f9000 {
1282			compatible = "nvidia,tegra210-agic";
1283			#interrupt-cells = <3>;
1284			interrupt-controller;
1285			reg = <0x702f9000 0x1000>,
1286			      <0x702fa000 0x2000>;
1287			interrupts = <GIC_SPI 102 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
1288			clocks = <&tegra_car TEGRA210_CLK_APE>;
1289			clock-names = "clk";
1290			status = "disabled";
1291		};
1292	};
1293
1294	spi@70410000 {
1295		compatible = "nvidia,tegra210-qspi";
1296		reg = <0x0 0x70410000 0x0 0x1000>;
1297		interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
1298		#address-cells = <1>;
1299		#size-cells = <0>;
1300		clocks = <&tegra_car TEGRA210_CLK_QSPI>;
1301		clock-names = "qspi";
1302		resets = <&tegra_car 211>;
1303		reset-names = "qspi";
1304		dmas = <&apbdma 5>, <&apbdma 5>;
1305		dma-names = "rx", "tx";
1306		status = "disabled";
1307	};
1308
1309	usb@7d000000 {
1310		compatible = "nvidia,tegra210-ehci", "nvidia,tegra30-ehci", "usb-ehci";
1311		reg = <0x0 0x7d000000 0x0 0x4000>;
1312		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
1313		phy_type = "utmi";
1314		clocks = <&tegra_car TEGRA210_CLK_USBD>;
1315		clock-names = "usb";
1316		resets = <&tegra_car 22>;
1317		reset-names = "usb";
1318		nvidia,phy = <&phy1>;
1319		status = "disabled";
1320	};
1321
1322	phy1: usb-phy@7d000000 {
1323		compatible = "nvidia,tegra210-usb-phy", "nvidia,tegra30-usb-phy";
1324		reg = <0x0 0x7d000000 0x0 0x4000>,
1325		      <0x0 0x7d000000 0x0 0x4000>;
1326		phy_type = "utmi";
1327		clocks = <&tegra_car TEGRA210_CLK_USBD>,
1328			 <&tegra_car TEGRA210_CLK_PLL_U>,
1329			 <&tegra_car TEGRA210_CLK_USBD>;
1330		clock-names = "reg", "pll_u", "utmi-pads";
1331		resets = <&tegra_car 22>, <&tegra_car 22>;
1332		reset-names = "usb", "utmi-pads";
1333		nvidia,hssync-start-delay = <0>;
1334		nvidia,idle-wait-delay = <17>;
1335		nvidia,elastic-limit = <16>;
1336		nvidia,term-range-adj = <6>;
1337		nvidia,xcvr-setup = <9>;
1338		nvidia,xcvr-lsfslew = <0>;
1339		nvidia,xcvr-lsrslew = <3>;
1340		nvidia,hssquelch-level = <2>;
1341		nvidia,hsdiscon-level = <5>;
1342		nvidia,xcvr-hsslew = <12>;
1343		nvidia,has-utmi-pad-registers;
1344		status = "disabled";
1345	};
1346
1347	usb@7d004000 {
1348		compatible = "nvidia,tegra210-ehci", "nvidia,tegra30-ehci", "usb-ehci";
1349		reg = <0x0 0x7d004000 0x0 0x4000>;
1350		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
1351		phy_type = "utmi";
1352		clocks = <&tegra_car TEGRA210_CLK_USB2>;
1353		clock-names = "usb";
1354		resets = <&tegra_car 58>;
1355		reset-names = "usb";
1356		nvidia,phy = <&phy2>;
1357		status = "disabled";
1358	};
1359
1360	phy2: usb-phy@7d004000 {
1361		compatible = "nvidia,tegra210-usb-phy", "nvidia,tegra30-usb-phy";
1362		reg = <0x0 0x7d004000 0x0 0x4000>,
1363		      <0x0 0x7d000000 0x0 0x4000>;
1364		phy_type = "utmi";
1365		clocks = <&tegra_car TEGRA210_CLK_USB2>,
1366			 <&tegra_car TEGRA210_CLK_PLL_U>,
1367			 <&tegra_car TEGRA210_CLK_USBD>;
1368		clock-names = "reg", "pll_u", "utmi-pads";
1369		resets = <&tegra_car 58>, <&tegra_car 22>;
1370		reset-names = "usb", "utmi-pads";
1371		nvidia,hssync-start-delay = <0>;
1372		nvidia,idle-wait-delay = <17>;
1373		nvidia,elastic-limit = <16>;
1374		nvidia,term-range-adj = <6>;
1375		nvidia,xcvr-setup = <9>;
1376		nvidia,xcvr-lsfslew = <0>;
1377		nvidia,xcvr-lsrslew = <3>;
1378		nvidia,hssquelch-level = <2>;
1379		nvidia,hsdiscon-level = <5>;
1380		nvidia,xcvr-hsslew = <12>;
1381		status = "disabled";
1382	};
1383
1384	cpus {
1385		#address-cells = <1>;
1386		#size-cells = <0>;
1387
1388		cpu@0 {
1389			device_type = "cpu";
1390			compatible = "arm,cortex-a57";
1391			reg = <0>;
1392			clocks = <&tegra_car TEGRA210_CLK_CCLK_G>,
1393				 <&tegra_car TEGRA210_CLK_PLL_X>,
1394				 <&tegra_car TEGRA210_CLK_PLL_P_OUT4>,
1395				 <&dfll>;
1396			clock-names = "cpu_g", "pll_x", "pll_p", "dfll";
1397			clock-latency = <300000>;
1398			cpu-idle-states = <&CPU_SLEEP>;
1399			next-level-cache = <&L2>;
1400		};
1401
1402		cpu@1 {
1403			device_type = "cpu";
1404			compatible = "arm,cortex-a57";
1405			reg = <1>;
1406			cpu-idle-states = <&CPU_SLEEP>;
1407			next-level-cache = <&L2>;
1408		};
1409
1410		cpu@2 {
1411			device_type = "cpu";
1412			compatible = "arm,cortex-a57";
1413			reg = <2>;
1414			cpu-idle-states = <&CPU_SLEEP>;
1415			next-level-cache = <&L2>;
1416		};
1417
1418		cpu@3 {
1419			device_type = "cpu";
1420			compatible = "arm,cortex-a57";
1421			reg = <3>;
1422			cpu-idle-states = <&CPU_SLEEP>;
1423			next-level-cache = <&L2>;
1424		};
1425
1426		idle-states {
1427			entry-method = "psci";
1428
1429			CPU_SLEEP: cpu-sleep {
1430				compatible = "arm,idle-state";
1431				arm,psci-suspend-param = <0x40000007>;
1432				entry-latency-us = <100>;
1433				exit-latency-us = <30>;
1434				min-residency-us = <1000>;
1435				wakeup-latency-us = <130>;
1436				idle-state-name = "cpu-sleep";
1437				status = "disabled";
1438			};
1439		};
1440
1441		L2: l2-cache {
1442			compatible = "cache";
1443		};
1444	};
1445
1446	timer {
1447		compatible = "arm,armv8-timer";
1448		interrupts = <GIC_PPI 13
1449				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1450			     <GIC_PPI 14
1451				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1452			     <GIC_PPI 11
1453				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1454			     <GIC_PPI 10
1455				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
1456		interrupt-parent = <&gic>;
1457		arm,no-tick-in-suspend;
1458	};
1459
1460	soctherm: thermal-sensor@700e2000 {
1461		compatible = "nvidia,tegra210-soctherm";
1462		reg = <0x0 0x700e2000 0x0 0x600 /* SOC_THERM reg_base */
1463			0x0 0x60006000 0x0 0x400>; /* CAR reg_base */
1464		reg-names = "soctherm-reg", "car-reg";
1465		interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
1466		clocks = <&tegra_car TEGRA210_CLK_TSENSOR>,
1467			<&tegra_car TEGRA210_CLK_SOC_THERM>;
1468		clock-names = "tsensor", "soctherm";
1469		resets = <&tegra_car 78>;
1470		reset-names = "soctherm";
1471		#thermal-sensor-cells = <1>;
1472
1473		throttle-cfgs {
1474			throttle_heavy: heavy {
1475				nvidia,priority = <100>;
1476				nvidia,cpu-throt-percent = <85>;
1477
1478				#cooling-cells = <2>;
1479			};
1480		};
1481	};
1482
1483	thermal-zones {
1484		cpu {
1485			polling-delay-passive = <1000>;
1486			polling-delay = <0>;
1487
1488			thermal-sensors =
1489				<&soctherm TEGRA124_SOCTHERM_SENSOR_CPU>;
1490
1491			trips {
1492				cpu-shutdown-trip {
1493					temperature = <102500>;
1494					hysteresis = <0>;
1495					type = "critical";
1496				};
1497
1498				cpu_throttle_trip: throttle-trip {
1499					temperature = <98500>;
1500					hysteresis = <1000>;
1501					type = "hot";
1502				};
1503			};
1504
1505			cooling-maps {
1506				map0 {
1507					trip = <&cpu_throttle_trip>;
1508					cooling-device = <&throttle_heavy 1 1>;
1509				};
1510			};
1511		};
1512		mem {
1513			polling-delay-passive = <0>;
1514			polling-delay = <0>;
1515
1516			thermal-sensors =
1517				<&soctherm TEGRA124_SOCTHERM_SENSOR_MEM>;
1518
1519			trips {
1520				mem-shutdown-trip {
1521					temperature = <103000>;
1522					hysteresis = <0>;
1523					type = "critical";
1524				};
1525			};
1526
1527			cooling-maps {
1528				/*
1529				 * There are currently no cooling maps,
1530				 * because there are no cooling devices.
1531				 */
1532			};
1533		};
1534		gpu {
1535			polling-delay-passive = <1000>;
1536			polling-delay = <0>;
1537
1538			thermal-sensors =
1539				<&soctherm TEGRA124_SOCTHERM_SENSOR_GPU>;
1540
1541			trips {
1542				gpu-shutdown-trip {
1543					temperature = <103000>;
1544					hysteresis = <0>;
1545					type = "critical";
1546				};
1547
1548				gpu_throttle_trip: throttle-trip {
1549					temperature = <100000>;
1550					hysteresis = <1000>;
1551					type = "hot";
1552				};
1553			};
1554
1555			cooling-maps {
1556				map0 {
1557					trip = <&gpu_throttle_trip>;
1558					cooling-device = <&throttle_heavy 1 1>;
1559				};
1560			};
1561		};
1562		pllx {
1563			polling-delay-passive = <0>;
1564			polling-delay = <0>;
1565
1566			thermal-sensors =
1567				<&soctherm TEGRA124_SOCTHERM_SENSOR_PLLX>;
1568
1569			trips {
1570				pllx-shutdown-trip {
1571					temperature = <103000>;
1572					hysteresis = <0>;
1573					type = "critical";
1574				};
1575			};
1576
1577			cooling-maps {
1578				/*
1579				 * There are currently no cooling maps,
1580				 * because there are no cooling devices.
1581				 */
1582			};
1583		};
1584	};
1585};
1586