File Index
Files and directories
Sign in
FILE

tegra30.dtsi

File preview with syntax highlighting.

linux-6.19.14/arch/arm/boot/dts/nvidia/tegra30.dtsi DEVICETREE
   1// SPDX-License-Identifier: GPL-2.0
   2#include <dt-bindings/clock/tegra30-car.h>
   3#include <dt-bindings/gpio/tegra-gpio.h>
   4#include <dt-bindings/memory/tegra30-mc.h>
   5#include <dt-bindings/pinctrl/pinctrl-tegra.h>
   6#include <dt-bindings/interrupt-controller/arm-gic.h>
   7#include <dt-bindings/soc/tegra-pmc.h>
   8#include <dt-bindings/thermal/thermal.h>
   9
  10#include "tegra30-peripherals-opp.dtsi"
  11
  12/ {
  13	compatible = "nvidia,tegra30";
  14	interrupt-parent = <&lic>;
  15	#address-cells = <1>;
  16	#size-cells = <1>;
  17
  18	memory@80000000 {
  19		device_type = "memory";
  20		reg = <0x80000000 0x0>;
  21	};
  22
  23	pcie@3000 {
  24		compatible = "nvidia,tegra30-pcie";
  25		device_type = "pci";
  26		reg = <0x00003000 0x00000800>, /* PADS registers */
  27		      <0x00003800 0x00000200>, /* AFI registers */
  28		      <0x10000000 0x10000000>; /* configuration space */
  29		reg-names = "pads", "afi", "cs";
  30		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
  31			     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
  32		interrupt-names = "intr", "msi";
  33
  34		#interrupt-cells = <1>;
  35		interrupt-map-mask = <0 0 0 0>;
  36		interrupt-map = <0 0 0 0 &intc GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
  37
  38		bus-range = <0x00 0xff>;
  39		#address-cells = <3>;
  40		#size-cells = <2>;
  41
  42		ranges = <0x02000000 0 0x00000000 0x00000000 0 0x00001000>, /* port 0 configuration space */
  43			 <0x02000000 0 0x00001000 0x00001000 0 0x00001000>, /* port 1 configuration space */
  44			 <0x02000000 0 0x00004000 0x00004000 0 0x00001000>, /* port 2 configuration space */
  45			 <0x01000000 0 0          0x02000000 0 0x00010000>, /* downstream I/O */
  46			 <0x02000000 0 0x20000000 0x20000000 0 0x08000000>, /* non-prefetchable memory */
  47			 <0x42000000 0 0x28000000 0x28000000 0 0x18000000>; /* prefetchable memory */
  48
  49		clocks = <&tegra_car TEGRA30_CLK_PCIE>,
  50			 <&tegra_car TEGRA30_CLK_AFI>,
  51			 <&tegra_car TEGRA30_CLK_PLL_E>,
  52			 <&tegra_car TEGRA30_CLK_CML0>;
  53		clock-names = "pex", "afi", "pll_e", "cml";
  54		resets = <&tegra_car 70>,
  55			 <&tegra_car 72>,
  56			 <&tegra_car 74>;
  57		reset-names = "pex", "afi", "pcie_x";
  58		power-domains = <&pd_core>;
  59		operating-points-v2 = <&pcie_dvfs_opp_table>;
  60		status = "disabled";
  61
  62		pci@1,0 {
  63			device_type = "pci";
  64			assigned-addresses = <0x82000800 0 0x00000000 0 0x1000>;
  65			reg = <0x000800 0 0 0 0>;
  66			bus-range = <0x00 0xff>;
  67			status = "disabled";
  68
  69			#address-cells = <3>;
  70			#size-cells = <2>;
  71			ranges;
  72
  73			nvidia,num-lanes = <2>;
  74		};
  75
  76		pci@2,0 {
  77			device_type = "pci";
  78			assigned-addresses = <0x82001000 0 0x00001000 0 0x1000>;
  79			reg = <0x001000 0 0 0 0>;
  80			bus-range = <0x00 0xff>;
  81			status = "disabled";
  82
  83			#address-cells = <3>;
  84			#size-cells = <2>;
  85			ranges;
  86
  87			nvidia,num-lanes = <2>;
  88		};
  89
  90		pci@3,0 {
  91			device_type = "pci";
  92			assigned-addresses = <0x82001800 0 0x00004000 0 0x1000>;
  93			reg = <0x001800 0 0 0 0>;
  94			bus-range = <0x00 0xff>;
  95			status = "disabled";
  96
  97			#address-cells = <3>;
  98			#size-cells = <2>;
  99			ranges;
 100
 101			nvidia,num-lanes = <2>;
 102		};
 103	};
 104
 105	sram@40000000 {
 106		compatible = "mmio-sram";
 107		reg = <0x40000000 0x40000>;
 108		#address-cells = <1>;
 109		#size-cells = <1>;
 110		ranges = <0 0x40000000 0x40000>;
 111
 112		vde_pool: sram@400 {
 113			reg = <0x400 0x3fc00>;
 114			pool;
 115		};
 116	};
 117
 118	host1x@50000000 {
 119		compatible = "nvidia,tegra30-host1x";
 120		reg = <0x50000000 0x00024000>;
 121		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
 122			     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
 123		interrupt-names = "syncpt", "host1x";
 124		clocks = <&tegra_car TEGRA30_CLK_HOST1X>;
 125		clock-names = "host1x";
 126		resets = <&tegra_car 28>, <&mc TEGRA30_MC_RESET_HC>;
 127		reset-names = "host1x", "mc";
 128		iommus = <&mc TEGRA_SWGROUP_HC>;
 129		power-domains = <&pd_heg>;
 130		operating-points-v2 = <&host1x_dvfs_opp_table>;
 131
 132		#address-cells = <1>;
 133		#size-cells = <1>;
 134
 135		ranges = <0x54000000 0x54000000 0x04000000>;
 136
 137		mpe@54040000 {
 138			compatible = "nvidia,tegra30-mpe";
 139			reg = <0x54040000 0x00040000>;
 140			interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
 141			clocks = <&tegra_car TEGRA30_CLK_MPE>;
 142			resets = <&tegra_car 60>;
 143			reset-names = "mpe";
 144			power-domains = <&pd_mpe>;
 145			operating-points-v2 = <&mpe_dvfs_opp_table>;
 146
 147			iommus = <&mc TEGRA_SWGROUP_MPE>;
 148
 149			status = "disabled";
 150		};
 151
 152		vi@54080000 {
 153			compatible = "nvidia,tegra30-vi", "nvidia,tegra20-vi";
 154			reg = <0x54080000 0x00000800>;
 155			interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
 156			clocks = <&tegra_car TEGRA30_CLK_VI>;
 157			resets = <&tegra_car 20>;
 158			reset-names = "vi";
 159			power-domains = <&pd_venc>;
 160			operating-points-v2 = <&vi_dvfs_opp_table>;
 161
 162			iommus = <&mc TEGRA_SWGROUP_VI>;
 163
 164			status = "disabled";
 165
 166			#address-cells = <1>;
 167			#size-cells = <1>;
 168
 169			ranges = <0x0 0x54080000 0x4000>;
 170
 171			csi: csi@800 {
 172				compatible = "nvidia,tegra30-csi";
 173				reg = <0x800 0x200>;
 174				clocks = <&tegra_car TEGRA30_CLK_CSI>,
 175					 <&tegra_car TEGRA30_CLK_CSIA_PAD>,
 176					 <&tegra_car TEGRA30_CLK_CSIB_PAD>;
 177				clock-names = "csi", "csia-pad", "csib-pad";
 178				power-domains = <&pd_venc>;
 179				#nvidia,mipi-calibrate-cells = <1>;
 180				status = "disabled";
 181
 182				#address-cells = <1>;
 183				#size-cells = <0>;
 184			};
 185		};
 186
 187		epp@540c0000 {
 188			compatible = "nvidia,tegra30-epp";
 189			reg = <0x540c0000 0x00040000>;
 190			interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
 191			clocks = <&tegra_car TEGRA30_CLK_EPP>;
 192			resets = <&tegra_car 19>;
 193			reset-names = "epp";
 194			power-domains = <&pd_heg>;
 195			operating-points-v2 = <&epp_dvfs_opp_table>;
 196
 197			iommus = <&mc TEGRA_SWGROUP_EPP>;
 198
 199			status = "disabled";
 200		};
 201
 202		isp@54100000 {
 203			compatible = "nvidia,tegra30-isp";
 204			reg = <0x54100000 0x00040000>;
 205			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
 206			clocks = <&tegra_car TEGRA30_CLK_ISP>;
 207			resets = <&tegra_car 23>;
 208			reset-names = "isp";
 209			power-domains = <&pd_venc>;
 210
 211			iommus = <&mc TEGRA_SWGROUP_ISP>;
 212
 213			status = "disabled";
 214		};
 215
 216		gr2d@54140000 {
 217			compatible = "nvidia,tegra30-gr2d";
 218			reg = <0x54140000 0x00040000>;
 219			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
 220			clocks = <&tegra_car TEGRA30_CLK_GR2D>;
 221			resets = <&tegra_car 21>, <&mc TEGRA30_MC_RESET_2D>;
 222			reset-names = "2d", "mc";
 223			power-domains = <&pd_heg>;
 224			operating-points-v2 = <&gr2d_dvfs_opp_table>;
 225
 226			iommus = <&mc TEGRA_SWGROUP_G2>;
 227		};
 228
 229		gr3d@54180000 {
 230			compatible = "nvidia,tegra30-gr3d";
 231			reg = <0x54180000 0x00040000>;
 232			clocks = <&tegra_car TEGRA30_CLK_GR3D>,
 233				 <&tegra_car TEGRA30_CLK_GR3D2>;
 234			clock-names = "3d", "3d2";
 235			resets = <&tegra_car 24>,
 236				 <&tegra_car 98>,
 237				 <&mc TEGRA30_MC_RESET_3D>,
 238				 <&mc TEGRA30_MC_RESET_3D2>;
 239			reset-names = "3d", "3d2", "mc", "mc2";
 240			power-domains = <&pd_3d0>, <&pd_3d1>;
 241			power-domain-names = "3d0", "3d1";
 242			operating-points-v2 = <&gr3d_dvfs_opp_table>;
 243
 244			iommus = <&mc TEGRA_SWGROUP_NV>,
 245				 <&mc TEGRA_SWGROUP_NV2>;
 246		};
 247
 248		dc@54200000 {
 249			compatible = "nvidia,tegra30-dc";
 250			reg = <0x54200000 0x00040000>;
 251			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
 252			clocks = <&tegra_car TEGRA30_CLK_DISP1>,
 253				 <&tegra_car TEGRA30_CLK_PLL_P>;
 254			clock-names = "dc", "parent";
 255			resets = <&tegra_car 27>;
 256			reset-names = "dc";
 257			power-domains = <&pd_core>;
 258			operating-points-v2 = <&disp1_dvfs_opp_table>;
 259
 260			iommus = <&mc TEGRA_SWGROUP_DC>;
 261
 262			nvidia,head = <0>;
 263
 264			interconnects = <&mc TEGRA30_MC_DISPLAY0A &emc>,
 265					<&mc TEGRA30_MC_DISPLAY0B &emc>,
 266					<&mc TEGRA30_MC_DISPLAY1B &emc>,
 267					<&mc TEGRA30_MC_DISPLAY0C &emc>,
 268					<&mc TEGRA30_MC_DISPLAYHC &emc>;
 269			interconnect-names = "wina",
 270					     "winb",
 271					     "winb-vfilter",
 272					     "winc",
 273					     "cursor";
 274
 275			rgb {
 276				status = "disabled";
 277			};
 278		};
 279
 280		dc@54240000 {
 281			compatible = "nvidia,tegra30-dc";
 282			reg = <0x54240000 0x00040000>;
 283			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
 284			clocks = <&tegra_car TEGRA30_CLK_DISP2>,
 285				 <&tegra_car TEGRA30_CLK_PLL_P>;
 286			clock-names = "dc", "parent";
 287			resets = <&tegra_car 26>;
 288			reset-names = "dc";
 289			power-domains = <&pd_core>;
 290			operating-points-v2 = <&disp2_dvfs_opp_table>;
 291
 292			iommus = <&mc TEGRA_SWGROUP_DCB>;
 293
 294			nvidia,head = <1>;
 295
 296			interconnects = <&mc TEGRA30_MC_DISPLAY0AB &emc>,
 297					<&mc TEGRA30_MC_DISPLAY0BB &emc>,
 298					<&mc TEGRA30_MC_DISPLAY1BB &emc>,
 299					<&mc TEGRA30_MC_DISPLAY0CB &emc>,
 300					<&mc TEGRA30_MC_DISPLAYHCB &emc>;
 301			interconnect-names = "wina",
 302					     "winb",
 303					     "winb-vfilter",
 304					     "winc",
 305					     "cursor";
 306
 307			rgb {
 308				status = "disabled";
 309			};
 310		};
 311
 312		hdmi@54280000 {
 313			compatible = "nvidia,tegra30-hdmi";
 314			reg = <0x54280000 0x00040000>;
 315			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
 316			clocks = <&tegra_car TEGRA30_CLK_HDMI>,
 317				 <&tegra_car TEGRA30_CLK_PLL_D2_OUT0>;
 318			clock-names = "hdmi", "parent";
 319			resets = <&tegra_car 51>;
 320			reset-names = "hdmi";
 321			power-domains = <&pd_core>;
 322			operating-points-v2 = <&hdmi_dvfs_opp_table>;
 323			status = "disabled";
 324		};
 325
 326		tvo@542c0000 {
 327			compatible = "nvidia,tegra30-tvo";
 328			reg = <0x542c0000 0x00040000>;
 329			interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
 330			clocks = <&tegra_car TEGRA30_CLK_TVO>;
 331			power-domains = <&pd_core>;
 332			operating-points-v2 = <&tvo_dvfs_opp_table>;
 333			status = "disabled";
 334		};
 335
 336		dsi@54300000 {
 337			compatible = "nvidia,tegra30-dsi";
 338			reg = <0x54300000 0x00040000>;
 339			clocks = <&tegra_car TEGRA30_CLK_DSIA>,
 340				 <&tegra_car TEGRA30_CLK_PLL_D_OUT0>;
 341			clock-names = "dsi", "parent";
 342			resets = <&tegra_car 48>;
 343			reset-names = "dsi";
 344			power-domains = <&pd_core>;
 345			operating-points-v2 = <&dsia_dvfs_opp_table>;
 346			status = "disabled";
 347		};
 348
 349		dsi@54400000 {
 350			compatible = "nvidia,tegra30-dsi";
 351			reg = <0x54400000 0x00040000>;
 352			clocks = <&tegra_car TEGRA30_CLK_DSIB>,
 353				 <&tegra_car TEGRA30_CLK_PLL_D_OUT0>;
 354			clock-names = "dsi", "parent";
 355			resets = <&tegra_car 84>;
 356			reset-names = "dsi";
 357			power-domains = <&pd_core>;
 358			operating-points-v2 = <&dsib_dvfs_opp_table>;
 359			status = "disabled";
 360		};
 361	};
 362
 363	timer@50040600 {
 364		compatible = "arm,cortex-a9-twd-timer";
 365		reg = <0x50040600 0x20>;
 366		interrupt-parent = <&intc>;
 367		interrupts = <GIC_PPI 13
 368			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
 369		clocks = <&tegra_car TEGRA30_CLK_TWD>;
 370	};
 371
 372	intc: interrupt-controller@50041000 {
 373		compatible = "arm,cortex-a9-gic";
 374		reg = <0x50041000 0x1000>,
 375		      <0x50040100 0x0100>;
 376		interrupt-controller;
 377		#interrupt-cells = <3>;
 378		interrupt-parent = <&intc>;
 379	};
 380
 381	cache-controller@50043000 {
 382		compatible = "arm,pl310-cache";
 383		reg = <0x50043000 0x1000>;
 384		arm,data-latency = <6 6 2>;
 385		arm,tag-latency = <5 5 2>;
 386		cache-unified;
 387		cache-level = <2>;
 388	};
 389
 390	lic: interrupt-controller@60004000 {
 391		compatible = "nvidia,tegra30-ictlr";
 392		reg = <0x60004000 0x100>,
 393		      <0x60004100 0x50>,
 394		      <0x60004200 0x50>,
 395		      <0x60004300 0x50>,
 396		      <0x60004400 0x50>;
 397		interrupt-controller;
 398		#interrupt-cells = <3>;
 399		interrupt-parent = <&intc>;
 400	};
 401
 402	timer@60005000 {
 403		compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer";
 404		reg = <0x60005000 0x400>;
 405		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
 406			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
 407			     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
 408			     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
 409			     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
 410			     <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
 411		clocks = <&tegra_car TEGRA30_CLK_TIMER>;
 412	};
 413
 414	tegra_car: clock@60006000 {
 415		compatible = "nvidia,tegra30-car";
 416		reg = <0x60006000 0x1000>;
 417		#clock-cells = <1>;
 418		#reset-cells = <1>;
 419
 420		pll-c {
 421			compatible = "nvidia,tegra30-pllc";
 422			clocks = <&tegra_car TEGRA30_CLK_PLL_C>;
 423			power-domains = <&pd_core>;
 424			operating-points-v2 = <&pll_c_dvfs_opp_table>;
 425		};
 426
 427		pll-e {
 428			compatible = "nvidia,tegra30-plle";
 429			clocks = <&tegra_car TEGRA30_CLK_PLL_E>;
 430			power-domains = <&pd_core>;
 431			operating-points-v2 = <&pll_e_dvfs_opp_table>;
 432		};
 433
 434		pll-m {
 435			compatible = "nvidia,tegra30-pllm";
 436			clocks = <&tegra_car TEGRA30_CLK_PLL_M>;
 437			power-domains = <&pd_core>;
 438			operating-points-v2 = <&pll_m_dvfs_opp_table>;
 439		};
 440
 441		sclk {
 442			compatible = "nvidia,tegra30-sclk";
 443			clocks = <&tegra_car TEGRA30_CLK_SCLK>;
 444			power-domains = <&pd_core>;
 445			operating-points-v2 = <&sclk_dvfs_opp_table>;
 446		};
 447	};
 448
 449	flow-controller@60007000 {
 450		compatible = "nvidia,tegra30-flowctrl";
 451		reg = <0x60007000 0x1000>;
 452	};
 453
 454	apbdma: dma-controller@6000a000 {
 455		compatible = "nvidia,tegra30-apbdma", "nvidia,tegra20-apbdma";
 456		reg = <0x6000a000 0x1400>;
 457		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
 458			     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
 459			     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
 460			     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
 461			     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
 462			     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
 463			     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
 464			     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
 465			     <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
 466			     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
 467			     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
 468			     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
 469			     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
 470			     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
 471			     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
 472			     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
 473			     <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
 474			     <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
 475			     <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
 476			     <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
 477			     <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
 478			     <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
 479			     <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
 480			     <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
 481			     <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
 482			     <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
 483			     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
 484			     <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
 485			     <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
 486			     <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
 487			     <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
 488			     <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
 489		clocks = <&tegra_car TEGRA30_CLK_APBDMA>;
 490		resets = <&tegra_car 34>;
 491		reset-names = "dma";
 492		#dma-cells = <1>;
 493	};
 494
 495	ahb: ahb@6000c000 {
 496		compatible = "nvidia,tegra30-ahb";
 497		reg = <0x6000c000 0x150>; /* AHB Arbitration + Gizmo Controller */
 498	};
 499
 500	actmon: actmon@6000c800 {
 501		compatible = "nvidia,tegra30-actmon";
 502		reg = <0x6000c800 0x400>;
 503		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
 504		clocks = <&tegra_car TEGRA30_CLK_ACTMON>,
 505			 <&tegra_car TEGRA30_CLK_EMC>;
 506		clock-names = "actmon", "emc";
 507		resets = <&tegra_car TEGRA30_CLK_ACTMON>;
 508		reset-names = "actmon";
 509		operating-points-v2 = <&emc_bw_dfs_opp_table>;
 510		interconnects = <&mc TEGRA30_MC_MPCORER &emc>;
 511		interconnect-names = "cpu-read";
 512		#cooling-cells = <2>;
 513	};
 514
 515	gpio: gpio@6000d000 {
 516		compatible = "nvidia,tegra30-gpio";
 517		reg = <0x6000d000 0x1000>;
 518		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
 519			     <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
 520			     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
 521			     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
 522			     <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
 523			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
 524			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
 525			     <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
 526		#gpio-cells = <2>;
 527		gpio-controller;
 528		#interrupt-cells = <2>;
 529		interrupt-controller;
 530		gpio-ranges = <&pinmux 0 0 248>;
 531	};
 532
 533	vde@6001a000 {
 534		compatible = "nvidia,tegra30-vde", "nvidia,tegra20-vde";
 535		reg = <0x6001a000 0x1000>, /* Syntax Engine */
 536		      <0x6001b000 0x1000>, /* Video Bitstream Engine */
 537		      <0x6001c000  0x100>, /* Macroblock Engine */
 538		      <0x6001c200  0x100>, /* Post-processing Engine */
 539		      <0x6001c400  0x100>, /* Motion Compensation Engine */
 540		      <0x6001c600  0x100>, /* Transform Engine */
 541		      <0x6001c800  0x100>, /* Pixel prediction block */
 542		      <0x6001ca00  0x100>, /* Video DMA */
 543		      <0x6001d800  0x400>; /* Video frame controls */
 544		reg-names = "sxe", "bsev", "mbe", "ppe", "mce",
 545			    "tfe", "ppb", "vdma", "frameid";
 546		iram = <&vde_pool>; /* IRAM region */
 547		interrupts = <GIC_SPI  9 IRQ_TYPE_LEVEL_HIGH>, /* Sync token interrupt */
 548			     <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, /* BSE-V interrupt */
 549			     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; /* SXE interrupt */
 550		interrupt-names = "sync-token", "bsev", "sxe";
 551		clocks = <&tegra_car TEGRA30_CLK_VDE>;
 552		reset-names = "vde", "mc";
 553		resets = <&tegra_car 61>, <&mc TEGRA30_MC_RESET_VDE>;
 554		iommus = <&mc TEGRA_SWGROUP_VDE>;
 555		power-domains = <&pd_vde>;
 556		operating-points-v2 = <&vde_dvfs_opp_table>;
 557	};
 558
 559	apbmisc@70000800 {
 560		compatible = "nvidia,tegra30-apbmisc", "nvidia,tegra20-apbmisc";
 561		reg = <0x70000800 0x64>, /* Chip revision */
 562		      <0x70000008 0x04>; /* Strapping options */
 563	};
 564
 565	pinmux: pinmux@70000868 {
 566		compatible = "nvidia,tegra30-pinmux";
 567		reg = <0x70000868 0x0d4>, /* Pad control registers */
 568		      <0x70003000 0x3e4>; /* Mux registers */
 569	};
 570
 571	/*
 572	 * There are two serial driver i.e. 8250 based simple serial
 573	 * driver and APB DMA based serial driver for higher baudrate
 574	 * and performace. To enable the 8250 based driver, the compatible
 575	 * is "nvidia,tegra30-uart", "nvidia,tegra20-uart" and to enable
 576	 * the APB DMA based serial driver, the compatible is
 577	 * "nvidia,tegra30-hsuart", "nvidia,tegra20-hsuart".
 578	 */
 579	uarta: serial@70006000 {
 580		compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
 581		reg = <0x70006000 0x40>;
 582		reg-shift = <2>;
 583		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
 584		clocks = <&tegra_car TEGRA30_CLK_UARTA>;
 585		resets = <&tegra_car 6>;
 586		dmas = <&apbdma 8>, <&apbdma 8>;
 587		dma-names = "rx", "tx";
 588		status = "disabled";
 589	};
 590
 591	uartb: serial@70006040 {
 592		compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
 593		reg = <0x70006040 0x40>;
 594		reg-shift = <2>;
 595		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
 596		clocks = <&tegra_car TEGRA30_CLK_UARTB>;
 597		resets = <&tegra_car 7>;
 598		dmas = <&apbdma 9>, <&apbdma 9>;
 599		dma-names = "rx", "tx";
 600		status = "disabled";
 601	};
 602
 603	uartc: serial@70006200 {
 604		compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
 605		reg = <0x70006200 0x100>;
 606		reg-shift = <2>;
 607		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
 608		clocks = <&tegra_car TEGRA30_CLK_UARTC>;
 609		resets = <&tegra_car 55>;
 610		dmas = <&apbdma 10>, <&apbdma 10>;
 611		dma-names = "rx", "tx";
 612		status = "disabled";
 613	};
 614
 615	uartd: serial@70006300 {
 616		compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
 617		reg = <0x70006300 0x100>;
 618		reg-shift = <2>;
 619		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
 620		clocks = <&tegra_car TEGRA30_CLK_UARTD>;
 621		resets = <&tegra_car 65>;
 622		dmas = <&apbdma 19>, <&apbdma 19>;
 623		dma-names = "rx", "tx";
 624		status = "disabled";
 625	};
 626
 627	uarte: serial@70006400 {
 628		compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
 629		reg = <0x70006400 0x100>;
 630		reg-shift = <2>;
 631		interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
 632		clocks = <&tegra_car TEGRA30_CLK_UARTE>;
 633		resets = <&tegra_car 66>;
 634		dmas = <&apbdma 20>, <&apbdma 20>;
 635		dma-names = "rx", "tx";
 636		status = "disabled";
 637	};
 638
 639	gmi@70009000 {
 640		compatible = "nvidia,tegra30-gmi";
 641		reg = <0x70009000 0x1000>;
 642		#address-cells = <2>;
 643		#size-cells = <1>;
 644		ranges = <0 0 0x48000000 0x7ffffff>;
 645		clocks = <&tegra_car TEGRA30_CLK_NOR>;
 646		clock-names = "gmi";
 647		resets = <&tegra_car 42>;
 648		reset-names = "gmi";
 649		power-domains = <&pd_core>;
 650		operating-points-v2 = <&nor_dvfs_opp_table>;
 651		status = "disabled";
 652	};
 653
 654	pwm: pwm@7000a000 {
 655		compatible = "nvidia,tegra30-pwm", "nvidia,tegra20-pwm";
 656		reg = <0x7000a000 0x100>;
 657		#pwm-cells = <2>;
 658		clocks = <&tegra_car TEGRA30_CLK_PWM>;
 659		resets = <&tegra_car 17>;
 660		reset-names = "pwm";
 661		power-domains = <&pd_core>;
 662		operating-points-v2 = <&pwm_dvfs_opp_table>;
 663		status = "disabled";
 664	};
 665
 666	i2c@7000c000 {
 667		compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
 668		reg = <0x7000c000 0x100>;
 669		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
 670		#address-cells = <1>;
 671		#size-cells = <0>;
 672		clocks = <&tegra_car TEGRA30_CLK_I2C1>,
 673			 <&tegra_car TEGRA30_CLK_PLL_P_OUT3>;
 674		clock-names = "div-clk", "fast-clk";
 675		resets = <&tegra_car 12>;
 676		reset-names = "i2c";
 677		dmas = <&apbdma 21>, <&apbdma 21>;
 678		dma-names = "rx", "tx";
 679		status = "disabled";
 680	};
 681
 682	i2c@7000c400 {
 683		compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
 684		reg = <0x7000c400 0x100>;
 685		interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
 686		#address-cells = <1>;
 687		#size-cells = <0>;
 688		clocks = <&tegra_car TEGRA30_CLK_I2C2>,
 689			 <&tegra_car TEGRA30_CLK_PLL_P_OUT3>;
 690		clock-names = "div-clk", "fast-clk";
 691		resets = <&tegra_car 54>;
 692		reset-names = "i2c";
 693		dmas = <&apbdma 22>, <&apbdma 22>;
 694		dma-names = "rx", "tx";
 695		status = "disabled";
 696	};
 697
 698	i2c@7000c500 {
 699		compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
 700		reg = <0x7000c500 0x100>;
 701		interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
 702		#address-cells = <1>;
 703		#size-cells = <0>;
 704		clocks = <&tegra_car TEGRA30_CLK_I2C3>,
 705			 <&tegra_car TEGRA30_CLK_PLL_P_OUT3>;
 706		clock-names = "div-clk", "fast-clk";
 707		resets = <&tegra_car 67>;
 708		reset-names = "i2c";
 709		dmas = <&apbdma 23>, <&apbdma 23>;
 710		dma-names = "rx", "tx";
 711		status = "disabled";
 712	};
 713
 714	i2c@7000c700 {
 715		compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
 716		reg = <0x7000c700 0x100>;
 717		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
 718		#address-cells = <1>;
 719		#size-cells = <0>;
 720		clocks = <&tegra_car TEGRA30_CLK_I2C4>,
 721			 <&tegra_car TEGRA30_CLK_PLL_P_OUT3>;
 722		resets = <&tegra_car 103>;
 723		reset-names = "i2c";
 724		clock-names = "div-clk", "fast-clk";
 725		dmas = <&apbdma 26>, <&apbdma 26>;
 726		dma-names = "rx", "tx";
 727		status = "disabled";
 728	};
 729
 730	i2c@7000d000 {
 731		compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
 732		reg = <0x7000d000 0x100>;
 733		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
 734		#address-cells = <1>;
 735		#size-cells = <0>;
 736		clocks = <&tegra_car TEGRA30_CLK_I2C5>,
 737			 <&tegra_car TEGRA30_CLK_PLL_P_OUT3>;
 738		clock-names = "div-clk", "fast-clk";
 739		resets = <&tegra_car 47>;
 740		reset-names = "i2c";
 741		dmas = <&apbdma 24>, <&apbdma 24>;
 742		dma-names = "rx", "tx";
 743		status = "disabled";
 744	};
 745
 746	spi@7000d400 {
 747		compatible = "nvidia,tegra30-slink";
 748		reg = <0x7000d400 0x200>;
 749		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
 750		#address-cells = <1>;
 751		#size-cells = <0>;
 752		clocks = <&tegra_car TEGRA30_CLK_SBC1>;
 753		resets = <&tegra_car 41>;
 754		reset-names = "spi";
 755		dmas = <&apbdma 15>, <&apbdma 15>;
 756		dma-names = "rx", "tx";
 757		power-domains = <&pd_core>;
 758		operating-points-v2 = <&sbc1_dvfs_opp_table>;
 759		status = "disabled";
 760	};
 761
 762	spi@7000d600 {
 763		compatible = "nvidia,tegra30-slink";
 764		reg = <0x7000d600 0x200>;
 765		interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
 766		#address-cells = <1>;
 767		#size-cells = <0>;
 768		clocks = <&tegra_car TEGRA30_CLK_SBC2>;
 769		resets = <&tegra_car 44>;
 770		reset-names = "spi";
 771		dmas = <&apbdma 16>, <&apbdma 16>;
 772		dma-names = "rx", "tx";
 773		power-domains = <&pd_core>;
 774		operating-points-v2 = <&sbc2_dvfs_opp_table>;
 775		status = "disabled";
 776	};
 777
 778	spi@7000d800 {
 779		compatible = "nvidia,tegra30-slink";
 780		reg = <0x7000d800 0x200>;
 781		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
 782		#address-cells = <1>;
 783		#size-cells = <0>;
 784		clocks = <&tegra_car TEGRA30_CLK_SBC3>;
 785		resets = <&tegra_car 46>;
 786		reset-names = "spi";
 787		dmas = <&apbdma 17>, <&apbdma 17>;
 788		dma-names = "rx", "tx";
 789		power-domains = <&pd_core>;
 790		operating-points-v2 = <&sbc3_dvfs_opp_table>;
 791		status = "disabled";
 792	};
 793
 794	spi@7000da00 {
 795		compatible = "nvidia,tegra30-slink";
 796		reg = <0x7000da00 0x200>;
 797		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
 798		#address-cells = <1>;
 799		#size-cells = <0>;
 800		clocks = <&tegra_car TEGRA30_CLK_SBC4>;
 801		resets = <&tegra_car 68>;
 802		reset-names = "spi";
 803		dmas = <&apbdma 18>, <&apbdma 18>;
 804		dma-names = "rx", "tx";
 805		power-domains = <&pd_core>;
 806		operating-points-v2 = <&sbc4_dvfs_opp_table>;
 807		status = "disabled";
 808	};
 809
 810	spi@7000dc00 {
 811		compatible = "nvidia,tegra30-slink";
 812		reg = <0x7000dc00 0x200>;
 813		interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
 814		#address-cells = <1>;
 815		#size-cells = <0>;
 816		clocks = <&tegra_car TEGRA30_CLK_SBC5>;
 817		resets = <&tegra_car 104>;
 818		reset-names = "spi";
 819		dmas = <&apbdma 27>, <&apbdma 27>;
 820		dma-names = "rx", "tx";
 821		power-domains = <&pd_core>;
 822		operating-points-v2 = <&sbc5_dvfs_opp_table>;
 823		status = "disabled";
 824	};
 825
 826	spi@7000de00 {
 827		compatible = "nvidia,tegra30-slink";
 828		reg = <0x7000de00 0x200>;
 829		interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
 830		#address-cells = <1>;
 831		#size-cells = <0>;
 832		clocks = <&tegra_car TEGRA30_CLK_SBC6>;
 833		resets = <&tegra_car 106>;
 834		reset-names = "spi";
 835		dmas = <&apbdma 28>, <&apbdma 28>;
 836		dma-names = "rx", "tx";
 837		power-domains = <&pd_core>;
 838		operating-points-v2 = <&sbc6_dvfs_opp_table>;
 839		status = "disabled";
 840	};
 841
 842	rtc@7000e000 {
 843		compatible = "nvidia,tegra30-rtc", "nvidia,tegra20-rtc";
 844		reg = <0x7000e000 0x100>;
 845		interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
 846		clocks = <&tegra_car TEGRA30_CLK_RTC>;
 847	};
 848
 849	kbc@7000e200 {
 850		compatible = "nvidia,tegra30-kbc", "nvidia,tegra20-kbc";
 851		reg = <0x7000e200 0x100>;
 852		interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
 853		clocks = <&tegra_car TEGRA30_CLK_KBC>;
 854		resets = <&tegra_car 36>;
 855		reset-names = "kbc";
 856		status = "disabled";
 857	};
 858
 859	tegra_pmc: pmc@7000e400 {
 860		compatible = "nvidia,tegra30-pmc";
 861		reg = <0x7000e400 0x400>;
 862		clocks = <&tegra_car TEGRA30_CLK_PCLK>, <&clk32k_in>;
 863		clock-names = "pclk", "clk32k_in";
 864		#clock-cells = <1>;
 865
 866		pd_core: core-domain {
 867			#power-domain-cells = <0>;
 868			operating-points-v2 = <&core_opp_table>;
 869		};
 870
 871		powergates {
 872			pd_heg: heg {
 873				clocks = <&tegra_car TEGRA30_CLK_GR2D>,
 874					 <&tegra_car TEGRA30_CLK_EPP>,
 875					 <&tegra_car TEGRA30_CLK_HOST1X>;
 876				resets = <&mc TEGRA30_MC_RESET_2D>,
 877					 <&mc TEGRA30_MC_RESET_EPP>,
 878					 <&mc TEGRA30_MC_RESET_HC>,
 879					 <&tegra_car TEGRA30_CLK_GR2D>,
 880					 <&tegra_car TEGRA30_CLK_EPP>,
 881					 <&tegra_car TEGRA30_CLK_HOST1X>;
 882				power-domains = <&pd_core>;
 883				#power-domain-cells = <0>;
 884			};
 885
 886			pd_mpe: mpe {
 887				clocks = <&tegra_car TEGRA30_CLK_MPE>;
 888				resets = <&mc TEGRA30_MC_RESET_MPE>,
 889					 <&tegra_car TEGRA30_CLK_MPE>;
 890				power-domains = <&pd_core>;
 891				#power-domain-cells = <0>;
 892			};
 893
 894			pd_3d0: td {
 895				clocks = <&tegra_car TEGRA30_CLK_GR3D>;
 896				resets = <&mc TEGRA30_MC_RESET_3D>,
 897					 <&tegra_car TEGRA30_CLK_GR3D>;
 898				power-domains = <&pd_core>;
 899				#power-domain-cells = <0>;
 900			};
 901
 902			pd_3d1: td2 {
 903				clocks = <&tegra_car TEGRA30_CLK_GR3D2>;
 904				resets = <&mc TEGRA30_MC_RESET_3D2>,
 905					 <&tegra_car TEGRA30_CLK_GR3D2>;
 906				power-domains = <&pd_core>;
 907				#power-domain-cells = <0>;
 908			};
 909
 910			pd_vde: vdec {
 911				clocks = <&tegra_car TEGRA30_CLK_VDE>;
 912				resets = <&mc TEGRA30_MC_RESET_VDE>,
 913					 <&tegra_car TEGRA30_CLK_VDE>;
 914				power-domains = <&pd_core>;
 915				#power-domain-cells = <0>;
 916			};
 917
 918			pd_venc: venc {
 919				clocks = <&tegra_car TEGRA30_CLK_ISP>,
 920					 <&tegra_car TEGRA30_CLK_VI>,
 921					 <&tegra_car TEGRA30_CLK_CSI>;
 922				resets = <&mc TEGRA30_MC_RESET_ISP>,
 923					 <&mc TEGRA30_MC_RESET_VI>,
 924					 <&tegra_car TEGRA30_CLK_ISP>,
 925					 <&tegra_car 20 /* VI */>,
 926					 <&tegra_car TEGRA30_CLK_CSI>;
 927				power-domains = <&pd_core>;
 928				#power-domain-cells = <0>;
 929			};
 930		};
 931	};
 932
 933	mc: memory-controller@7000f000 {
 934		compatible = "nvidia,tegra30-mc";
 935		reg = <0x7000f000 0x400>;
 936		clocks = <&tegra_car TEGRA30_CLK_MC>;
 937		clock-names = "mc";
 938
 939		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
 940
 941		#iommu-cells = <1>;
 942		#reset-cells = <1>;
 943		#interconnect-cells = <1>;
 944	};
 945
 946	emc: memory-controller@7000f400 {
 947		compatible = "nvidia,tegra30-emc";
 948		reg = <0x7000f400 0x400>;
 949		interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
 950		clocks = <&tegra_car TEGRA30_CLK_EMC>;
 951		power-domains = <&pd_core>;
 952
 953		nvidia,memory-controller = <&mc>;
 954		operating-points-v2 = <&emc_icc_dvfs_opp_table>;
 955
 956		#interconnect-cells = <0>;
 957	};
 958
 959	fuse@7000f800 {
 960		compatible = "nvidia,tegra30-efuse";
 961		reg = <0x7000f800 0x400>;
 962		clocks = <&tegra_car TEGRA30_CLK_FUSE>;
 963		clock-names = "fuse";
 964		resets = <&tegra_car 39>;
 965		reset-names = "fuse";
 966		power-domains = <&pd_core>;
 967		operating-points-v2 = <&fuse_burn_dvfs_opp_table>;
 968	};
 969
 970	tsensor: tsensor@70014000 {
 971		compatible = "nvidia,tegra30-tsensor";
 972		reg = <0x70014000 0x500>;
 973		interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
 974		clocks = <&tegra_car TEGRA30_CLK_TSENSOR>;
 975		resets = <&tegra_car TEGRA30_CLK_TSENSOR>;
 976
 977		assigned-clocks = <&tegra_car TEGRA30_CLK_TSENSOR>;
 978		assigned-clock-parents = <&tegra_car TEGRA30_CLK_CLK_M>;
 979		assigned-clock-rates = <500000>;
 980
 981		#thermal-sensor-cells = <1>;
 982	};
 983
 984	hda@70030000 {
 985		compatible = "nvidia,tegra30-hda";
 986		reg = <0x70030000 0x10000>;
 987		interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
 988		clocks = <&tegra_car TEGRA30_CLK_HDA>,
 989			 <&tegra_car TEGRA30_CLK_HDA2HDMI>,
 990			 <&tegra_car TEGRA30_CLK_HDA2CODEC_2X>;
 991		clock-names = "hda", "hda2hdmi", "hda2codec_2x";
 992		resets = <&tegra_car 125>, /* hda */
 993			 <&tegra_car 128>, /* hda2hdmi */
 994			 <&tegra_car 111>; /* hda2codec_2x */
 995		reset-names = "hda", "hda2hdmi", "hda2codec_2x";
 996		status = "disabled";
 997	};
 998
 999	ahub@70080000 {
1000		compatible = "nvidia,tegra30-ahub";
1001		reg = <0x70080000 0x200>,
1002		      <0x70080200 0x100>;
1003		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
1004		clocks = <&tegra_car TEGRA30_CLK_D_AUDIO>,
1005			 <&tegra_car TEGRA30_CLK_APBIF>;
1006		clock-names = "d_audio", "apbif";
1007		resets = <&tegra_car 106>, /* d_audio */
1008			 <&tegra_car 107>, /* apbif */
1009			 <&tegra_car 30>,  /* i2s0 */
1010			 <&tegra_car 11>,  /* i2s1 */
1011			 <&tegra_car 18>,  /* i2s2 */
1012			 <&tegra_car 101>, /* i2s3 */
1013			 <&tegra_car 102>, /* i2s4 */
1014			 <&tegra_car 108>, /* dam0 */
1015			 <&tegra_car 109>, /* dam1 */
1016			 <&tegra_car 110>, /* dam2 */
1017			 <&tegra_car 10>;  /* spdif */
1018		reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",
1019			      "i2s3", "i2s4", "dam0", "dam1", "dam2",
1020			      "spdif";
1021		dmas = <&apbdma 1>, <&apbdma 1>,
1022		       <&apbdma 2>, <&apbdma 2>,
1023		       <&apbdma 3>, <&apbdma 3>,
1024		       <&apbdma 4>, <&apbdma 4>;
1025		dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2",
1026			    "rx3", "tx3";
1027		ranges;
1028		#address-cells = <1>;
1029		#size-cells = <1>;
1030
1031		tegra_i2s0: i2s@70080300 {
1032			compatible = "nvidia,tegra30-i2s";
1033			reg = <0x70080300 0x100>;
1034			nvidia,ahub-cif-ids = <4 4>;
1035			clocks = <&tegra_car TEGRA30_CLK_I2S0>;
1036			resets = <&tegra_car 30>;
1037			reset-names = "i2s";
1038			status = "disabled";
1039		};
1040
1041		tegra_i2s1: i2s@70080400 {
1042			compatible = "nvidia,tegra30-i2s";
1043			reg = <0x70080400 0x100>;
1044			nvidia,ahub-cif-ids = <5 5>;
1045			clocks = <&tegra_car TEGRA30_CLK_I2S1>;
1046			resets = <&tegra_car 11>;
1047			reset-names = "i2s";
1048			status = "disabled";
1049		};
1050
1051		tegra_i2s2: i2s@70080500 {
1052			compatible = "nvidia,tegra30-i2s";
1053			reg = <0x70080500 0x100>;
1054			nvidia,ahub-cif-ids = <6 6>;
1055			clocks = <&tegra_car TEGRA30_CLK_I2S2>;
1056			resets = <&tegra_car 18>;
1057			reset-names = "i2s";
1058			status = "disabled";
1059		};
1060
1061		tegra_i2s3: i2s@70080600 {
1062			compatible = "nvidia,tegra30-i2s";
1063			reg = <0x70080600 0x100>;
1064			nvidia,ahub-cif-ids = <7 7>;
1065			clocks = <&tegra_car TEGRA30_CLK_I2S3>;
1066			resets = <&tegra_car 101>;
1067			reset-names = "i2s";
1068			status = "disabled";
1069		};
1070
1071		tegra_i2s4: i2s@70080700 {
1072			compatible = "nvidia,tegra30-i2s";
1073			reg = <0x70080700 0x100>;
1074			nvidia,ahub-cif-ids = <8 8>;
1075			clocks = <&tegra_car TEGRA30_CLK_I2S4>;
1076			resets = <&tegra_car 102>;
1077			reset-names = "i2s";
1078			status = "disabled";
1079		};
1080	};
1081
1082	mmc@78000000 {
1083		compatible = "nvidia,tegra30-sdhci";
1084		reg = <0x78000000 0x200>;
1085		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
1086		clocks = <&tegra_car TEGRA30_CLK_SDMMC1>;
1087		clock-names = "sdhci";
1088		resets = <&tegra_car 14>;
1089		reset-names = "sdhci";
1090		power-domains = <&pd_core>;
1091		operating-points-v2 = <&sdmmc1_dvfs_opp_table>;
1092		status = "disabled";
1093	};
1094
1095	mmc@78000200 {
1096		compatible = "nvidia,tegra30-sdhci";
1097		reg = <0x78000200 0x200>;
1098		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
1099		clocks = <&tegra_car TEGRA30_CLK_SDMMC2>;
1100		clock-names = "sdhci";
1101		resets = <&tegra_car 9>;
1102		reset-names = "sdhci";
1103		status = "disabled";
1104	};
1105
1106	mmc@78000400 {
1107		compatible = "nvidia,tegra30-sdhci";
1108		reg = <0x78000400 0x200>;
1109		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
1110		clocks = <&tegra_car TEGRA30_CLK_SDMMC3>;
1111		clock-names = "sdhci";
1112		resets = <&tegra_car 69>;
1113		reset-names = "sdhci";
1114		power-domains = <&pd_core>;
1115		operating-points-v2 = <&sdmmc3_dvfs_opp_table>;
1116		status = "disabled";
1117	};
1118
1119	mmc@78000600 {
1120		compatible = "nvidia,tegra30-sdhci";
1121		reg = <0x78000600 0x200>;
1122		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
1123		clocks = <&tegra_car TEGRA30_CLK_SDMMC4>;
1124		clock-names = "sdhci";
1125		resets = <&tegra_car 15>;
1126		reset-names = "sdhci";
1127		status = "disabled";
1128	};
1129
1130	usb@7d000000 {
1131		compatible = "nvidia,tegra30-ehci";
1132		reg = <0x7d000000 0x4000>;
1133		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
1134		phy_type = "utmi";
1135		clocks = <&tegra_car TEGRA30_CLK_USBD>;
1136		resets = <&tegra_car 22>;
1137		reset-names = "usb";
1138		nvidia,needs-double-reset;
1139		nvidia,phy = <&phy1>;
1140		power-domains = <&pd_core>;
1141		operating-points-v2 = <&usbd_dvfs_opp_table>;
1142		status = "disabled";
1143	};
1144
1145	phy1: usb-phy@7d000000 {
1146		compatible = "nvidia,tegra30-usb-phy";
1147		reg = <0x7d000000 0x4000>,
1148		      <0x7d000000 0x4000>;
1149		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
1150		phy_type = "utmi";
1151		clocks = <&tegra_car TEGRA30_CLK_USBD>,
1152			 <&tegra_car TEGRA30_CLK_PLL_U>,
1153			 <&tegra_car TEGRA30_CLK_USBD>;
1154		clock-names = "reg", "pll_u", "utmi-pads";
1155		resets = <&tegra_car 22>, <&tegra_car 22>;
1156		reset-names = "usb", "utmi-pads";
1157		#phy-cells = <0>;
1158		nvidia,hssync-start-delay = <9>;
1159		nvidia,idle-wait-delay = <17>;
1160		nvidia,elastic-limit = <16>;
1161		nvidia,term-range-adj = <6>;
1162		nvidia,xcvr-setup = <51>;
1163		nvidia,xcvr-setup-use-fuses;
1164		nvidia,xcvr-lsfslew = <1>;
1165		nvidia,xcvr-lsrslew = <1>;
1166		nvidia,xcvr-hsslew = <32>;
1167		nvidia,hssquelch-level = <2>;
1168		nvidia,hsdiscon-level = <5>;
1169		nvidia,has-utmi-pad-registers;
1170		nvidia,pmc = <&tegra_pmc 0>;
1171		status = "disabled";
1172	};
1173
1174	usb@7d004000 {
1175		compatible = "nvidia,tegra30-ehci";
1176		reg = <0x7d004000 0x4000>;
1177		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
1178		phy_type = "utmi";
1179		clocks = <&tegra_car TEGRA30_CLK_USB2>;
1180		resets = <&tegra_car 58>;
1181		reset-names = "usb";
1182		nvidia,phy = <&phy2>;
1183		power-domains = <&pd_core>;
1184		operating-points-v2 = <&usb2_dvfs_opp_table>;
1185		status = "disabled";
1186	};
1187
1188	phy2: usb-phy@7d004000 {
1189		compatible = "nvidia,tegra30-usb-phy";
1190		reg = <0x7d004000 0x4000>,
1191		      <0x7d000000 0x4000>;
1192		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
1193		phy_type = "utmi";
1194		clocks = <&tegra_car TEGRA30_CLK_USB2>,
1195			 <&tegra_car TEGRA30_CLK_PLL_U>,
1196			 <&tegra_car TEGRA30_CLK_USBD>;
1197		clock-names = "reg", "pll_u", "utmi-pads";
1198		resets = <&tegra_car 58>, <&tegra_car 22>;
1199		reset-names = "usb", "utmi-pads";
1200		#phy-cells = <0>;
1201		nvidia,hssync-start-delay = <9>;
1202		nvidia,idle-wait-delay = <17>;
1203		nvidia,elastic-limit = <16>;
1204		nvidia,term-range-adj = <6>;
1205		nvidia,xcvr-setup = <51>;
1206		nvidia,xcvr-setup-use-fuses;
1207		nvidia,xcvr-lsfslew = <2>;
1208		nvidia,xcvr-lsrslew = <2>;
1209		nvidia,xcvr-hsslew = <32>;
1210		nvidia,hssquelch-level = <2>;
1211		nvidia,hsdiscon-level = <5>;
1212		nvidia,pmc = <&tegra_pmc 2>;
1213		status = "disabled";
1214	};
1215
1216	usb@7d008000 {
1217		compatible = "nvidia,tegra30-ehci";
1218		reg = <0x7d008000 0x4000>;
1219		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
1220		phy_type = "utmi";
1221		clocks = <&tegra_car TEGRA30_CLK_USB3>;
1222		resets = <&tegra_car 59>;
1223		reset-names = "usb";
1224		nvidia,phy = <&phy3>;
1225		power-domains = <&pd_core>;
1226		operating-points-v2 = <&usb3_dvfs_opp_table>;
1227		status = "disabled";
1228	};
1229
1230	phy3: usb-phy@7d008000 {
1231		compatible = "nvidia,tegra30-usb-phy";
1232		reg = <0x7d008000 0x4000>,
1233		      <0x7d000000 0x4000>;
1234		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
1235		phy_type = "utmi";
1236		clocks = <&tegra_car TEGRA30_CLK_USB3>,
1237			 <&tegra_car TEGRA30_CLK_PLL_U>,
1238			 <&tegra_car TEGRA30_CLK_USBD>;
1239		clock-names = "reg", "pll_u", "utmi-pads";
1240		resets = <&tegra_car 59>, <&tegra_car 22>;
1241		reset-names = "usb", "utmi-pads";
1242		#phy-cells = <0>;
1243		nvidia,hssync-start-delay = <0>;
1244		nvidia,idle-wait-delay = <17>;
1245		nvidia,elastic-limit = <16>;
1246		nvidia,term-range-adj = <6>;
1247		nvidia,xcvr-setup = <51>;
1248		nvidia,xcvr-setup-use-fuses;
1249		nvidia,xcvr-lsfslew = <2>;
1250		nvidia,xcvr-lsrslew = <2>;
1251		nvidia,xcvr-hsslew = <32>;
1252		nvidia,hssquelch-level = <2>;
1253		nvidia,hsdiscon-level = <5>;
1254		nvidia,pmc = <&tegra_pmc 1>;
1255		status = "disabled";
1256	};
1257
1258	cpus {
1259		#address-cells = <1>;
1260		#size-cells = <0>;
1261
1262		cpu0: cpu@0 {
1263			device_type = "cpu";
1264			compatible = "arm,cortex-a9";
1265			reg = <0>;
1266			clocks = <&tegra_car TEGRA30_CLK_CCLK_G>;
1267			#cooling-cells = <2>;
1268		};
1269
1270		cpu1: cpu@1 {
1271			device_type = "cpu";
1272			compatible = "arm,cortex-a9";
1273			reg = <1>;
1274			clocks = <&tegra_car TEGRA30_CLK_CCLK_G>;
1275			#cooling-cells = <2>;
1276		};
1277
1278		cpu2: cpu@2 {
1279			device_type = "cpu";
1280			compatible = "arm,cortex-a9";
1281			reg = <2>;
1282			clocks = <&tegra_car TEGRA30_CLK_CCLK_G>;
1283			#cooling-cells = <2>;
1284		};
1285
1286		cpu3: cpu@3 {
1287			device_type = "cpu";
1288			compatible = "arm,cortex-a9";
1289			reg = <3>;
1290			clocks = <&tegra_car TEGRA30_CLK_CCLK_G>;
1291			#cooling-cells = <2>;
1292		};
1293	};
1294
1295	pmu {
1296		compatible = "arm,cortex-a9-pmu";
1297		interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
1298			     <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1299			     <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
1300			     <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
1301		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
1302	};
1303
1304	thermal-zones {
1305		tsensor0-thermal {
1306			polling-delay-passive = <1000>; /* milliseconds */
1307			polling-delay = <5000>; /* milliseconds */
1308
1309			thermal-sensors = <&tsensor 0>;
1310
1311			trips {
1312				level1_trip: dvfs-alert {
1313					/* throttle at 80C until temperature drops to 79.8C */
1314					temperature = <80000>;
1315					hysteresis = <200>;
1316					type = "passive";
1317				};
1318
1319				level2_trip: cpu-div2-throttle {
1320					/* hardware CPU x2 freq throttle at 85C */
1321					temperature = <85000>;
1322					hysteresis = <200>;
1323					type = "hot";
1324				};
1325
1326				level3_trip: soc-critical {
1327					/* hardware shut down at 90C */
1328					temperature = <90000>;
1329					hysteresis = <2000>;
1330					type = "critical";
1331				};
1332			};
1333
1334			cooling-maps {
1335				map0 {
1336					trip = <&level1_trip>;
1337					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1338							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1339							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1340							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1341							 <&actmon THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1342				};
1343			};
1344		};
1345
1346		tsensor1-thermal {
1347			status = "disabled";
1348
1349			polling-delay-passive = <1000>; /* milliseconds */
1350			polling-delay = <0>; /* milliseconds */
1351
1352			thermal-sensors = <&tsensor 1>;
1353
1354			trips {
1355				dvfs-alert {
1356					temperature = <80000>;
1357					hysteresis = <200>;
1358					type = "passive";
1359				};
1360			};
1361		};
1362	};
1363};
~/ Read-only file preview.