Linux Audio

Check our new training course

Loading...
v6.2
   1// SPDX-License-Identifier: GPL-2.0
   2#include <dt-bindings/clock/tegra124-car.h>
   3#include <dt-bindings/gpio/tegra-gpio.h>
   4#include <dt-bindings/memory/tegra124-mc.h>
   5#include <dt-bindings/pinctrl/pinctrl-tegra.h>
   6#include <dt-bindings/interrupt-controller/arm-gic.h>
   7#include <dt-bindings/reset/tegra124-car.h>
   8#include <dt-bindings/thermal/tegra124-soctherm.h>
   9#include <dt-bindings/soc/tegra-pmc.h>
  10
  11#include "tegra124-peripherals-opp.dtsi"
  12
  13/ {
  14	compatible = "nvidia,tegra124";
  15	interrupt-parent = <&lic>;
  16	#address-cells = <2>;
  17	#size-cells = <2>;
  18
  19	memory@80000000 {
  20		device_type = "memory";
  21		reg = <0x0 0x80000000 0x0 0x0>;
  22	};
  23
  24	pcie@1003000 {
  25		compatible = "nvidia,tegra124-pcie";
  26		device_type = "pci";
  27		reg = <0x0 0x01003000 0x0 0x00000800>, /* PADS registers */
  28		      <0x0 0x01003800 0x0 0x00000800>, /* AFI registers */
  29		      <0x0 0x02000000 0x0 0x10000000>; /* configuration space */
  30		reg-names = "pads", "afi", "cs";
  31		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
  32			     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
  33		interrupt-names = "intr", "msi";
  34
  35		#interrupt-cells = <1>;
  36		interrupt-map-mask = <0 0 0 0>;
  37		interrupt-map = <0 0 0 0 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
  38
  39		bus-range = <0x00 0xff>;
  40		#address-cells = <3>;
  41		#size-cells = <2>;
  42
  43		ranges = <0x02000000 0 0x01000000 0x0 0x01000000 0 0x00001000>, /* port 0 configuration space */
  44			 <0x02000000 0 0x01001000 0x0 0x01001000 0 0x00001000>, /* port 1 configuration space */
  45			 <0x01000000 0 0x0        0x0 0x12000000 0 0x00010000>, /* downstream I/O (64 KiB) */
  46			 <0x02000000 0 0x13000000 0x0 0x13000000 0 0x0d000000>, /* non-prefetchable memory (208 MiB) */
  47			 <0x42000000 0 0x20000000 0x0 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */
  48
  49		clocks = <&tegra_car TEGRA124_CLK_PCIE>,
  50			 <&tegra_car TEGRA124_CLK_AFI>,
  51			 <&tegra_car TEGRA124_CLK_PLL_E>,
  52			 <&tegra_car TEGRA124_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		status = "disabled";
  59
  60		pci@1,0 {
  61			device_type = "pci";
  62			assigned-addresses = <0x82000800 0 0x01000000 0 0x1000>;
  63			reg = <0x000800 0 0 0 0>;
  64			bus-range = <0x00 0xff>;
  65			status = "disabled";
  66
  67			#address-cells = <3>;
  68			#size-cells = <2>;
  69			ranges;
  70
  71			nvidia,num-lanes = <2>;
  72		};
  73
  74		pci@2,0 {
  75			device_type = "pci";
  76			assigned-addresses = <0x82001000 0 0x01001000 0 0x1000>;
  77			reg = <0x001000 0 0 0 0>;
  78			bus-range = <0x00 0xff>;
  79			status = "disabled";
  80
  81			#address-cells = <3>;
  82			#size-cells = <2>;
  83			ranges;
  84
  85			nvidia,num-lanes = <1>;
  86		};
  87	};
  88
  89	host1x@50000000 {
  90		compatible = "nvidia,tegra124-host1x";
  91		reg = <0x0 0x50000000 0x0 0x00034000>;
  92		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
  93			     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
  94		interrupt-names = "syncpt", "host1x";
  95		clocks = <&tegra_car TEGRA124_CLK_HOST1X>;
  96		clock-names = "host1x";
  97		resets = <&tegra_car 28>, <&mc TEGRA124_MC_RESET_HC>;
  98		reset-names = "host1x", "mc";
  99		iommus = <&mc TEGRA_SWGROUP_HC>;
 100
 101		#address-cells = <2>;
 102		#size-cells = <2>;
 103
 104		ranges = <0 0x54000000 0 0x54000000 0 0x01000000>;
 105
 106		dc@54200000 {
 107			compatible = "nvidia,tegra124-dc";
 108			reg = <0x0 0x54200000 0x0 0x00040000>;
 109			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
 110			clocks = <&tegra_car TEGRA124_CLK_DISP1>;
 111			clock-names = "dc";
 
 112			resets = <&tegra_car 27>;
 113			reset-names = "dc";
 114
 115			iommus = <&mc TEGRA_SWGROUP_DC>;
 116
 117			nvidia,head = <0>;
 118
 119			interconnects = <&mc TEGRA124_MC_DISPLAY0A &emc>,
 120					<&mc TEGRA124_MC_DISPLAY0B &emc>,
 121					<&mc TEGRA124_MC_DISPLAY0C &emc>,
 122					<&mc TEGRA124_MC_DISPLAYHC &emc>,
 123					<&mc TEGRA124_MC_DISPLAYD &emc>,
 124					<&mc TEGRA124_MC_DISPLAYT &emc>;
 125			interconnect-names = "wina",
 126					     "winb",
 127					     "winc",
 128					     "cursor",
 129					     "wind",
 130					     "wint";
 131		};
 132
 133		dc@54240000 {
 134			compatible = "nvidia,tegra124-dc";
 135			reg = <0x0 0x54240000 0x0 0x00040000>;
 136			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
 137			clocks = <&tegra_car TEGRA124_CLK_DISP2>;
 138			clock-names = "dc";
 
 139			resets = <&tegra_car 26>;
 140			reset-names = "dc";
 141
 142			iommus = <&mc TEGRA_SWGROUP_DCB>;
 143
 144			nvidia,head = <1>;
 145
 146			interconnects = <&mc TEGRA124_MC_DISPLAY0AB &emc>,
 147					<&mc TEGRA124_MC_DISPLAY0BB &emc>,
 148					<&mc TEGRA124_MC_DISPLAY0CB &emc>,
 149					<&mc TEGRA124_MC_DISPLAYHCB &emc>;
 150			interconnect-names = "wina",
 151					     "winb",
 152					     "winc",
 153					     "cursor";
 154		};
 155
 156		hdmi: hdmi@54280000 {
 157			compatible = "nvidia,tegra124-hdmi";
 158			reg = <0x0 0x54280000 0x0 0x00040000>;
 159			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
 160			clocks = <&tegra_car TEGRA124_CLK_HDMI>,
 161				 <&tegra_car TEGRA124_CLK_PLL_D2_OUT0>;
 162			clock-names = "hdmi", "parent";
 163			resets = <&tegra_car 51>;
 164			reset-names = "hdmi";
 165			status = "disabled";
 166		};
 167
 168		vic@54340000 {
 169			compatible = "nvidia,tegra124-vic";
 170			reg = <0x0 0x54340000 0x0 0x00040000>;
 171			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
 172			clocks = <&tegra_car TEGRA124_CLK_VIC03>;
 173			clock-names = "vic";
 174			resets = <&tegra_car 178>;
 175			reset-names = "vic";
 176
 177			iommus = <&mc TEGRA_SWGROUP_VIC>;
 178		};
 179
 180		sor@54540000 {
 181			compatible = "nvidia,tegra124-sor";
 182			reg = <0x0 0x54540000 0x0 0x00040000>;
 183			interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
 184			clocks = <&tegra_car TEGRA124_CLK_SOR0>,
 185				 <&tegra_car TEGRA124_CLK_SOR0_OUT>,
 186				 <&tegra_car TEGRA124_CLK_PLL_D_OUT0>,
 187				 <&tegra_car TEGRA124_CLK_PLL_DP>,
 188				 <&tegra_car TEGRA124_CLK_CLK_M>;
 189			clock-names = "sor", "out", "parent", "dp", "safe";
 190			resets = <&tegra_car 182>;
 191			reset-names = "sor";
 192			status = "disabled";
 193		};
 194
 195		dpaux: dpaux@545c0000 {
 196			compatible = "nvidia,tegra124-dpaux";
 197			reg = <0x0 0x545c0000 0x0 0x00040000>;
 198			interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
 199			clocks = <&tegra_car TEGRA124_CLK_DPAUX>,
 200				 <&tegra_car TEGRA124_CLK_PLL_DP>;
 201			clock-names = "dpaux", "parent";
 202			resets = <&tegra_car 181>;
 203			reset-names = "dpaux";
 204			status = "disabled";
 205
 206			i2c-bus {
 207				#address-cells = <1>;
 208				#size-cells = <0>;
 209			};
 210		};
 211	};
 212
 213	gic: interrupt-controller@50041000 {
 214		compatible = "arm,cortex-a15-gic";
 215		#interrupt-cells = <3>;
 216		interrupt-controller;
 217		reg = <0x0 0x50041000 0x0 0x1000>,
 218		      <0x0 0x50042000 0x0 0x1000>,
 219		      <0x0 0x50044000 0x0 0x2000>,
 220		      <0x0 0x50046000 0x0 0x2000>;
 221		interrupts = <GIC_PPI 9
 222			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
 223		interrupt-parent = <&gic>;
 224	};
 225
 226	gpu@57000000 {
 
 
 
 
 
 227		compatible = "nvidia,gk20a";
 228		reg = <0x0 0x57000000 0x0 0x01000000>,
 229		      <0x0 0x58000000 0x0 0x01000000>;
 230		interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
 231			     <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
 232		interrupt-names = "stall", "nonstall";
 233		clocks = <&tegra_car TEGRA124_CLK_GPU>,
 234			 <&tegra_car TEGRA124_CLK_PLL_P_OUT5>;
 235		clock-names = "gpu", "pwr";
 236		resets = <&tegra_car 184>;
 237		reset-names = "gpu";
 238
 239		iommus = <&mc TEGRA_SWGROUP_GPU>;
 240
 241		status = "disabled";
 242	};
 243
 244	lic: interrupt-controller@60004000 {
 245		compatible = "nvidia,tegra124-ictlr", "nvidia,tegra30-ictlr";
 246		reg = <0x0 0x60004000 0x0 0x100>,
 247		      <0x0 0x60004100 0x0 0x100>,
 248		      <0x0 0x60004200 0x0 0x100>,
 249		      <0x0 0x60004300 0x0 0x100>,
 250		      <0x0 0x60004400 0x0 0x100>;
 251		interrupt-controller;
 252		#interrupt-cells = <3>;
 253		interrupt-parent = <&gic>;
 254	};
 255
 256	timer@60005000 {
 257		compatible = "nvidia,tegra124-timer", "nvidia,tegra30-timer";
 258		reg = <0x0 0x60005000 0x0 0x400>;
 259		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
 260			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
 261			     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
 262			     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
 263			     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
 264			     <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
 265		clocks = <&tegra_car TEGRA124_CLK_TIMER>;
 266	};
 267
 268	tegra_car: clock@60006000 {
 269		compatible = "nvidia,tegra124-car";
 270		reg = <0x0 0x60006000 0x0 0x1000>;
 271		#clock-cells = <1>;
 272		#reset-cells = <1>;
 273		nvidia,external-memory-controller = <&emc>;
 274	};
 275
 276	flow-controller@60007000 {
 277		compatible = "nvidia,tegra124-flowctrl";
 278		reg = <0x0 0x60007000 0x0 0x1000>;
 279	};
 280
 281	actmon: actmon@6000c800 {
 282		compatible = "nvidia,tegra124-actmon";
 283		reg = <0x0 0x6000c800 0x0 0x400>;
 284		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
 285		clocks = <&tegra_car TEGRA124_CLK_ACTMON>,
 286			 <&tegra_car TEGRA124_CLK_EMC>;
 287		clock-names = "actmon", "emc";
 288		resets = <&tegra_car 119>;
 289		reset-names = "actmon";
 290		operating-points-v2 = <&emc_bw_dfs_opp_table>;
 291		interconnects = <&mc TEGRA124_MC_MPCORER &emc>;
 292		interconnect-names = "cpu-read";
 293		#cooling-cells = <2>;
 294	};
 295
 296	gpio: gpio@6000d000 {
 297		compatible = "nvidia,tegra124-gpio", "nvidia,tegra30-gpio";
 298		reg = <0x0 0x6000d000 0x0 0x1000>;
 299		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
 300			     <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
 301			     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
 302			     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
 303			     <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
 304			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
 305			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
 306			     <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
 307		#gpio-cells = <2>;
 308		gpio-controller;
 309		#interrupt-cells = <2>;
 310		interrupt-controller;
 
 311		gpio-ranges = <&pinmux 0 0 251>;
 
 312	};
 313
 314	apbdma: dma@60020000 {
 315		compatible = "nvidia,tegra124-apbdma", "nvidia,tegra148-apbdma";
 316		reg = <0x0 0x60020000 0x0 0x1400>;
 317		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
 318			     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
 319			     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
 320			     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
 321			     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
 322			     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
 323			     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
 324			     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
 325			     <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
 326			     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
 327			     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
 328			     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
 329			     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
 330			     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
 331			     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
 332			     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
 333			     <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
 334			     <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
 335			     <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
 336			     <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
 337			     <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
 338			     <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
 339			     <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
 340			     <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
 341			     <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
 342			     <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
 343			     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
 344			     <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
 345			     <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
 346			     <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
 347			     <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
 348			     <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
 349		clocks = <&tegra_car TEGRA124_CLK_APBDMA>;
 350		resets = <&tegra_car 34>;
 351		reset-names = "dma";
 352		#dma-cells = <1>;
 353	};
 354
 355	apbmisc@70000800 {
 356		compatible = "nvidia,tegra124-apbmisc", "nvidia,tegra20-apbmisc";
 357		reg = <0x0 0x70000800 0x0 0x64>,   /* Chip revision */
 358		      <0x0 0x7000e864 0x0 0x04>;   /* Strapping options */
 359	};
 360
 361	pinmux: pinmux@70000868 {
 362		compatible = "nvidia,tegra124-pinmux";
 363		reg = <0x0 0x70000868 0x0 0x164>, /* Pad control registers */
 364		      <0x0 0x70003000 0x0 0x434>, /* Mux registers */
 365		      <0x0 0x70000820 0x0 0x008>; /* MIPI pad control */
 366	};
 367
 368	/*
 369	 * There are two serial driver i.e. 8250 based simple serial
 370	 * driver and APB DMA based serial driver for higher baudrate
 371	 * and performace. To enable the 8250 based driver, the compatible
 372	 * is "nvidia,tegra124-uart", "nvidia,tegra20-uart" and to enable
 373	 * the APB DMA based serial driver, the compatible is
 374	 * "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart".
 375	 */
 376	uarta: serial@70006000 {
 377		compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
 378		reg = <0x0 0x70006000 0x0 0x40>;
 379		reg-shift = <2>;
 380		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
 381		clocks = <&tegra_car TEGRA124_CLK_UARTA>;
 382		resets = <&tegra_car 6>;
 383		reset-names = "serial";
 384		dmas = <&apbdma 8>, <&apbdma 8>;
 385		dma-names = "rx", "tx";
 386		status = "disabled";
 387	};
 388
 389	uartb: serial@70006040 {
 390		compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
 391		reg = <0x0 0x70006040 0x0 0x40>;
 392		reg-shift = <2>;
 393		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
 394		clocks = <&tegra_car TEGRA124_CLK_UARTB>;
 395		resets = <&tegra_car 7>;
 396		reset-names = "serial";
 397		dmas = <&apbdma 9>, <&apbdma 9>;
 398		dma-names = "rx", "tx";
 399		status = "disabled";
 400	};
 401
 402	uartc: serial@70006200 {
 403		compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
 404		reg = <0x0 0x70006200 0x0 0x40>;
 405		reg-shift = <2>;
 406		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
 407		clocks = <&tegra_car TEGRA124_CLK_UARTC>;
 408		resets = <&tegra_car 55>;
 409		reset-names = "serial";
 410		dmas = <&apbdma 10>, <&apbdma 10>;
 411		dma-names = "rx", "tx";
 412		status = "disabled";
 413	};
 414
 415	uartd: serial@70006300 {
 416		compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
 417		reg = <0x0 0x70006300 0x0 0x40>;
 418		reg-shift = <2>;
 419		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
 420		clocks = <&tegra_car TEGRA124_CLK_UARTD>;
 421		resets = <&tegra_car 65>;
 422		reset-names = "serial";
 423		dmas = <&apbdma 19>, <&apbdma 19>;
 424		dma-names = "rx", "tx";
 425		status = "disabled";
 426	};
 427
 428	pwm: pwm@7000a000 {
 429		compatible = "nvidia,tegra124-pwm", "nvidia,tegra20-pwm";
 430		reg = <0x0 0x7000a000 0x0 0x100>;
 431		#pwm-cells = <2>;
 432		clocks = <&tegra_car TEGRA124_CLK_PWM>;
 433		resets = <&tegra_car 17>;
 434		reset-names = "pwm";
 435		status = "disabled";
 436	};
 437
 438	i2c@7000c000 {
 439		compatible = "nvidia,tegra124-i2c";
 440		reg = <0x0 0x7000c000 0x0 0x100>;
 441		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
 442		#address-cells = <1>;
 443		#size-cells = <0>;
 444		clocks = <&tegra_car TEGRA124_CLK_I2C1>;
 445		clock-names = "div-clk";
 446		resets = <&tegra_car 12>;
 447		reset-names = "i2c";
 448		dmas = <&apbdma 21>, <&apbdma 21>;
 449		dma-names = "rx", "tx";
 450		status = "disabled";
 451	};
 452
 453	i2c@7000c400 {
 454		compatible = "nvidia,tegra124-i2c";
 455		reg = <0x0 0x7000c400 0x0 0x100>;
 456		interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
 457		#address-cells = <1>;
 458		#size-cells = <0>;
 459		clocks = <&tegra_car TEGRA124_CLK_I2C2>;
 460		clock-names = "div-clk";
 461		resets = <&tegra_car 54>;
 462		reset-names = "i2c";
 463		dmas = <&apbdma 22>, <&apbdma 22>;
 464		dma-names = "rx", "tx";
 465		status = "disabled";
 466	};
 467
 468	i2c@7000c500 {
 469		compatible = "nvidia,tegra124-i2c";
 470		reg = <0x0 0x7000c500 0x0 0x100>;
 471		interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
 472		#address-cells = <1>;
 473		#size-cells = <0>;
 474		clocks = <&tegra_car TEGRA124_CLK_I2C3>;
 475		clock-names = "div-clk";
 476		resets = <&tegra_car 67>;
 477		reset-names = "i2c";
 478		dmas = <&apbdma 23>, <&apbdma 23>;
 479		dma-names = "rx", "tx";
 480		status = "disabled";
 481	};
 482
 483	i2c@7000c700 {
 484		compatible = "nvidia,tegra124-i2c";
 485		reg = <0x0 0x7000c700 0x0 0x100>;
 486		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
 487		#address-cells = <1>;
 488		#size-cells = <0>;
 489		clocks = <&tegra_car TEGRA124_CLK_I2C4>;
 490		clock-names = "div-clk";
 491		resets = <&tegra_car 103>;
 492		reset-names = "i2c";
 493		dmas = <&apbdma 26>, <&apbdma 26>;
 494		dma-names = "rx", "tx";
 495		status = "disabled";
 496	};
 497
 498	i2c@7000d000 {
 499		compatible = "nvidia,tegra124-i2c";
 500		reg = <0x0 0x7000d000 0x0 0x100>;
 501		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
 502		#address-cells = <1>;
 503		#size-cells = <0>;
 504		clocks = <&tegra_car TEGRA124_CLK_I2C5>;
 505		clock-names = "div-clk";
 506		resets = <&tegra_car 47>;
 507		reset-names = "i2c";
 508		dmas = <&apbdma 24>, <&apbdma 24>;
 509		dma-names = "rx", "tx";
 510		status = "disabled";
 511	};
 512
 513	i2c@7000d100 {
 514		compatible = "nvidia,tegra124-i2c";
 515		reg = <0x0 0x7000d100 0x0 0x100>;
 516		interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
 517		#address-cells = <1>;
 518		#size-cells = <0>;
 519		clocks = <&tegra_car TEGRA124_CLK_I2C6>;
 520		clock-names = "div-clk";
 521		resets = <&tegra_car 166>;
 522		reset-names = "i2c";
 523		dmas = <&apbdma 30>, <&apbdma 30>;
 524		dma-names = "rx", "tx";
 525		status = "disabled";
 526	};
 527
 528	spi@7000d400 {
 529		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
 530		reg = <0x0 0x7000d400 0x0 0x200>;
 531		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
 532		#address-cells = <1>;
 533		#size-cells = <0>;
 534		clocks = <&tegra_car TEGRA124_CLK_SBC1>;
 535		clock-names = "spi";
 536		resets = <&tegra_car 41>;
 537		reset-names = "spi";
 538		dmas = <&apbdma 15>, <&apbdma 15>;
 539		dma-names = "rx", "tx";
 540		status = "disabled";
 541	};
 542
 543	spi@7000d600 {
 544		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
 545		reg = <0x0 0x7000d600 0x0 0x200>;
 546		interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
 547		#address-cells = <1>;
 548		#size-cells = <0>;
 549		clocks = <&tegra_car TEGRA124_CLK_SBC2>;
 550		clock-names = "spi";
 551		resets = <&tegra_car 44>;
 552		reset-names = "spi";
 553		dmas = <&apbdma 16>, <&apbdma 16>;
 554		dma-names = "rx", "tx";
 555		status = "disabled";
 556	};
 557
 558	spi@7000d800 {
 559		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
 560		reg = <0x0 0x7000d800 0x0 0x200>;
 561		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
 562		#address-cells = <1>;
 563		#size-cells = <0>;
 564		clocks = <&tegra_car TEGRA124_CLK_SBC3>;
 565		clock-names = "spi";
 566		resets = <&tegra_car 46>;
 567		reset-names = "spi";
 568		dmas = <&apbdma 17>, <&apbdma 17>;
 569		dma-names = "rx", "tx";
 570		status = "disabled";
 571	};
 572
 573	spi@7000da00 {
 574		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
 575		reg = <0x0 0x7000da00 0x0 0x200>;
 576		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
 577		#address-cells = <1>;
 578		#size-cells = <0>;
 579		clocks = <&tegra_car TEGRA124_CLK_SBC4>;
 580		clock-names = "spi";
 581		resets = <&tegra_car 68>;
 582		reset-names = "spi";
 583		dmas = <&apbdma 18>, <&apbdma 18>;
 584		dma-names = "rx", "tx";
 585		status = "disabled";
 586	};
 587
 588	spi@7000dc00 {
 589		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
 590		reg = <0x0 0x7000dc00 0x0 0x200>;
 591		interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
 592		#address-cells = <1>;
 593		#size-cells = <0>;
 594		clocks = <&tegra_car TEGRA124_CLK_SBC5>;
 595		clock-names = "spi";
 596		resets = <&tegra_car 104>;
 597		reset-names = "spi";
 598		dmas = <&apbdma 27>, <&apbdma 27>;
 599		dma-names = "rx", "tx";
 600		status = "disabled";
 601	};
 602
 603	spi@7000de00 {
 604		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
 605		reg = <0x0 0x7000de00 0x0 0x200>;
 606		interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
 607		#address-cells = <1>;
 608		#size-cells = <0>;
 609		clocks = <&tegra_car TEGRA124_CLK_SBC6>;
 610		clock-names = "spi";
 611		resets = <&tegra_car 105>;
 612		reset-names = "spi";
 613		dmas = <&apbdma 28>, <&apbdma 28>;
 614		dma-names = "rx", "tx";
 615		status = "disabled";
 616	};
 617
 618	rtc@7000e000 {
 619		compatible = "nvidia,tegra124-rtc", "nvidia,tegra20-rtc";
 620		reg = <0x0 0x7000e000 0x0 0x100>;
 621		interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
 622		clocks = <&tegra_car TEGRA124_CLK_RTC>;
 623	};
 624
 625	tegra_pmc: pmc@7000e400 {
 626		compatible = "nvidia,tegra124-pmc";
 627		reg = <0x0 0x7000e400 0x0 0x400>;
 628		clocks = <&tegra_car TEGRA124_CLK_PCLK>, <&clk32k_in>;
 629		clock-names = "pclk", "clk32k_in";
 630		#clock-cells = <1>;
 631	};
 632
 633	fuse@7000f800 {
 634		compatible = "nvidia,tegra124-efuse";
 635		reg = <0x0 0x7000f800 0x0 0x400>;
 636		clocks = <&tegra_car TEGRA124_CLK_FUSE>;
 637		clock-names = "fuse";
 638		resets = <&tegra_car 39>;
 639		reset-names = "fuse";
 640	};
 641
 642	mc: memory-controller@70019000 {
 643		compatible = "nvidia,tegra124-mc";
 644		reg = <0x0 0x70019000 0x0 0x1000>;
 645		clocks = <&tegra_car TEGRA124_CLK_MC>;
 646		clock-names = "mc";
 647
 648		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
 649
 650		#iommu-cells = <1>;
 651		#reset-cells = <1>;
 652		#interconnect-cells = <1>;
 653	};
 654
 655	emc: external-memory-controller@7001b000 {
 656		compatible = "nvidia,tegra124-emc";
 657		reg = <0x0 0x7001b000 0x0 0x1000>;
 658		clocks = <&tegra_car TEGRA124_CLK_EMC>;
 659		clock-names = "emc";
 660
 661		nvidia,memory-controller = <&mc>;
 662		operating-points-v2 = <&emc_icc_dvfs_opp_table>;
 663
 664		#interconnect-cells = <0>;
 665	};
 666
 667	sata@70020000 {
 668		compatible = "nvidia,tegra124-ahci";
 669		reg = <0x0 0x70027000 0x0 0x2000>, /* AHCI */
 670		      <0x0 0x70020000 0x0 0x7000>; /* SATA */
 671		interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
 672		clocks = <&tegra_car TEGRA124_CLK_SATA>,
 673			 <&tegra_car TEGRA124_CLK_SATA_OOB>;
 674		clock-names = "sata", "sata-oob";
 
 
 675		resets = <&tegra_car 124>,
 676			 <&tegra_car 129>,
 677			 <&tegra_car 123>;
 678		reset-names = "sata", "sata-cold", "sata-oob";
 679		status = "disabled";
 680	};
 681
 682	hda@70030000 {
 683		compatible = "nvidia,tegra124-hda", "nvidia,tegra30-hda";
 684		reg = <0x0 0x70030000 0x0 0x10000>;
 685		interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
 686		clocks = <&tegra_car TEGRA124_CLK_HDA>,
 687			 <&tegra_car TEGRA124_CLK_HDA2HDMI>,
 688			 <&tegra_car TEGRA124_CLK_HDA2CODEC_2X>;
 689		clock-names = "hda", "hda2hdmi", "hda2codec_2x";
 690		resets = <&tegra_car 125>, /* hda */
 691			 <&tegra_car 128>, /* hda2hdmi */
 692			 <&tegra_car 111>; /* hda2codec_2x */
 693		reset-names = "hda", "hda2hdmi", "hda2codec_2x";
 694		status = "disabled";
 695	};
 696
 697	usb@70090000 {
 698		compatible = "nvidia,tegra124-xusb";
 699		reg = <0x0 0x70090000 0x0 0x8000>,
 700		      <0x0 0x70098000 0x0 0x1000>,
 701		      <0x0 0x70099000 0x0 0x1000>;
 702		reg-names = "hcd", "fpci", "ipfs";
 703
 704		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
 705			     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
 706
 707		clocks = <&tegra_car TEGRA124_CLK_XUSB_HOST>,
 708			 <&tegra_car TEGRA124_CLK_XUSB_HOST_SRC>,
 709			 <&tegra_car TEGRA124_CLK_XUSB_FALCON_SRC>,
 710			 <&tegra_car TEGRA124_CLK_XUSB_SS>,
 711			 <&tegra_car TEGRA124_CLK_XUSB_SS_DIV2>,
 712			 <&tegra_car TEGRA124_CLK_XUSB_SS_SRC>,
 713			 <&tegra_car TEGRA124_CLK_XUSB_HS_SRC>,
 714			 <&tegra_car TEGRA124_CLK_XUSB_FS_SRC>,
 715			 <&tegra_car TEGRA124_CLK_PLL_U_480M>,
 716			 <&tegra_car TEGRA124_CLK_CLK_M>,
 717			 <&tegra_car TEGRA124_CLK_PLL_E>;
 718		clock-names = "xusb_host", "xusb_host_src",
 719			      "xusb_falcon_src", "xusb_ss",
 720			      "xusb_ss_div2", "xusb_ss_src",
 721			      "xusb_hs_src", "xusb_fs_src",
 722			      "pll_u_480m", "clk_m", "pll_e";
 723		resets = <&tegra_car 89>, <&tegra_car 156>,
 724			 <&tegra_car 143>;
 725		reset-names = "xusb_host", "xusb_ss", "xusb_src";
 726
 727		nvidia,xusb-padctl = <&padctl>;
 728
 729		status = "disabled";
 730	};
 731
 732	padctl: padctl@7009f000 {
 733		compatible = "nvidia,tegra124-xusb-padctl";
 734		reg = <0x0 0x7009f000 0x0 0x1000>;
 735		resets = <&tegra_car 142>;
 736		reset-names = "padctl";
 737
 738		pads {
 739			usb2 {
 740				status = "disabled";
 741
 742				lanes {
 743					usb2-0 {
 744						status = "disabled";
 745						#phy-cells = <0>;
 746					};
 747
 748					usb2-1 {
 749						status = "disabled";
 750						#phy-cells = <0>;
 751					};
 752
 753					usb2-2 {
 754						status = "disabled";
 755						#phy-cells = <0>;
 756					};
 757				};
 758			};
 759
 760			ulpi {
 761				status = "disabled";
 762
 763				lanes {
 764					ulpi-0 {
 765						status = "disabled";
 766						#phy-cells = <0>;
 767					};
 768				};
 769			};
 770
 771			hsic {
 772				status = "disabled";
 773
 774				lanes {
 775					hsic-0 {
 776						status = "disabled";
 777						#phy-cells = <0>;
 778					};
 779
 780					hsic-1 {
 781						status = "disabled";
 782						#phy-cells = <0>;
 783					};
 784				};
 785			};
 786
 787			pcie {
 788				status = "disabled";
 789
 790				lanes {
 791					pcie-0 {
 792						status = "disabled";
 793						#phy-cells = <0>;
 794					};
 795
 796					pcie-1 {
 797						status = "disabled";
 798						#phy-cells = <0>;
 799					};
 800
 801					pcie-2 {
 802						status = "disabled";
 803						#phy-cells = <0>;
 804					};
 805
 806					pcie-3 {
 807						status = "disabled";
 808						#phy-cells = <0>;
 809					};
 810
 811					pcie-4 {
 812						status = "disabled";
 813						#phy-cells = <0>;
 814					};
 815				};
 816			};
 817
 818			sata {
 819				status = "disabled";
 820
 821				lanes {
 822					sata-0 {
 823						status = "disabled";
 824						#phy-cells = <0>;
 825					};
 826				};
 827			};
 828		};
 829
 830		ports {
 831			usb2-0 {
 832				status = "disabled";
 833			};
 834
 835			usb2-1 {
 836				status = "disabled";
 837			};
 838
 839			usb2-2 {
 840				status = "disabled";
 841			};
 842
 843			ulpi-0 {
 844				status = "disabled";
 845			};
 846
 847			hsic-0 {
 848				status = "disabled";
 849			};
 850
 851			hsic-1 {
 852				status = "disabled";
 853			};
 854
 855			usb3-0 {
 856				status = "disabled";
 857			};
 858
 859			usb3-1 {
 860				status = "disabled";
 861			};
 862		};
 863	};
 864
 865	mmc@700b0000 {
 866		compatible = "nvidia,tegra124-sdhci";
 867		reg = <0x0 0x700b0000 0x0 0x200>;
 868		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
 869		clocks = <&tegra_car TEGRA124_CLK_SDMMC1>;
 870		clock-names = "sdhci";
 871		resets = <&tegra_car 14>;
 872		reset-names = "sdhci";
 873		status = "disabled";
 874	};
 875
 876	mmc@700b0200 {
 877		compatible = "nvidia,tegra124-sdhci";
 878		reg = <0x0 0x700b0200 0x0 0x200>;
 879		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
 880		clocks = <&tegra_car TEGRA124_CLK_SDMMC2>;
 881		clock-names = "sdhci";
 882		resets = <&tegra_car 9>;
 883		reset-names = "sdhci";
 884		status = "disabled";
 885	};
 886
 887	mmc@700b0400 {
 888		compatible = "nvidia,tegra124-sdhci";
 889		reg = <0x0 0x700b0400 0x0 0x200>;
 890		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
 891		clocks = <&tegra_car TEGRA124_CLK_SDMMC3>;
 892		clock-names = "sdhci";
 893		resets = <&tegra_car 69>;
 894		reset-names = "sdhci";
 895		status = "disabled";
 896	};
 897
 898	mmc@700b0600 {
 899		compatible = "nvidia,tegra124-sdhci";
 900		reg = <0x0 0x700b0600 0x0 0x200>;
 901		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
 902		clocks = <&tegra_car TEGRA124_CLK_SDMMC4>;
 903		clock-names = "sdhci";
 904		resets = <&tegra_car 15>;
 905		reset-names = "sdhci";
 906		status = "disabled";
 907	};
 908
 909	cec@70015000 {
 910		compatible = "nvidia,tegra124-cec";
 911		reg = <0x0 0x70015000 0x0 0x00001000>;
 912		interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
 913		clocks = <&tegra_car TEGRA124_CLK_CEC>;
 914		clock-names = "cec";
 915		status = "disabled";
 916		hdmi-phandle = <&hdmi>;
 917	};
 918
 919	soctherm: thermal-sensor@700e2000 {
 920		compatible = "nvidia,tegra124-soctherm";
 921		reg = <0x0 0x700e2000 0x0 0x600>, /* SOC_THERM reg_base */
 922		      <0x0 0x60006000 0x0 0x400>; /* CAR reg_base */
 923		reg-names = "soctherm-reg", "car-reg";
 924		interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
 925			     <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
 926		interrupt-names = "thermal", "edp";
 927		clocks = <&tegra_car TEGRA124_CLK_TSENSOR>,
 928			 <&tegra_car TEGRA124_CLK_SOC_THERM>;
 929		clock-names = "tsensor", "soctherm";
 930		resets = <&tegra_car 78>;
 931		reset-names = "soctherm";
 932		#thermal-sensor-cells = <1>;
 933
 934		throttle-cfgs {
 935			throttle_heavy: heavy {
 936				nvidia,priority = <100>;
 937				nvidia,cpu-throt-percent = <85>;
 938				nvidia,gpu-throt-level = <TEGRA_SOCTHERM_THROT_LEVEL_HIGH>;
 939
 940				#cooling-cells = <2>;
 941			};
 942		};
 943	};
 944
 945	dfll: clock@70110000 {
 946		compatible = "nvidia,tegra124-dfll";
 947		reg = <0 0x70110000 0 0x100>, /* DFLL control */
 948		      <0 0x70110000 0 0x100>, /* I2C output control */
 949		      <0 0x70110100 0 0x100>, /* Integrated I2C controller */
 950		      <0 0x70110200 0 0x100>; /* Look-up table RAM */
 951		interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
 952		clocks = <&tegra_car TEGRA124_CLK_DFLL_SOC>,
 953			 <&tegra_car TEGRA124_CLK_DFLL_REF>,
 954			 <&tegra_car TEGRA124_CLK_I2C5>;
 955		clock-names = "soc", "ref", "i2c";
 956		resets = <&tegra_car TEGRA124_RST_DFLL_DVCO>;
 957		reset-names = "dvco";
 958		#clock-cells = <0>;
 959		clock-output-names = "dfllCPU_out";
 960		nvidia,sample-rate = <12500>;
 961		nvidia,droop-ctrl = <0x00000f00>;
 962		nvidia,force-mode = <1>;
 963		nvidia,cf = <10>;
 964		nvidia,ci = <0>;
 965		nvidia,cg = <2>;
 966		status = "disabled";
 967	};
 968
 969	ahub@70300000 {
 970		compatible = "nvidia,tegra124-ahub";
 971		reg = <0x0 0x70300000 0x0 0x200>,
 972		      <0x0 0x70300800 0x0 0x800>,
 973		      <0x0 0x70300200 0x0 0x600>;
 974		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
 975		clocks = <&tegra_car TEGRA124_CLK_D_AUDIO>,
 976			 <&tegra_car TEGRA124_CLK_APBIF>;
 977		clock-names = "d_audio", "apbif";
 978		resets = <&tegra_car 106>, /* d_audio */
 979			 <&tegra_car 107>, /* apbif */
 980			 <&tegra_car 30>,  /* i2s0 */
 981			 <&tegra_car 11>,  /* i2s1 */
 982			 <&tegra_car 18>,  /* i2s2 */
 983			 <&tegra_car 101>, /* i2s3 */
 984			 <&tegra_car 102>, /* i2s4 */
 985			 <&tegra_car 108>, /* dam0 */
 986			 <&tegra_car 109>, /* dam1 */
 987			 <&tegra_car 110>, /* dam2 */
 988			 <&tegra_car 10>,  /* spdif */
 989			 <&tegra_car 153>, /* amx */
 990			 <&tegra_car 185>, /* amx1 */
 991			 <&tegra_car 154>, /* adx */
 992			 <&tegra_car 180>, /* adx1 */
 993			 <&tegra_car 186>, /* afc0 */
 994			 <&tegra_car 187>, /* afc1 */
 995			 <&tegra_car 188>, /* afc2 */
 996			 <&tegra_car 189>, /* afc3 */
 997			 <&tegra_car 190>, /* afc4 */
 998			 <&tegra_car 191>; /* afc5 */
 999		reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",
1000			      "i2s3", "i2s4", "dam0", "dam1", "dam2",
1001			      "spdif", "amx", "amx1", "adx", "adx1",
1002			      "afc0", "afc1", "afc2", "afc3", "afc4", "afc5";
1003		dmas = <&apbdma 1>, <&apbdma 1>,
1004		       <&apbdma 2>, <&apbdma 2>,
1005		       <&apbdma 3>, <&apbdma 3>,
1006		       <&apbdma 4>, <&apbdma 4>,
1007		       <&apbdma 6>, <&apbdma 6>,
1008		       <&apbdma 7>, <&apbdma 7>,
1009		       <&apbdma 12>, <&apbdma 12>,
1010		       <&apbdma 13>, <&apbdma 13>,
1011		       <&apbdma 14>, <&apbdma 14>,
1012		       <&apbdma 29>, <&apbdma 29>;
1013		dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2",
1014			    "rx3", "tx3", "rx4", "tx4", "rx5", "tx5",
1015			    "rx6", "tx6", "rx7", "tx7", "rx8", "tx8",
1016			    "rx9", "tx9";
1017		ranges;
1018		#address-cells = <2>;
1019		#size-cells = <2>;
1020
1021		tegra_i2s0: i2s@70301000 {
1022			compatible = "nvidia,tegra124-i2s";
1023			reg = <0x0 0x70301000 0x0 0x100>;
1024			nvidia,ahub-cif-ids = <4 4>;
1025			clocks = <&tegra_car TEGRA124_CLK_I2S0>;
1026			resets = <&tegra_car 30>;
1027			reset-names = "i2s";
1028			status = "disabled";
1029		};
1030
1031		tegra_i2s1: i2s@70301100 {
1032			compatible = "nvidia,tegra124-i2s";
1033			reg = <0x0 0x70301100 0x0 0x100>;
1034			nvidia,ahub-cif-ids = <5 5>;
1035			clocks = <&tegra_car TEGRA124_CLK_I2S1>;
1036			resets = <&tegra_car 11>;
1037			reset-names = "i2s";
1038			status = "disabled";
1039		};
1040
1041		tegra_i2s2: i2s@70301200 {
1042			compatible = "nvidia,tegra124-i2s";
1043			reg = <0x0 0x70301200 0x0 0x100>;
1044			nvidia,ahub-cif-ids = <6 6>;
1045			clocks = <&tegra_car TEGRA124_CLK_I2S2>;
1046			resets = <&tegra_car 18>;
1047			reset-names = "i2s";
1048			status = "disabled";
1049		};
1050
1051		tegra_i2s3: i2s@70301300 {
1052			compatible = "nvidia,tegra124-i2s";
1053			reg = <0x0 0x70301300 0x0 0x100>;
1054			nvidia,ahub-cif-ids = <7 7>;
1055			clocks = <&tegra_car TEGRA124_CLK_I2S3>;
1056			resets = <&tegra_car 101>;
1057			reset-names = "i2s";
1058			status = "disabled";
1059		};
1060
1061		tegra_i2s4: i2s@70301400 {
1062			compatible = "nvidia,tegra124-i2s";
1063			reg = <0x0 0x70301400 0x0 0x100>;
1064			nvidia,ahub-cif-ids = <8 8>;
1065			clocks = <&tegra_car TEGRA124_CLK_I2S4>;
1066			resets = <&tegra_car 102>;
1067			reset-names = "i2s";
1068			status = "disabled";
1069		};
1070	};
1071
1072	usb@7d000000 {
1073		compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci";
1074		reg = <0x0 0x7d000000 0x0 0x4000>;
1075		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
1076		phy_type = "utmi";
1077		clocks = <&tegra_car TEGRA124_CLK_USBD>;
1078		resets = <&tegra_car 22>;
1079		reset-names = "usb";
1080		nvidia,phy = <&phy1>;
1081		status = "disabled";
1082	};
1083
1084	phy1: usb-phy@7d000000 {
1085		compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
1086		reg = <0x0 0x7d000000 0x0 0x4000>,
1087		      <0x0 0x7d000000 0x0 0x4000>;
1088		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
1089		phy_type = "utmi";
1090		clocks = <&tegra_car TEGRA124_CLK_USBD>,
1091			 <&tegra_car TEGRA124_CLK_PLL_U>,
1092			 <&tegra_car TEGRA124_CLK_USBD>;
1093		clock-names = "reg", "pll_u", "utmi-pads";
1094		resets = <&tegra_car 22>, <&tegra_car 22>;
1095		reset-names = "usb", "utmi-pads";
1096		#phy-cells = <0>;
1097		nvidia,hssync-start-delay = <0>;
1098		nvidia,idle-wait-delay = <17>;
1099		nvidia,elastic-limit = <16>;
1100		nvidia,term-range-adj = <6>;
1101		nvidia,xcvr-setup = <9>;
1102		nvidia,xcvr-lsfslew = <0>;
1103		nvidia,xcvr-lsrslew = <3>;
1104		nvidia,hssquelch-level = <2>;
1105		nvidia,hsdiscon-level = <5>;
1106		nvidia,xcvr-hsslew = <12>;
1107		nvidia,has-utmi-pad-registers;
1108		nvidia,pmc = <&tegra_pmc 0>;
1109		status = "disabled";
1110	};
1111
1112	usb@7d004000 {
1113		compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci";
1114		reg = <0x0 0x7d004000 0x0 0x4000>;
1115		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
1116		phy_type = "utmi";
1117		clocks = <&tegra_car TEGRA124_CLK_USB2>;
1118		resets = <&tegra_car 58>;
1119		reset-names = "usb";
1120		nvidia,phy = <&phy2>;
1121		status = "disabled";
1122	};
1123
1124	phy2: usb-phy@7d004000 {
1125		compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
1126		reg = <0x0 0x7d004000 0x0 0x4000>,
1127		      <0x0 0x7d000000 0x0 0x4000>;
1128		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
1129		phy_type = "utmi";
1130		clocks = <&tegra_car TEGRA124_CLK_USB2>,
1131			 <&tegra_car TEGRA124_CLK_PLL_U>,
1132			 <&tegra_car TEGRA124_CLK_USBD>;
1133		clock-names = "reg", "pll_u", "utmi-pads";
1134		resets = <&tegra_car 58>, <&tegra_car 22>;
1135		reset-names = "usb", "utmi-pads";
1136		#phy-cells = <0>;
1137		nvidia,hssync-start-delay = <0>;
1138		nvidia,idle-wait-delay = <17>;
1139		nvidia,elastic-limit = <16>;
1140		nvidia,term-range-adj = <6>;
1141		nvidia,xcvr-setup = <9>;
1142		nvidia,xcvr-lsfslew = <0>;
1143		nvidia,xcvr-lsrslew = <3>;
1144		nvidia,hssquelch-level = <2>;
1145		nvidia,hsdiscon-level = <5>;
1146		nvidia,xcvr-hsslew = <12>;
1147		nvidia,pmc = <&tegra_pmc 1>;
1148		status = "disabled";
1149	};
1150
1151	usb@7d008000 {
1152		compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci";
1153		reg = <0x0 0x7d008000 0x0 0x4000>;
1154		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
1155		phy_type = "utmi";
1156		clocks = <&tegra_car TEGRA124_CLK_USB3>;
1157		resets = <&tegra_car 59>;
1158		reset-names = "usb";
1159		nvidia,phy = <&phy3>;
1160		status = "disabled";
1161	};
1162
1163	phy3: usb-phy@7d008000 {
1164		compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
1165		reg = <0x0 0x7d008000 0x0 0x4000>,
1166		      <0x0 0x7d000000 0x0 0x4000>;
1167		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
1168		phy_type = "utmi";
1169		clocks = <&tegra_car TEGRA124_CLK_USB3>,
1170			 <&tegra_car TEGRA124_CLK_PLL_U>,
1171			 <&tegra_car TEGRA124_CLK_USBD>;
1172		clock-names = "reg", "pll_u", "utmi-pads";
1173		resets = <&tegra_car 59>, <&tegra_car 22>;
1174		reset-names = "usb", "utmi-pads";
1175		#phy-cells = <0>;
1176		nvidia,hssync-start-delay = <0>;
1177		nvidia,idle-wait-delay = <17>;
1178		nvidia,elastic-limit = <16>;
1179		nvidia,term-range-adj = <6>;
1180		nvidia,xcvr-setup = <9>;
1181		nvidia,xcvr-lsfslew = <0>;
1182		nvidia,xcvr-lsrslew = <3>;
1183		nvidia,hssquelch-level = <2>;
1184		nvidia,hsdiscon-level = <5>;
1185		nvidia,xcvr-hsslew = <12>;
1186		nvidia,pmc = <&tegra_pmc 2>;
1187		status = "disabled";
1188	};
1189
1190	cpus {
1191		#address-cells = <1>;
1192		#size-cells = <0>;
1193
1194		cpu@0 {
1195			device_type = "cpu";
1196			compatible = "arm,cortex-a15";
1197			reg = <0>;
1198
1199			clocks = <&tegra_car TEGRA124_CLK_CCLK_G>,
1200				 <&tegra_car TEGRA124_CLK_CCLK_LP>,
1201				 <&tegra_car TEGRA124_CLK_PLL_X>,
1202				 <&tegra_car TEGRA124_CLK_PLL_P>,
1203				 <&dfll>;
1204			clock-names = "cpu_g", "cpu_lp", "pll_x", "pll_p", "dfll";
1205			/* FIXME: what's the actual transition time? */
1206			clock-latency = <300000>;
1207		};
1208
1209		cpu@1 {
1210			device_type = "cpu";
1211			compatible = "arm,cortex-a15";
1212			reg = <1>;
1213		};
1214
1215		cpu@2 {
1216			device_type = "cpu";
1217			compatible = "arm,cortex-a15";
1218			reg = <2>;
1219		};
1220
1221		cpu@3 {
1222			device_type = "cpu";
1223			compatible = "arm,cortex-a15";
1224			reg = <3>;
1225		};
1226	};
1227
1228	pmu {
1229		compatible = "arm,cortex-a15-pmu";
1230		interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
1231			     <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1232			     <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
1233			     <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
1234		interrupt-affinity = <&{/cpus/cpu@0}>,
1235				     <&{/cpus/cpu@1}>,
1236				     <&{/cpus/cpu@2}>,
1237				     <&{/cpus/cpu@3}>;
1238	};
1239
1240	thermal-zones {
1241		cpu-thermal {
1242			polling-delay-passive = <1000>;
1243			polling-delay = <1000>;
1244
1245			thermal-sensors =
1246				<&soctherm TEGRA124_SOCTHERM_SENSOR_CPU>;
1247
1248			trips {
1249				cpu-shutdown-trip {
1250					temperature = <103000>;
1251					hysteresis = <0>;
1252					type = "critical";
1253				};
1254				cpu_throttle_trip: throttle-trip {
1255					temperature = <100000>;
1256					hysteresis = <1000>;
1257					type = "hot";
1258				};
1259			};
1260
1261			cooling-maps {
1262				map0 {
1263					trip = <&cpu_throttle_trip>;
1264					cooling-device = <&throttle_heavy 1 1>;
1265				};
1266			};
1267		};
1268
1269		mem-thermal {
1270			polling-delay-passive = <1000>;
1271			polling-delay = <1000>;
1272
1273			thermal-sensors =
1274				<&soctherm TEGRA124_SOCTHERM_SENSOR_MEM>;
1275
1276			trips {
1277				mem-shutdown-trip {
1278					temperature = <103000>;
1279					hysteresis = <0>;
1280					type = "critical";
1281				};
1282				mem-throttle-trip {
1283					temperature = <99000>;
1284					hysteresis = <1000>;
1285					type = "hot";
1286				};
1287			};
1288
1289			cooling-maps {
1290				/*
1291				 * There are currently no cooling maps,
1292				 * because there are no cooling devices.
1293				 */
1294			};
1295		};
1296
1297		gpu-thermal {
1298			polling-delay-passive = <1000>;
1299			polling-delay = <1000>;
1300
1301			thermal-sensors =
1302				<&soctherm TEGRA124_SOCTHERM_SENSOR_GPU>;
1303
1304			trips {
1305				gpu-shutdown-trip {
1306					temperature = <101000>;
1307					hysteresis = <0>;
1308					type = "critical";
1309				};
1310				gpu_throttle_trip: throttle-trip {
1311					temperature = <99000>;
1312					hysteresis = <1000>;
1313					type = "hot";
1314				};
1315			};
1316
1317			cooling-maps {
1318				map0 {
1319					trip = <&gpu_throttle_trip>;
1320					cooling-device = <&throttle_heavy 1 1>;
1321				};
1322			};
1323		};
1324
1325		pllx-thermal {
1326			polling-delay-passive = <1000>;
1327			polling-delay = <1000>;
1328
1329			thermal-sensors =
1330				<&soctherm TEGRA124_SOCTHERM_SENSOR_PLLX>;
1331
1332			trips {
1333				pllx-shutdown-trip {
1334					temperature = <103000>;
1335					hysteresis = <0>;
1336					type = "critical";
1337				};
1338				pllx-throttle-trip {
1339					temperature = <99000>;
1340					hysteresis = <1000>;
1341					type = "hot";
1342				};
1343			};
1344
1345			cooling-maps {
1346				/*
1347				 * There are currently no cooling maps,
1348				 * because there are no cooling devices.
1349				 */
1350			};
1351		};
1352	};
1353
1354	timer {
1355		compatible = "arm,armv7-timer";
1356		interrupts = <GIC_PPI 13
1357				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1358			     <GIC_PPI 14
1359				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1360			     <GIC_PPI 11
1361				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1362			     <GIC_PPI 10
1363				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
1364		interrupt-parent = <&gic>;
1365	};
1366};
v5.4
   1// SPDX-License-Identifier: GPL-2.0
   2#include <dt-bindings/clock/tegra124-car.h>
   3#include <dt-bindings/gpio/tegra-gpio.h>
   4#include <dt-bindings/memory/tegra124-mc.h>
   5#include <dt-bindings/pinctrl/pinctrl-tegra.h>
   6#include <dt-bindings/interrupt-controller/arm-gic.h>
   7#include <dt-bindings/reset/tegra124-car.h>
   8#include <dt-bindings/thermal/tegra124-soctherm.h>
 
 
 
   9
  10/ {
  11	compatible = "nvidia,tegra124";
  12	interrupt-parent = <&lic>;
  13	#address-cells = <2>;
  14	#size-cells = <2>;
  15
  16	memory@80000000 {
  17		device_type = "memory";
  18		reg = <0x0 0x80000000 0x0 0x0>;
  19	};
  20
  21	pcie@1003000 {
  22		compatible = "nvidia,tegra124-pcie";
  23		device_type = "pci";
  24		reg = <0x0 0x01003000 0x0 0x00000800   /* PADS registers */
  25		       0x0 0x01003800 0x0 0x00000800   /* AFI registers */
  26		       0x0 0x02000000 0x0 0x10000000>; /* configuration space */
  27		reg-names = "pads", "afi", "cs";
  28		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
  29			     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
  30		interrupt-names = "intr", "msi";
  31
  32		#interrupt-cells = <1>;
  33		interrupt-map-mask = <0 0 0 0>;
  34		interrupt-map = <0 0 0 0 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
  35
  36		bus-range = <0x00 0xff>;
  37		#address-cells = <3>;
  38		#size-cells = <2>;
  39
  40		ranges = <0x82000000 0 0x01000000 0x0 0x01000000 0 0x00001000   /* port 0 configuration space */
  41			  0x82000000 0 0x01001000 0x0 0x01001000 0 0x00001000   /* port 1 configuration space */
  42			  0x81000000 0 0x0        0x0 0x12000000 0 0x00010000   /* downstream I/O (64 KiB) */
  43			  0x82000000 0 0x13000000 0x0 0x13000000 0 0x0d000000   /* non-prefetchable memory (208 MiB) */
  44			  0xc2000000 0 0x20000000 0x0 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */
  45
  46		clocks = <&tegra_car TEGRA124_CLK_PCIE>,
  47			 <&tegra_car TEGRA124_CLK_AFI>,
  48			 <&tegra_car TEGRA124_CLK_PLL_E>,
  49			 <&tegra_car TEGRA124_CLK_CML0>;
  50		clock-names = "pex", "afi", "pll_e", "cml";
  51		resets = <&tegra_car 70>,
  52			 <&tegra_car 72>,
  53			 <&tegra_car 74>;
  54		reset-names = "pex", "afi", "pcie_x";
  55		status = "disabled";
  56
  57		pci@1,0 {
  58			device_type = "pci";
  59			assigned-addresses = <0x82000800 0 0x01000000 0 0x1000>;
  60			reg = <0x000800 0 0 0 0>;
  61			bus-range = <0x00 0xff>;
  62			status = "disabled";
  63
  64			#address-cells = <3>;
  65			#size-cells = <2>;
  66			ranges;
  67
  68			nvidia,num-lanes = <2>;
  69		};
  70
  71		pci@2,0 {
  72			device_type = "pci";
  73			assigned-addresses = <0x82001000 0 0x01001000 0 0x1000>;
  74			reg = <0x001000 0 0 0 0>;
  75			bus-range = <0x00 0xff>;
  76			status = "disabled";
  77
  78			#address-cells = <3>;
  79			#size-cells = <2>;
  80			ranges;
  81
  82			nvidia,num-lanes = <1>;
  83		};
  84	};
  85
  86	host1x@50000000 {
  87		compatible = "nvidia,tegra124-host1x", "simple-bus";
  88		reg = <0x0 0x50000000 0x0 0x00034000>;
  89		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
  90			     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
 
  91		clocks = <&tegra_car TEGRA124_CLK_HOST1X>;
  92		resets = <&tegra_car 28>;
  93		reset-names = "host1x";
 
  94		iommus = <&mc TEGRA_SWGROUP_HC>;
  95
  96		#address-cells = <2>;
  97		#size-cells = <2>;
  98
  99		ranges = <0 0x54000000 0 0x54000000 0 0x01000000>;
 100
 101		dc@54200000 {
 102			compatible = "nvidia,tegra124-dc";
 103			reg = <0x0 0x54200000 0x0 0x00040000>;
 104			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
 105			clocks = <&tegra_car TEGRA124_CLK_DISP1>,
 106				 <&tegra_car TEGRA124_CLK_PLL_P>;
 107			clock-names = "dc", "parent";
 108			resets = <&tegra_car 27>;
 109			reset-names = "dc";
 110
 111			iommus = <&mc TEGRA_SWGROUP_DC>;
 112
 113			nvidia,head = <0>;
 
 
 
 
 
 
 
 
 
 
 
 
 
 114		};
 115
 116		dc@54240000 {
 117			compatible = "nvidia,tegra124-dc";
 118			reg = <0x0 0x54240000 0x0 0x00040000>;
 119			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
 120			clocks = <&tegra_car TEGRA124_CLK_DISP2>,
 121				 <&tegra_car TEGRA124_CLK_PLL_P>;
 122			clock-names = "dc", "parent";
 123			resets = <&tegra_car 26>;
 124			reset-names = "dc";
 125
 126			iommus = <&mc TEGRA_SWGROUP_DCB>;
 127
 128			nvidia,head = <1>;
 
 
 
 
 
 
 
 
 
 129		};
 130
 131		hdmi: hdmi@54280000 {
 132			compatible = "nvidia,tegra124-hdmi";
 133			reg = <0x0 0x54280000 0x0 0x00040000>;
 134			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
 135			clocks = <&tegra_car TEGRA124_CLK_HDMI>,
 136				 <&tegra_car TEGRA124_CLK_PLL_D2_OUT0>;
 137			clock-names = "hdmi", "parent";
 138			resets = <&tegra_car 51>;
 139			reset-names = "hdmi";
 140			status = "disabled";
 141		};
 142
 143		vic@54340000 {
 144			compatible = "nvidia,tegra124-vic";
 145			reg = <0x0 0x54340000 0x0 0x00040000>;
 146			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
 147			clocks = <&tegra_car TEGRA124_CLK_VIC03>;
 148			clock-names = "vic";
 149			resets = <&tegra_car 178>;
 150			reset-names = "vic";
 151
 152			iommus = <&mc TEGRA_SWGROUP_VIC>;
 153		};
 154
 155		sor@54540000 {
 156			compatible = "nvidia,tegra124-sor";
 157			reg = <0x0 0x54540000 0x0 0x00040000>;
 158			interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
 159			clocks = <&tegra_car TEGRA124_CLK_SOR0>,
 
 160				 <&tegra_car TEGRA124_CLK_PLL_D_OUT0>,
 161				 <&tegra_car TEGRA124_CLK_PLL_DP>,
 162				 <&tegra_car TEGRA124_CLK_CLK_M>;
 163			clock-names = "sor", "parent", "dp", "safe";
 164			resets = <&tegra_car 182>;
 165			reset-names = "sor";
 166			status = "disabled";
 167		};
 168
 169		dpaux: dpaux@545c0000 {
 170			compatible = "nvidia,tegra124-dpaux";
 171			reg = <0x0 0x545c0000 0x0 0x00040000>;
 172			interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
 173			clocks = <&tegra_car TEGRA124_CLK_DPAUX>,
 174				 <&tegra_car TEGRA124_CLK_PLL_DP>;
 175			clock-names = "dpaux", "parent";
 176			resets = <&tegra_car 181>;
 177			reset-names = "dpaux";
 178			status = "disabled";
 
 
 
 
 
 179		};
 180	};
 181
 182	gic: interrupt-controller@50041000 {
 183		compatible = "arm,cortex-a15-gic";
 184		#interrupt-cells = <3>;
 185		interrupt-controller;
 186		reg = <0x0 0x50041000 0x0 0x1000>,
 187		      <0x0 0x50042000 0x0 0x1000>,
 188		      <0x0 0x50044000 0x0 0x2000>,
 189		      <0x0 0x50046000 0x0 0x2000>;
 190		interrupts = <GIC_PPI 9
 191			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
 192		interrupt-parent = <&gic>;
 193	};
 194
 195	/*
 196	 * Please keep the following 0, notation in place as a former mainline
 197	 * U-Boot version was looking for that particular notation in order to
 198	 * perform required fix-ups on that GPU node.
 199	 */
 200	gpu@0,57000000 {
 201		compatible = "nvidia,gk20a";
 202		reg = <0x0 0x57000000 0x0 0x01000000>,
 203		      <0x0 0x58000000 0x0 0x01000000>;
 204		interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
 205			     <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
 206		interrupt-names = "stall", "nonstall";
 207		clocks = <&tegra_car TEGRA124_CLK_GPU>,
 208			 <&tegra_car TEGRA124_CLK_PLL_P_OUT5>;
 209		clock-names = "gpu", "pwr";
 210		resets = <&tegra_car 184>;
 211		reset-names = "gpu";
 212
 213		iommus = <&mc TEGRA_SWGROUP_GPU>;
 214
 215		status = "disabled";
 216	};
 217
 218	lic: interrupt-controller@60004000 {
 219		compatible = "nvidia,tegra124-ictlr", "nvidia,tegra30-ictlr";
 220		reg = <0x0 0x60004000 0x0 0x100>,
 221		      <0x0 0x60004100 0x0 0x100>,
 222		      <0x0 0x60004200 0x0 0x100>,
 223		      <0x0 0x60004300 0x0 0x100>,
 224		      <0x0 0x60004400 0x0 0x100>;
 225		interrupt-controller;
 226		#interrupt-cells = <3>;
 227		interrupt-parent = <&gic>;
 228	};
 229
 230	timer@60005000 {
 231		compatible = "nvidia,tegra124-timer", "nvidia,tegra30-timer", "nvidia,tegra20-timer";
 232		reg = <0x0 0x60005000 0x0 0x400>;
 233		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
 234			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
 235			     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
 236			     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
 237			     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
 238			     <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
 239		clocks = <&tegra_car TEGRA124_CLK_TIMER>;
 240	};
 241
 242	tegra_car: clock@60006000 {
 243		compatible = "nvidia,tegra124-car";
 244		reg = <0x0 0x60006000 0x0 0x1000>;
 245		#clock-cells = <1>;
 246		#reset-cells = <1>;
 247		nvidia,external-memory-controller = <&emc>;
 248	};
 249
 250	flow-controller@60007000 {
 251		compatible = "nvidia,tegra124-flowctrl";
 252		reg = <0x0 0x60007000 0x0 0x1000>;
 253	};
 254
 255	actmon@6000c800 {
 256		compatible = "nvidia,tegra124-actmon";
 257		reg = <0x0 0x6000c800 0x0 0x400>;
 258		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
 259		clocks = <&tegra_car TEGRA124_CLK_ACTMON>,
 260			 <&tegra_car TEGRA124_CLK_EMC>;
 261		clock-names = "actmon", "emc";
 262		resets = <&tegra_car 119>;
 263		reset-names = "actmon";
 
 
 
 
 264	};
 265
 266	gpio: gpio@6000d000 {
 267		compatible = "nvidia,tegra124-gpio", "nvidia,tegra30-gpio";
 268		reg = <0x0 0x6000d000 0x0 0x1000>;
 269		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
 270			     <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
 271			     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
 272			     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
 273			     <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
 274			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
 275			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
 276			     <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
 277		#gpio-cells = <2>;
 278		gpio-controller;
 279		#interrupt-cells = <2>;
 280		interrupt-controller;
 281		/*
 282		gpio-ranges = <&pinmux 0 0 251>;
 283		*/
 284	};
 285
 286	apbdma: dma@60020000 {
 287		compatible = "nvidia,tegra124-apbdma", "nvidia,tegra148-apbdma";
 288		reg = <0x0 0x60020000 0x0 0x1400>;
 289		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
 290			     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
 291			     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
 292			     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
 293			     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
 294			     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
 295			     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
 296			     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
 297			     <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
 298			     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
 299			     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
 300			     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
 301			     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
 302			     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
 303			     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
 304			     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
 305			     <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
 306			     <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
 307			     <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
 308			     <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
 309			     <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
 310			     <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
 311			     <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
 312			     <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
 313			     <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
 314			     <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
 315			     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
 316			     <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
 317			     <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
 318			     <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
 319			     <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
 320			     <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
 321		clocks = <&tegra_car TEGRA124_CLK_APBDMA>;
 322		resets = <&tegra_car 34>;
 323		reset-names = "dma";
 324		#dma-cells = <1>;
 325	};
 326
 327	apbmisc@70000800 {
 328		compatible = "nvidia,tegra124-apbmisc", "nvidia,tegra20-apbmisc";
 329		reg = <0x0 0x70000800 0x0 0x64>,   /* Chip revision */
 330		      <0x0 0x7000e864 0x0 0x04>;   /* Strapping options */
 331	};
 332
 333	pinmux: pinmux@70000868 {
 334		compatible = "nvidia,tegra124-pinmux";
 335		reg = <0x0 0x70000868 0x0 0x164>, /* Pad control registers */
 336		      <0x0 0x70003000 0x0 0x434>, /* Mux registers */
 337		      <0x0 0x70000820 0x0 0x008>; /* MIPI pad control */
 338	};
 339
 340	/*
 341	 * There are two serial driver i.e. 8250 based simple serial
 342	 * driver and APB DMA based serial driver for higher baudrate
 343	 * and performace. To enable the 8250 based driver, the compatible
 344	 * is "nvidia,tegra124-uart", "nvidia,tegra20-uart" and to enable
 345	 * the APB DMA based serial driver, the compatible is
 346	 * "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart".
 347	 */
 348	uarta: serial@70006000 {
 349		compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
 350		reg = <0x0 0x70006000 0x0 0x40>;
 351		reg-shift = <2>;
 352		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
 353		clocks = <&tegra_car TEGRA124_CLK_UARTA>;
 354		resets = <&tegra_car 6>;
 355		reset-names = "serial";
 356		dmas = <&apbdma 8>, <&apbdma 8>;
 357		dma-names = "rx", "tx";
 358		status = "disabled";
 359	};
 360
 361	uartb: serial@70006040 {
 362		compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
 363		reg = <0x0 0x70006040 0x0 0x40>;
 364		reg-shift = <2>;
 365		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
 366		clocks = <&tegra_car TEGRA124_CLK_UARTB>;
 367		resets = <&tegra_car 7>;
 368		reset-names = "serial";
 369		dmas = <&apbdma 9>, <&apbdma 9>;
 370		dma-names = "rx", "tx";
 371		status = "disabled";
 372	};
 373
 374	uartc: serial@70006200 {
 375		compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
 376		reg = <0x0 0x70006200 0x0 0x40>;
 377		reg-shift = <2>;
 378		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
 379		clocks = <&tegra_car TEGRA124_CLK_UARTC>;
 380		resets = <&tegra_car 55>;
 381		reset-names = "serial";
 382		dmas = <&apbdma 10>, <&apbdma 10>;
 383		dma-names = "rx", "tx";
 384		status = "disabled";
 385	};
 386
 387	uartd: serial@70006300 {
 388		compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
 389		reg = <0x0 0x70006300 0x0 0x40>;
 390		reg-shift = <2>;
 391		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
 392		clocks = <&tegra_car TEGRA124_CLK_UARTD>;
 393		resets = <&tegra_car 65>;
 394		reset-names = "serial";
 395		dmas = <&apbdma 19>, <&apbdma 19>;
 396		dma-names = "rx", "tx";
 397		status = "disabled";
 398	};
 399
 400	pwm: pwm@7000a000 {
 401		compatible = "nvidia,tegra124-pwm", "nvidia,tegra20-pwm";
 402		reg = <0x0 0x7000a000 0x0 0x100>;
 403		#pwm-cells = <2>;
 404		clocks = <&tegra_car TEGRA124_CLK_PWM>;
 405		resets = <&tegra_car 17>;
 406		reset-names = "pwm";
 407		status = "disabled";
 408	};
 409
 410	i2c@7000c000 {
 411		compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
 412		reg = <0x0 0x7000c000 0x0 0x100>;
 413		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
 414		#address-cells = <1>;
 415		#size-cells = <0>;
 416		clocks = <&tegra_car TEGRA124_CLK_I2C1>;
 417		clock-names = "div-clk";
 418		resets = <&tegra_car 12>;
 419		reset-names = "i2c";
 420		dmas = <&apbdma 21>, <&apbdma 21>;
 421		dma-names = "rx", "tx";
 422		status = "disabled";
 423	};
 424
 425	i2c@7000c400 {
 426		compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
 427		reg = <0x0 0x7000c400 0x0 0x100>;
 428		interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
 429		#address-cells = <1>;
 430		#size-cells = <0>;
 431		clocks = <&tegra_car TEGRA124_CLK_I2C2>;
 432		clock-names = "div-clk";
 433		resets = <&tegra_car 54>;
 434		reset-names = "i2c";
 435		dmas = <&apbdma 22>, <&apbdma 22>;
 436		dma-names = "rx", "tx";
 437		status = "disabled";
 438	};
 439
 440	i2c@7000c500 {
 441		compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
 442		reg = <0x0 0x7000c500 0x0 0x100>;
 443		interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
 444		#address-cells = <1>;
 445		#size-cells = <0>;
 446		clocks = <&tegra_car TEGRA124_CLK_I2C3>;
 447		clock-names = "div-clk";
 448		resets = <&tegra_car 67>;
 449		reset-names = "i2c";
 450		dmas = <&apbdma 23>, <&apbdma 23>;
 451		dma-names = "rx", "tx";
 452		status = "disabled";
 453	};
 454
 455	i2c@7000c700 {
 456		compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
 457		reg = <0x0 0x7000c700 0x0 0x100>;
 458		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
 459		#address-cells = <1>;
 460		#size-cells = <0>;
 461		clocks = <&tegra_car TEGRA124_CLK_I2C4>;
 462		clock-names = "div-clk";
 463		resets = <&tegra_car 103>;
 464		reset-names = "i2c";
 465		dmas = <&apbdma 26>, <&apbdma 26>;
 466		dma-names = "rx", "tx";
 467		status = "disabled";
 468	};
 469
 470	i2c@7000d000 {
 471		compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
 472		reg = <0x0 0x7000d000 0x0 0x100>;
 473		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
 474		#address-cells = <1>;
 475		#size-cells = <0>;
 476		clocks = <&tegra_car TEGRA124_CLK_I2C5>;
 477		clock-names = "div-clk";
 478		resets = <&tegra_car 47>;
 479		reset-names = "i2c";
 480		dmas = <&apbdma 24>, <&apbdma 24>;
 481		dma-names = "rx", "tx";
 482		status = "disabled";
 483	};
 484
 485	i2c@7000d100 {
 486		compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
 487		reg = <0x0 0x7000d100 0x0 0x100>;
 488		interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
 489		#address-cells = <1>;
 490		#size-cells = <0>;
 491		clocks = <&tegra_car TEGRA124_CLK_I2C6>;
 492		clock-names = "div-clk";
 493		resets = <&tegra_car 166>;
 494		reset-names = "i2c";
 495		dmas = <&apbdma 30>, <&apbdma 30>;
 496		dma-names = "rx", "tx";
 497		status = "disabled";
 498	};
 499
 500	spi@7000d400 {
 501		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
 502		reg = <0x0 0x7000d400 0x0 0x200>;
 503		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
 504		#address-cells = <1>;
 505		#size-cells = <0>;
 506		clocks = <&tegra_car TEGRA124_CLK_SBC1>;
 507		clock-names = "spi";
 508		resets = <&tegra_car 41>;
 509		reset-names = "spi";
 510		dmas = <&apbdma 15>, <&apbdma 15>;
 511		dma-names = "rx", "tx";
 512		status = "disabled";
 513	};
 514
 515	spi@7000d600 {
 516		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
 517		reg = <0x0 0x7000d600 0x0 0x200>;
 518		interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
 519		#address-cells = <1>;
 520		#size-cells = <0>;
 521		clocks = <&tegra_car TEGRA124_CLK_SBC2>;
 522		clock-names = "spi";
 523		resets = <&tegra_car 44>;
 524		reset-names = "spi";
 525		dmas = <&apbdma 16>, <&apbdma 16>;
 526		dma-names = "rx", "tx";
 527		status = "disabled";
 528	};
 529
 530	spi@7000d800 {
 531		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
 532		reg = <0x0 0x7000d800 0x0 0x200>;
 533		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
 534		#address-cells = <1>;
 535		#size-cells = <0>;
 536		clocks = <&tegra_car TEGRA124_CLK_SBC3>;
 537		clock-names = "spi";
 538		resets = <&tegra_car 46>;
 539		reset-names = "spi";
 540		dmas = <&apbdma 17>, <&apbdma 17>;
 541		dma-names = "rx", "tx";
 542		status = "disabled";
 543	};
 544
 545	spi@7000da00 {
 546		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
 547		reg = <0x0 0x7000da00 0x0 0x200>;
 548		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
 549		#address-cells = <1>;
 550		#size-cells = <0>;
 551		clocks = <&tegra_car TEGRA124_CLK_SBC4>;
 552		clock-names = "spi";
 553		resets = <&tegra_car 68>;
 554		reset-names = "spi";
 555		dmas = <&apbdma 18>, <&apbdma 18>;
 556		dma-names = "rx", "tx";
 557		status = "disabled";
 558	};
 559
 560	spi@7000dc00 {
 561		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
 562		reg = <0x0 0x7000dc00 0x0 0x200>;
 563		interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
 564		#address-cells = <1>;
 565		#size-cells = <0>;
 566		clocks = <&tegra_car TEGRA124_CLK_SBC5>;
 567		clock-names = "spi";
 568		resets = <&tegra_car 104>;
 569		reset-names = "spi";
 570		dmas = <&apbdma 27>, <&apbdma 27>;
 571		dma-names = "rx", "tx";
 572		status = "disabled";
 573	};
 574
 575	spi@7000de00 {
 576		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
 577		reg = <0x0 0x7000de00 0x0 0x200>;
 578		interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
 579		#address-cells = <1>;
 580		#size-cells = <0>;
 581		clocks = <&tegra_car TEGRA124_CLK_SBC6>;
 582		clock-names = "spi";
 583		resets = <&tegra_car 105>;
 584		reset-names = "spi";
 585		dmas = <&apbdma 28>, <&apbdma 28>;
 586		dma-names = "rx", "tx";
 587		status = "disabled";
 588	};
 589
 590	rtc@7000e000 {
 591		compatible = "nvidia,tegra124-rtc", "nvidia,tegra20-rtc";
 592		reg = <0x0 0x7000e000 0x0 0x100>;
 593		interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
 594		clocks = <&tegra_car TEGRA124_CLK_RTC>;
 595	};
 596
 597	pmc@7000e400 {
 598		compatible = "nvidia,tegra124-pmc";
 599		reg = <0x0 0x7000e400 0x0 0x400>;
 600		clocks = <&tegra_car TEGRA124_CLK_PCLK>, <&clk32k_in>;
 601		clock-names = "pclk", "clk32k_in";
 
 602	};
 603
 604	fuse@7000f800 {
 605		compatible = "nvidia,tegra124-efuse";
 606		reg = <0x0 0x7000f800 0x0 0x400>;
 607		clocks = <&tegra_car TEGRA124_CLK_FUSE>;
 608		clock-names = "fuse";
 609		resets = <&tegra_car 39>;
 610		reset-names = "fuse";
 611	};
 612
 613	mc: memory-controller@70019000 {
 614		compatible = "nvidia,tegra124-mc";
 615		reg = <0x0 0x70019000 0x0 0x1000>;
 616		clocks = <&tegra_car TEGRA124_CLK_MC>;
 617		clock-names = "mc";
 618
 619		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
 620
 621		#iommu-cells = <1>;
 
 
 622	};
 623
 624	emc: emc@7001b000 {
 625		compatible = "nvidia,tegra124-emc";
 626		reg = <0x0 0x7001b000 0x0 0x1000>;
 
 
 627
 628		nvidia,memory-controller = <&mc>;
 
 
 
 629	};
 630
 631	sata@70020000 {
 632		compatible = "nvidia,tegra124-ahci";
 633		reg = <0x0 0x70027000 0x0 0x2000>, /* AHCI */
 634		      <0x0 0x70020000 0x0 0x7000>; /* SATA */
 635		interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
 636		clocks = <&tegra_car TEGRA124_CLK_SATA>,
 637			 <&tegra_car TEGRA124_CLK_SATA_OOB>,
 638			 <&tegra_car TEGRA124_CLK_CML1>,
 639			 <&tegra_car TEGRA124_CLK_PLL_E>;
 640		clock-names = "sata", "sata-oob", "cml1", "pll_e";
 641		resets = <&tegra_car 124>,
 642			 <&tegra_car 123>,
 643			 <&tegra_car 129>;
 644		reset-names = "sata", "sata-oob", "sata-cold";
 645		status = "disabled";
 646	};
 647
 648	hda@70030000 {
 649		compatible = "nvidia,tegra124-hda", "nvidia,tegra30-hda";
 650		reg = <0x0 0x70030000 0x0 0x10000>;
 651		interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
 652		clocks = <&tegra_car TEGRA124_CLK_HDA>,
 653			 <&tegra_car TEGRA124_CLK_HDA2HDMI>,
 654			 <&tegra_car TEGRA124_CLK_HDA2CODEC_2X>;
 655		clock-names = "hda", "hda2hdmi", "hda2codec_2x";
 656		resets = <&tegra_car 125>, /* hda */
 657			 <&tegra_car 128>, /* hda2hdmi */
 658			 <&tegra_car 111>; /* hda2codec_2x */
 659		reset-names = "hda", "hda2hdmi", "hda2codec_2x";
 660		status = "disabled";
 661	};
 662
 663	usb@70090000 {
 664		compatible = "nvidia,tegra124-xusb";
 665		reg = <0x0 0x70090000 0x0 0x8000>,
 666		      <0x0 0x70098000 0x0 0x1000>,
 667		      <0x0 0x70099000 0x0 0x1000>;
 668		reg-names = "hcd", "fpci", "ipfs";
 669
 670		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
 671			     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
 672
 673		clocks = <&tegra_car TEGRA124_CLK_XUSB_HOST>,
 674			 <&tegra_car TEGRA124_CLK_XUSB_HOST_SRC>,
 675			 <&tegra_car TEGRA124_CLK_XUSB_FALCON_SRC>,
 676			 <&tegra_car TEGRA124_CLK_XUSB_SS>,
 677			 <&tegra_car TEGRA124_CLK_XUSB_SS_DIV2>,
 678			 <&tegra_car TEGRA124_CLK_XUSB_SS_SRC>,
 679			 <&tegra_car TEGRA124_CLK_XUSB_HS_SRC>,
 680			 <&tegra_car TEGRA124_CLK_XUSB_FS_SRC>,
 681			 <&tegra_car TEGRA124_CLK_PLL_U_480M>,
 682			 <&tegra_car TEGRA124_CLK_CLK_M>,
 683			 <&tegra_car TEGRA124_CLK_PLL_E>;
 684		clock-names = "xusb_host", "xusb_host_src",
 685			      "xusb_falcon_src", "xusb_ss",
 686			      "xusb_ss_div2", "xusb_ss_src",
 687			      "xusb_hs_src", "xusb_fs_src",
 688			      "pll_u_480m", "clk_m", "pll_e";
 689		resets = <&tegra_car 89>, <&tegra_car 156>,
 690			 <&tegra_car 143>;
 691		reset-names = "xusb_host", "xusb_ss", "xusb_src";
 692
 693		nvidia,xusb-padctl = <&padctl>;
 694
 695		status = "disabled";
 696	};
 697
 698	padctl: padctl@7009f000 {
 699		compatible = "nvidia,tegra124-xusb-padctl";
 700		reg = <0x0 0x7009f000 0x0 0x1000>;
 701		resets = <&tegra_car 142>;
 702		reset-names = "padctl";
 703
 704		pads {
 705			usb2 {
 706				status = "disabled";
 707
 708				lanes {
 709					usb2-0 {
 710						status = "disabled";
 711						#phy-cells = <0>;
 712					};
 713
 714					usb2-1 {
 715						status = "disabled";
 716						#phy-cells = <0>;
 717					};
 718
 719					usb2-2 {
 720						status = "disabled";
 721						#phy-cells = <0>;
 722					};
 723				};
 724			};
 725
 726			ulpi {
 727				status = "disabled";
 728
 729				lanes {
 730					ulpi-0 {
 731						status = "disabled";
 732						#phy-cells = <0>;
 733					};
 734				};
 735			};
 736
 737			hsic {
 738				status = "disabled";
 739
 740				lanes {
 741					hsic-0 {
 742						status = "disabled";
 743						#phy-cells = <0>;
 744					};
 745
 746					hsic-1 {
 747						status = "disabled";
 748						#phy-cells = <0>;
 749					};
 750				};
 751			};
 752
 753			pcie {
 754				status = "disabled";
 755
 756				lanes {
 757					pcie-0 {
 758						status = "disabled";
 759						#phy-cells = <0>;
 760					};
 761
 762					pcie-1 {
 763						status = "disabled";
 764						#phy-cells = <0>;
 765					};
 766
 767					pcie-2 {
 768						status = "disabled";
 769						#phy-cells = <0>;
 770					};
 771
 772					pcie-3 {
 773						status = "disabled";
 774						#phy-cells = <0>;
 775					};
 776
 777					pcie-4 {
 778						status = "disabled";
 779						#phy-cells = <0>;
 780					};
 781				};
 782			};
 783
 784			sata {
 785				status = "disabled";
 786
 787				lanes {
 788					sata-0 {
 789						status = "disabled";
 790						#phy-cells = <0>;
 791					};
 792				};
 793			};
 794		};
 795
 796		ports {
 797			usb2-0 {
 798				status = "disabled";
 799			};
 800
 801			usb2-1 {
 802				status = "disabled";
 803			};
 804
 805			usb2-2 {
 806				status = "disabled";
 807			};
 808
 809			ulpi-0 {
 810				status = "disabled";
 811			};
 812
 813			hsic-0 {
 814				status = "disabled";
 815			};
 816
 817			hsic-1 {
 818				status = "disabled";
 819			};
 820
 821			usb3-0 {
 822				status = "disabled";
 823			};
 824
 825			usb3-1 {
 826				status = "disabled";
 827			};
 828		};
 829	};
 830
 831	sdhci@700b0000 {
 832		compatible = "nvidia,tegra124-sdhci";
 833		reg = <0x0 0x700b0000 0x0 0x200>;
 834		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
 835		clocks = <&tegra_car TEGRA124_CLK_SDMMC1>;
 
 836		resets = <&tegra_car 14>;
 837		reset-names = "sdhci";
 838		status = "disabled";
 839	};
 840
 841	sdhci@700b0200 {
 842		compatible = "nvidia,tegra124-sdhci";
 843		reg = <0x0 0x700b0200 0x0 0x200>;
 844		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
 845		clocks = <&tegra_car TEGRA124_CLK_SDMMC2>;
 
 846		resets = <&tegra_car 9>;
 847		reset-names = "sdhci";
 848		status = "disabled";
 849	};
 850
 851	sdhci@700b0400 {
 852		compatible = "nvidia,tegra124-sdhci";
 853		reg = <0x0 0x700b0400 0x0 0x200>;
 854		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
 855		clocks = <&tegra_car TEGRA124_CLK_SDMMC3>;
 
 856		resets = <&tegra_car 69>;
 857		reset-names = "sdhci";
 858		status = "disabled";
 859	};
 860
 861	sdhci@700b0600 {
 862		compatible = "nvidia,tegra124-sdhci";
 863		reg = <0x0 0x700b0600 0x0 0x200>;
 864		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
 865		clocks = <&tegra_car TEGRA124_CLK_SDMMC4>;
 
 866		resets = <&tegra_car 15>;
 867		reset-names = "sdhci";
 868		status = "disabled";
 869	};
 870
 871	cec@70015000 {
 872		compatible = "nvidia,tegra124-cec";
 873		reg = <0x0 0x70015000 0x0 0x00001000>;
 874		interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
 875		clocks = <&tegra_car TEGRA124_CLK_CEC>;
 876		clock-names = "cec";
 877		status = "disabled";
 878		hdmi-phandle = <&hdmi>;
 879	};
 880
 881	soctherm: thermal-sensor@700e2000 {
 882		compatible = "nvidia,tegra124-soctherm";
 883		reg = <0x0 0x700e2000 0x0 0x600 /* SOC_THERM reg_base */
 884			0x0 0x60006000 0x0 0x400>; /* CAR reg_base */
 885		reg-names = "soctherm-reg", "car-reg";
 886		interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
 
 
 887		clocks = <&tegra_car TEGRA124_CLK_TSENSOR>,
 888			<&tegra_car TEGRA124_CLK_SOC_THERM>;
 889		clock-names = "tsensor", "soctherm";
 890		resets = <&tegra_car 78>;
 891		reset-names = "soctherm";
 892		#thermal-sensor-cells = <1>;
 893
 894		throttle-cfgs {
 895			throttle_heavy: heavy {
 896				nvidia,priority = <100>;
 897				nvidia,cpu-throt-percent = <85>;
 
 898
 899				#cooling-cells = <2>;
 900			};
 901		};
 902	};
 903
 904	dfll: clock@70110000 {
 905		compatible = "nvidia,tegra124-dfll";
 906		reg = <0 0x70110000 0 0x100>, /* DFLL control */
 907		      <0 0x70110000 0 0x100>, /* I2C output control */
 908		      <0 0x70110100 0 0x100>, /* Integrated I2C controller */
 909		      <0 0x70110200 0 0x100>; /* Look-up table RAM */
 910		interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
 911		clocks = <&tegra_car TEGRA124_CLK_DFLL_SOC>,
 912			 <&tegra_car TEGRA124_CLK_DFLL_REF>,
 913			 <&tegra_car TEGRA124_CLK_I2C5>;
 914		clock-names = "soc", "ref", "i2c";
 915		resets = <&tegra_car TEGRA124_RST_DFLL_DVCO>;
 916		reset-names = "dvco";
 917		#clock-cells = <0>;
 918		clock-output-names = "dfllCPU_out";
 919		nvidia,sample-rate = <12500>;
 920		nvidia,droop-ctrl = <0x00000f00>;
 921		nvidia,force-mode = <1>;
 922		nvidia,cf = <10>;
 923		nvidia,ci = <0>;
 924		nvidia,cg = <2>;
 925		status = "disabled";
 926	};
 927
 928	ahub@70300000 {
 929		compatible = "nvidia,tegra124-ahub";
 930		reg = <0x0 0x70300000 0x0 0x200>,
 931		      <0x0 0x70300800 0x0 0x800>,
 932		      <0x0 0x70300200 0x0 0x600>;
 933		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
 934		clocks = <&tegra_car TEGRA124_CLK_D_AUDIO>,
 935			 <&tegra_car TEGRA124_CLK_APBIF>;
 936		clock-names = "d_audio", "apbif";
 937		resets = <&tegra_car 106>, /* d_audio */
 938			 <&tegra_car 107>, /* apbif */
 939			 <&tegra_car 30>,  /* i2s0 */
 940			 <&tegra_car 11>,  /* i2s1 */
 941			 <&tegra_car 18>,  /* i2s2 */
 942			 <&tegra_car 101>, /* i2s3 */
 943			 <&tegra_car 102>, /* i2s4 */
 944			 <&tegra_car 108>, /* dam0 */
 945			 <&tegra_car 109>, /* dam1 */
 946			 <&tegra_car 110>, /* dam2 */
 947			 <&tegra_car 10>,  /* spdif */
 948			 <&tegra_car 153>, /* amx */
 949			 <&tegra_car 185>, /* amx1 */
 950			 <&tegra_car 154>, /* adx */
 951			 <&tegra_car 180>, /* adx1 */
 952			 <&tegra_car 186>, /* afc0 */
 953			 <&tegra_car 187>, /* afc1 */
 954			 <&tegra_car 188>, /* afc2 */
 955			 <&tegra_car 189>, /* afc3 */
 956			 <&tegra_car 190>, /* afc4 */
 957			 <&tegra_car 191>; /* afc5 */
 958		reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",
 959			      "i2s3", "i2s4", "dam0", "dam1", "dam2",
 960			      "spdif", "amx", "amx1", "adx", "adx1",
 961			      "afc0", "afc1", "afc2", "afc3", "afc4", "afc5";
 962		dmas = <&apbdma 1>, <&apbdma 1>,
 963		       <&apbdma 2>, <&apbdma 2>,
 964		       <&apbdma 3>, <&apbdma 3>,
 965		       <&apbdma 4>, <&apbdma 4>,
 966		       <&apbdma 6>, <&apbdma 6>,
 967		       <&apbdma 7>, <&apbdma 7>,
 968		       <&apbdma 12>, <&apbdma 12>,
 969		       <&apbdma 13>, <&apbdma 13>,
 970		       <&apbdma 14>, <&apbdma 14>,
 971		       <&apbdma 29>, <&apbdma 29>;
 972		dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2",
 973			    "rx3", "tx3", "rx4", "tx4", "rx5", "tx5",
 974			    "rx6", "tx6", "rx7", "tx7", "rx8", "tx8",
 975			    "rx9", "tx9";
 976		ranges;
 977		#address-cells = <2>;
 978		#size-cells = <2>;
 979
 980		tegra_i2s0: i2s@70301000 {
 981			compatible = "nvidia,tegra124-i2s";
 982			reg = <0x0 0x70301000 0x0 0x100>;
 983			nvidia,ahub-cif-ids = <4 4>;
 984			clocks = <&tegra_car TEGRA124_CLK_I2S0>;
 985			resets = <&tegra_car 30>;
 986			reset-names = "i2s";
 987			status = "disabled";
 988		};
 989
 990		tegra_i2s1: i2s@70301100 {
 991			compatible = "nvidia,tegra124-i2s";
 992			reg = <0x0 0x70301100 0x0 0x100>;
 993			nvidia,ahub-cif-ids = <5 5>;
 994			clocks = <&tegra_car TEGRA124_CLK_I2S1>;
 995			resets = <&tegra_car 11>;
 996			reset-names = "i2s";
 997			status = "disabled";
 998		};
 999
1000		tegra_i2s2: i2s@70301200 {
1001			compatible = "nvidia,tegra124-i2s";
1002			reg = <0x0 0x70301200 0x0 0x100>;
1003			nvidia,ahub-cif-ids = <6 6>;
1004			clocks = <&tegra_car TEGRA124_CLK_I2S2>;
1005			resets = <&tegra_car 18>;
1006			reset-names = "i2s";
1007			status = "disabled";
1008		};
1009
1010		tegra_i2s3: i2s@70301300 {
1011			compatible = "nvidia,tegra124-i2s";
1012			reg = <0x0 0x70301300 0x0 0x100>;
1013			nvidia,ahub-cif-ids = <7 7>;
1014			clocks = <&tegra_car TEGRA124_CLK_I2S3>;
1015			resets = <&tegra_car 101>;
1016			reset-names = "i2s";
1017			status = "disabled";
1018		};
1019
1020		tegra_i2s4: i2s@70301400 {
1021			compatible = "nvidia,tegra124-i2s";
1022			reg = <0x0 0x70301400 0x0 0x100>;
1023			nvidia,ahub-cif-ids = <8 8>;
1024			clocks = <&tegra_car TEGRA124_CLK_I2S4>;
1025			resets = <&tegra_car 102>;
1026			reset-names = "i2s";
1027			status = "disabled";
1028		};
1029	};
1030
1031	usb@7d000000 {
1032		compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci", "usb-ehci";
1033		reg = <0x0 0x7d000000 0x0 0x4000>;
1034		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
1035		phy_type = "utmi";
1036		clocks = <&tegra_car TEGRA124_CLK_USBD>;
1037		resets = <&tegra_car 22>;
1038		reset-names = "usb";
1039		nvidia,phy = <&phy1>;
1040		status = "disabled";
1041	};
1042
1043	phy1: usb-phy@7d000000 {
1044		compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
1045		reg = <0x0 0x7d000000 0x0 0x4000>,
1046		      <0x0 0x7d000000 0x0 0x4000>;
 
1047		phy_type = "utmi";
1048		clocks = <&tegra_car TEGRA124_CLK_USBD>,
1049			 <&tegra_car TEGRA124_CLK_PLL_U>,
1050			 <&tegra_car TEGRA124_CLK_USBD>;
1051		clock-names = "reg", "pll_u", "utmi-pads";
1052		resets = <&tegra_car 22>, <&tegra_car 22>;
1053		reset-names = "usb", "utmi-pads";
 
1054		nvidia,hssync-start-delay = <0>;
1055		nvidia,idle-wait-delay = <17>;
1056		nvidia,elastic-limit = <16>;
1057		nvidia,term-range-adj = <6>;
1058		nvidia,xcvr-setup = <9>;
1059		nvidia,xcvr-lsfslew = <0>;
1060		nvidia,xcvr-lsrslew = <3>;
1061		nvidia,hssquelch-level = <2>;
1062		nvidia,hsdiscon-level = <5>;
1063		nvidia,xcvr-hsslew = <12>;
1064		nvidia,has-utmi-pad-registers;
 
1065		status = "disabled";
1066	};
1067
1068	usb@7d004000 {
1069		compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci", "usb-ehci";
1070		reg = <0x0 0x7d004000 0x0 0x4000>;
1071		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
1072		phy_type = "utmi";
1073		clocks = <&tegra_car TEGRA124_CLK_USB2>;
1074		resets = <&tegra_car 58>;
1075		reset-names = "usb";
1076		nvidia,phy = <&phy2>;
1077		status = "disabled";
1078	};
1079
1080	phy2: usb-phy@7d004000 {
1081		compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
1082		reg = <0x0 0x7d004000 0x0 0x4000>,
1083		      <0x0 0x7d000000 0x0 0x4000>;
 
1084		phy_type = "utmi";
1085		clocks = <&tegra_car TEGRA124_CLK_USB2>,
1086			 <&tegra_car TEGRA124_CLK_PLL_U>,
1087			 <&tegra_car TEGRA124_CLK_USBD>;
1088		clock-names = "reg", "pll_u", "utmi-pads";
1089		resets = <&tegra_car 58>, <&tegra_car 22>;
1090		reset-names = "usb", "utmi-pads";
 
1091		nvidia,hssync-start-delay = <0>;
1092		nvidia,idle-wait-delay = <17>;
1093		nvidia,elastic-limit = <16>;
1094		nvidia,term-range-adj = <6>;
1095		nvidia,xcvr-setup = <9>;
1096		nvidia,xcvr-lsfslew = <0>;
1097		nvidia,xcvr-lsrslew = <3>;
1098		nvidia,hssquelch-level = <2>;
1099		nvidia,hsdiscon-level = <5>;
1100		nvidia,xcvr-hsslew = <12>;
 
1101		status = "disabled";
1102	};
1103
1104	usb@7d008000 {
1105		compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci", "usb-ehci";
1106		reg = <0x0 0x7d008000 0x0 0x4000>;
1107		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
1108		phy_type = "utmi";
1109		clocks = <&tegra_car TEGRA124_CLK_USB3>;
1110		resets = <&tegra_car 59>;
1111		reset-names = "usb";
1112		nvidia,phy = <&phy3>;
1113		status = "disabled";
1114	};
1115
1116	phy3: usb-phy@7d008000 {
1117		compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
1118		reg = <0x0 0x7d008000 0x0 0x4000>,
1119		      <0x0 0x7d000000 0x0 0x4000>;
 
1120		phy_type = "utmi";
1121		clocks = <&tegra_car TEGRA124_CLK_USB3>,
1122			 <&tegra_car TEGRA124_CLK_PLL_U>,
1123			 <&tegra_car TEGRA124_CLK_USBD>;
1124		clock-names = "reg", "pll_u", "utmi-pads";
1125		resets = <&tegra_car 59>, <&tegra_car 22>;
1126		reset-names = "usb", "utmi-pads";
 
1127		nvidia,hssync-start-delay = <0>;
1128		nvidia,idle-wait-delay = <17>;
1129		nvidia,elastic-limit = <16>;
1130		nvidia,term-range-adj = <6>;
1131		nvidia,xcvr-setup = <9>;
1132		nvidia,xcvr-lsfslew = <0>;
1133		nvidia,xcvr-lsrslew = <3>;
1134		nvidia,hssquelch-level = <2>;
1135		nvidia,hsdiscon-level = <5>;
1136		nvidia,xcvr-hsslew = <12>;
 
1137		status = "disabled";
1138	};
1139
1140	cpus {
1141		#address-cells = <1>;
1142		#size-cells = <0>;
1143
1144		cpu@0 {
1145			device_type = "cpu";
1146			compatible = "arm,cortex-a15";
1147			reg = <0>;
1148
1149			clocks = <&tegra_car TEGRA124_CLK_CCLK_G>,
1150				 <&tegra_car TEGRA124_CLK_CCLK_LP>,
1151				 <&tegra_car TEGRA124_CLK_PLL_X>,
1152				 <&tegra_car TEGRA124_CLK_PLL_P>,
1153				 <&dfll>;
1154			clock-names = "cpu_g", "cpu_lp", "pll_x", "pll_p", "dfll";
1155			/* FIXME: what's the actual transition time? */
1156			clock-latency = <300000>;
1157		};
1158
1159		cpu@1 {
1160			device_type = "cpu";
1161			compatible = "arm,cortex-a15";
1162			reg = <1>;
1163		};
1164
1165		cpu@2 {
1166			device_type = "cpu";
1167			compatible = "arm,cortex-a15";
1168			reg = <2>;
1169		};
1170
1171		cpu@3 {
1172			device_type = "cpu";
1173			compatible = "arm,cortex-a15";
1174			reg = <3>;
1175		};
1176	};
1177
1178	pmu {
1179		compatible = "arm,cortex-a15-pmu";
1180		interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
1181			     <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1182			     <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
1183			     <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
1184		interrupt-affinity = <&{/cpus/cpu@0}>,
1185				     <&{/cpus/cpu@1}>,
1186				     <&{/cpus/cpu@2}>,
1187				     <&{/cpus/cpu@3}>;
1188	};
1189
1190	thermal-zones {
1191		cpu {
1192			polling-delay-passive = <1000>;
1193			polling-delay = <1000>;
1194
1195			thermal-sensors =
1196				<&soctherm TEGRA124_SOCTHERM_SENSOR_CPU>;
1197
1198			trips {
1199				cpu-shutdown-trip {
1200					temperature = <103000>;
1201					hysteresis = <0>;
1202					type = "critical";
1203				};
1204				cpu_throttle_trip: throttle-trip {
1205					temperature = <100000>;
1206					hysteresis = <1000>;
1207					type = "hot";
1208				};
1209			};
1210
1211			cooling-maps {
1212				map0 {
1213					trip = <&cpu_throttle_trip>;
1214					cooling-device = <&throttle_heavy 1 1>;
1215				};
1216			};
1217		};
1218
1219		mem {
1220			polling-delay-passive = <1000>;
1221			polling-delay = <1000>;
1222
1223			thermal-sensors =
1224				<&soctherm TEGRA124_SOCTHERM_SENSOR_MEM>;
1225
1226			trips {
1227				mem-shutdown-trip {
1228					temperature = <103000>;
1229					hysteresis = <0>;
1230					type = "critical";
1231				};
 
 
 
 
 
1232			};
1233
1234			cooling-maps {
1235				/*
1236				 * There are currently no cooling maps,
1237				 * because there are no cooling devices.
1238				 */
1239			};
1240		};
1241
1242		gpu {
1243			polling-delay-passive = <1000>;
1244			polling-delay = <1000>;
1245
1246			thermal-sensors =
1247				<&soctherm TEGRA124_SOCTHERM_SENSOR_GPU>;
1248
1249			trips {
1250				gpu-shutdown-trip {
1251					temperature = <101000>;
1252					hysteresis = <0>;
1253					type = "critical";
1254				};
1255				gpu_throttle_trip: throttle-trip {
1256					temperature = <99000>;
1257					hysteresis = <1000>;
1258					type = "hot";
1259				};
1260			};
1261
1262			cooling-maps {
1263				map0 {
1264					trip = <&gpu_throttle_trip>;
1265					cooling-device = <&throttle_heavy 1 1>;
1266				};
1267			};
1268		};
1269
1270		pllx {
1271			polling-delay-passive = <1000>;
1272			polling-delay = <1000>;
1273
1274			thermal-sensors =
1275				<&soctherm TEGRA124_SOCTHERM_SENSOR_PLLX>;
1276
1277			trips {
1278				pllx-shutdown-trip {
1279					temperature = <103000>;
1280					hysteresis = <0>;
1281					type = "critical";
 
 
 
 
 
1282				};
1283			};
1284
1285			cooling-maps {
1286				/*
1287				 * There are currently no cooling maps,
1288				 * because there are no cooling devices.
1289				 */
1290			};
1291		};
1292	};
1293
1294	timer {
1295		compatible = "arm,armv7-timer";
1296		interrupts = <GIC_PPI 13
1297				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1298			     <GIC_PPI 14
1299				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1300			     <GIC_PPI 11
1301				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1302			     <GIC_PPI 10
1303				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
1304		interrupt-parent = <&gic>;
1305	};
1306};