163944891SThierry Reding// SPDX-License-Identifier: GPL-2.0
263944891SThierry Reding
363944891SThierry Reding#include <dt-bindings/clock/tegra234-clock.h>
463944891SThierry Reding#include <dt-bindings/interrupt-controller/arm-gic.h>
563944891SThierry Reding#include <dt-bindings/mailbox/tegra186-hsp.h>
6eed280dfSThierry Reding#include <dt-bindings/memory/tegra234-mc.h>
763944891SThierry Reding#include <dt-bindings/reset/tegra234-reset.h>
863944891SThierry Reding
963944891SThierry Reding/ {
1063944891SThierry Reding	compatible = "nvidia,tegra234";
1163944891SThierry Reding	interrupt-parent = <&gic>;
1263944891SThierry Reding	#address-cells = <2>;
1363944891SThierry Reding	#size-cells = <2>;
1463944891SThierry Reding
1563944891SThierry Reding	bus@0 {
1663944891SThierry Reding		compatible = "simple-bus";
1763944891SThierry Reding		#address-cells = <1>;
1863944891SThierry Reding		#size-cells = <1>;
1963944891SThierry Reding
2063944891SThierry Reding		ranges = <0x0 0x0 0x0 0x40000000>;
2163944891SThierry Reding
2263944891SThierry Reding		misc@100000 {
2363944891SThierry Reding			compatible = "nvidia,tegra234-misc";
2463944891SThierry Reding			reg = <0x00100000 0xf000>,
2563944891SThierry Reding			      <0x0010f000 0x1000>;
2663944891SThierry Reding			status = "okay";
2763944891SThierry Reding		};
2863944891SThierry Reding
29f0e12668SThierry Reding		gpio: gpio@2200000 {
30f0e12668SThierry Reding			compatible = "nvidia,tegra234-gpio";
31f0e12668SThierry Reding			reg-names = "security", "gpio";
32f0e12668SThierry Reding			reg = <0x02200000 0x10000>,
33f0e12668SThierry Reding			      <0x02210000 0x10000>;
34f0e12668SThierry Reding			interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>,
35f0e12668SThierry Reding				     <GIC_SPI 289 IRQ_TYPE_LEVEL_HIGH>,
36f0e12668SThierry Reding				     <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>,
37f0e12668SThierry Reding				     <GIC_SPI 291 IRQ_TYPE_LEVEL_HIGH>,
38f0e12668SThierry Reding				     <GIC_SPI 292 IRQ_TYPE_LEVEL_HIGH>,
39f0e12668SThierry Reding				     <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
40f0e12668SThierry Reding				     <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>,
41f0e12668SThierry Reding				     <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>,
42f0e12668SThierry Reding				     <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
43f0e12668SThierry Reding				     <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
44f0e12668SThierry Reding				     <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>,
45f0e12668SThierry Reding				     <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>,
46f0e12668SThierry Reding				     <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>,
47f0e12668SThierry Reding				     <GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH>,
48f0e12668SThierry Reding				     <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>,
49f0e12668SThierry Reding				     <GIC_SPI 303 IRQ_TYPE_LEVEL_HIGH>,
50f0e12668SThierry Reding				     <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
51f0e12668SThierry Reding				     <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>,
52f0e12668SThierry Reding				     <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>,
53f0e12668SThierry Reding				     <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>,
54f0e12668SThierry Reding				     <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>,
55f0e12668SThierry Reding				     <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>,
56f0e12668SThierry Reding				     <GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>,
57f0e12668SThierry Reding				     <GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH>,
58f0e12668SThierry Reding				     <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>,
59f0e12668SThierry Reding				     <GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH>,
60f0e12668SThierry Reding				     <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>,
61f0e12668SThierry Reding				     <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
62f0e12668SThierry Reding				     <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
63f0e12668SThierry Reding				     <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
64f0e12668SThierry Reding				     <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
65f0e12668SThierry Reding				     <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>,
66f0e12668SThierry Reding				     <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
67f0e12668SThierry Reding				     <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>,
68f0e12668SThierry Reding				     <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>,
69f0e12668SThierry Reding				     <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>,
70f0e12668SThierry Reding				     <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
71f0e12668SThierry Reding				     <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>,
72f0e12668SThierry Reding				     <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
73f0e12668SThierry Reding				     <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>,
74f0e12668SThierry Reding				     <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>,
75f0e12668SThierry Reding				     <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
76f0e12668SThierry Reding				     <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
77f0e12668SThierry Reding				     <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
78f0e12668SThierry Reding				     <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
79f0e12668SThierry Reding				     <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>,
80f0e12668SThierry Reding				     <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
81f0e12668SThierry Reding				     <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>;
82f0e12668SThierry Reding			#interrupt-cells = <2>;
83f0e12668SThierry Reding			interrupt-controller;
84f0e12668SThierry Reding			#gpio-cells = <2>;
85f0e12668SThierry Reding			gpio-controller;
86f0e12668SThierry Reding		};
87f0e12668SThierry Reding
88eed280dfSThierry Reding		mc: memory-controller@2c00000 {
89eed280dfSThierry Reding			compatible = "nvidia,tegra234-mc";
90eed280dfSThierry Reding			reg = <0x02c00000 0x100000>,
91eed280dfSThierry Reding			      <0x02b80000 0x040000>,
92eed280dfSThierry Reding			      <0x01700000 0x100000>;
93eed280dfSThierry Reding			interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
94eed280dfSThierry Reding			#interconnect-cells = <1>;
95eed280dfSThierry Reding			status = "okay";
96eed280dfSThierry Reding
97eed280dfSThierry Reding			#address-cells = <2>;
98eed280dfSThierry Reding			#size-cells = <2>;
99eed280dfSThierry Reding
100eed280dfSThierry Reding			ranges = <0x01700000 0x0 0x01700000 0x0 0x100000>,
101eed280dfSThierry Reding				 <0x02b80000 0x0 0x02b80000 0x0 0x040000>,
102eed280dfSThierry Reding				 <0x02c00000 0x0 0x02c00000 0x0 0x100000>;
103eed280dfSThierry Reding
104eed280dfSThierry Reding			/*
105eed280dfSThierry Reding			 * Bit 39 of addresses passing through the memory
106eed280dfSThierry Reding			 * controller selects the XBAR format used when memory
107eed280dfSThierry Reding			 * is accessed. This is used to transparently access
108eed280dfSThierry Reding			 * memory in the XBAR format used by the discrete GPU
109eed280dfSThierry Reding			 * (bit 39 set) or Tegra (bit 39 clear).
110eed280dfSThierry Reding			 *
111eed280dfSThierry Reding			 * As a consequence, the operating system must ensure
112eed280dfSThierry Reding			 * that bit 39 is never used implicitly, for example
113eed280dfSThierry Reding			 * via an I/O virtual address mapping of an IOMMU. If
114eed280dfSThierry Reding			 * devices require access to the XBAR switch, their
115eed280dfSThierry Reding			 * drivers must set this bit explicitly.
116eed280dfSThierry Reding			 *
117eed280dfSThierry Reding			 * Limit the DMA range for memory clients to [38:0].
118eed280dfSThierry Reding			 */
119eed280dfSThierry Reding			dma-ranges = <0x0 0x0 0x0 0x80 0x0>;
120eed280dfSThierry Reding
121eed280dfSThierry Reding			emc: external-memory-controller@2c60000 {
122eed280dfSThierry Reding				compatible = "nvidia,tegra234-emc";
123eed280dfSThierry Reding				reg = <0x0 0x02c60000 0x0 0x90000>,
124eed280dfSThierry Reding				      <0x0 0x01780000 0x0 0x80000>;
125eed280dfSThierry Reding				interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
126eed280dfSThierry Reding				clocks = <&bpmp TEGRA234_CLK_EMC>;
127eed280dfSThierry Reding				clock-names = "emc";
128eed280dfSThierry Reding				status = "okay";
129eed280dfSThierry Reding
130eed280dfSThierry Reding				#interconnect-cells = <0>;
131eed280dfSThierry Reding
132eed280dfSThierry Reding				nvidia,bpmp = <&bpmp>;
133eed280dfSThierry Reding			};
134eed280dfSThierry Reding		};
135eed280dfSThierry Reding
13663944891SThierry Reding		uarta: serial@3100000 {
13763944891SThierry Reding			compatible = "nvidia,tegra234-uart", "nvidia,tegra20-uart";
13863944891SThierry Reding			reg = <0x03100000 0x10000>;
13963944891SThierry Reding			interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
14063944891SThierry Reding			clocks = <&bpmp TEGRA234_CLK_UARTA>;
14163944891SThierry Reding			clock-names = "serial";
14263944891SThierry Reding			resets = <&bpmp TEGRA234_RESET_UARTA>;
14363944891SThierry Reding			reset-names = "serial";
14463944891SThierry Reding			status = "disabled";
14563944891SThierry Reding		};
14663944891SThierry Reding
14763944891SThierry Reding		mmc@3460000 {
14863944891SThierry Reding			compatible = "nvidia,tegra234-sdhci", "nvidia,tegra186-sdhci";
14963944891SThierry Reding			reg = <0x03460000 0x20000>;
15063944891SThierry Reding			interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
151e086d82dSMikko Perttunen			clocks = <&bpmp TEGRA234_CLK_SDMMC4>,
152e086d82dSMikko Perttunen				 <&bpmp TEGRA234_CLK_SDMMC_LEGACY_TM>;
153e086d82dSMikko Perttunen			clock-names = "sdhci", "tmclk";
154e086d82dSMikko Perttunen			assigned-clocks = <&bpmp TEGRA234_CLK_SDMMC4>,
155e086d82dSMikko Perttunen					  <&bpmp TEGRA234_CLK_PLLC4>;
156e086d82dSMikko Perttunen			assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLC4>;
15763944891SThierry Reding			resets = <&bpmp TEGRA234_RESET_SDMMC4>;
15863944891SThierry Reding			reset-names = "sdhci";
159*6de481e5SThierry Reding			interconnects = <&mc TEGRA234_MEMORY_CLIENT_SDMMCRAB &emc>,
160*6de481e5SThierry Reding					<&mc TEGRA234_MEMORY_CLIENT_SDMMCWAB &emc>;
161*6de481e5SThierry Reding			interconnect-names = "dma-mem", "write";
162e086d82dSMikko Perttunen			nvidia,pad-autocal-pull-up-offset-hs400 = <0x00>;
163e086d82dSMikko Perttunen			nvidia,pad-autocal-pull-down-offset-hs400 = <0x00>;
164e086d82dSMikko Perttunen			nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x0a>;
165e086d82dSMikko Perttunen			nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x0a>;
166e086d82dSMikko Perttunen			nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x0a>;
167e086d82dSMikko Perttunen			nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x0a>;
168e086d82dSMikko Perttunen			nvidia,default-tap = <0x8>;
169e086d82dSMikko Perttunen			nvidia,default-trim = <0x14>;
170e086d82dSMikko Perttunen			nvidia,dqs-trim = <40>;
171e086d82dSMikko Perttunen			supports-cqe;
17263944891SThierry Reding			status = "disabled";
17363944891SThierry Reding		};
17463944891SThierry Reding
17563944891SThierry Reding		fuse@3810000 {
17663944891SThierry Reding			compatible = "nvidia,tegra234-efuse";
17763944891SThierry Reding			reg = <0x03810000 0x10000>;
17863944891SThierry Reding			clocks = <&bpmp TEGRA234_CLK_FUSE>;
17963944891SThierry Reding			clock-names = "fuse";
18063944891SThierry Reding		};
18163944891SThierry Reding
18263944891SThierry Reding		hsp_top0: hsp@3c00000 {
18363944891SThierry Reding			compatible = "nvidia,tegra234-hsp", "nvidia,tegra194-hsp";
18463944891SThierry Reding			reg = <0x03c00000 0xa0000>;
18563944891SThierry Reding			interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>,
18663944891SThierry Reding				     <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
18763944891SThierry Reding				     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
18863944891SThierry Reding				     <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
18963944891SThierry Reding				     <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
19063944891SThierry Reding				     <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
19163944891SThierry Reding				     <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
19263944891SThierry Reding				     <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
19363944891SThierry Reding				     <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
19463944891SThierry Reding			interrupt-names = "doorbell", "shared0", "shared1", "shared2",
19563944891SThierry Reding					  "shared3", "shared4", "shared5", "shared6",
19663944891SThierry Reding					  "shared7";
19763944891SThierry Reding			#mbox-cells = <2>;
19863944891SThierry Reding		};
19963944891SThierry Reding
20063944891SThierry Reding		hsp_aon: hsp@c150000 {
20163944891SThierry Reding			compatible = "nvidia,tegra234-hsp", "nvidia,tegra194-hsp";
20263944891SThierry Reding			reg = <0x0c150000 0x90000>;
20363944891SThierry Reding			interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
20463944891SThierry Reding				     <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
20563944891SThierry Reding				     <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
20663944891SThierry Reding				     <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
20763944891SThierry Reding			/*
20863944891SThierry Reding			 * Shared interrupt 0 is routed only to AON/SPE, so
20963944891SThierry Reding			 * we only have 4 shared interrupts for the CCPLEX.
21063944891SThierry Reding			 */
21163944891SThierry Reding			interrupt-names = "shared1", "shared2", "shared3", "shared4";
21263944891SThierry Reding			#mbox-cells = <2>;
21363944891SThierry Reding		};
21463944891SThierry Reding
21563944891SThierry Reding		rtc@c2a0000 {
21663944891SThierry Reding			compatible = "nvidia,tegra234-rtc", "nvidia,tegra20-rtc";
21763944891SThierry Reding			reg = <0x0c2a0000 0x10000>;
21863944891SThierry Reding			interrupt-parent = <&pmc>;
21963944891SThierry Reding			interrupts = <73 IRQ_TYPE_LEVEL_HIGH>;
220e537addeSMikko Perttunen			clocks = <&bpmp TEGRA234_CLK_CLK_32K>;
221e537addeSMikko Perttunen			clock-names = "rtc";
22263944891SThierry Reding			status = "disabled";
22363944891SThierry Reding		};
22463944891SThierry Reding
225f0e12668SThierry Reding		gpio_aon: gpio@c2f0000 {
226f0e12668SThierry Reding			compatible = "nvidia,tegra234-gpio-aon";
227f0e12668SThierry Reding			reg-names = "security", "gpio";
228f0e12668SThierry Reding			reg = <0x0c2f0000 0x1000>,
229f0e12668SThierry Reding			      <0x0c2f1000 0x1000>;
230f0e12668SThierry Reding			interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
231f0e12668SThierry Reding				     <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
232f0e12668SThierry Reding				     <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
233f0e12668SThierry Reding				     <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
234f0e12668SThierry Reding			#interrupt-cells = <2>;
235f0e12668SThierry Reding			interrupt-controller;
236f0e12668SThierry Reding			#gpio-cells = <2>;
237f0e12668SThierry Reding			gpio-controller;
238f0e12668SThierry Reding		};
239f0e12668SThierry Reding
24063944891SThierry Reding		pmc: pmc@c360000 {
24163944891SThierry Reding			compatible = "nvidia,tegra234-pmc";
24263944891SThierry Reding			reg = <0x0c360000 0x10000>,
24363944891SThierry Reding			      <0x0c370000 0x10000>,
24463944891SThierry Reding			      <0x0c380000 0x10000>,
24563944891SThierry Reding			      <0x0c390000 0x10000>,
24663944891SThierry Reding			      <0x0c3a0000 0x10000>;
24763944891SThierry Reding			reg-names = "pmc", "wake", "aotag", "scratch", "misc";
24863944891SThierry Reding
24963944891SThierry Reding			#interrupt-cells = <2>;
25063944891SThierry Reding			interrupt-controller;
25163944891SThierry Reding		};
25263944891SThierry Reding
25363944891SThierry Reding		gic: interrupt-controller@f400000 {
25463944891SThierry Reding			compatible = "arm,gic-v3";
25563944891SThierry Reding			reg = <0x0f400000 0x010000>, /* GICD */
25663944891SThierry Reding			      <0x0f440000 0x200000>; /* GICR */
25763944891SThierry Reding			interrupt-parent = <&gic>;
25863944891SThierry Reding			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
25963944891SThierry Reding
26063944891SThierry Reding			#redistributor-regions = <1>;
26163944891SThierry Reding			#interrupt-cells = <3>;
26263944891SThierry Reding			interrupt-controller;
26363944891SThierry Reding		};
26463944891SThierry Reding	};
26563944891SThierry Reding
2667fa30752SThierry Reding	sram@40000000 {
26763944891SThierry Reding		compatible = "nvidia,tegra234-sysram", "mmio-sram";
26898094be1SMikko Perttunen		reg = <0x0 0x40000000 0x0 0x80000>;
26963944891SThierry Reding		#address-cells = <1>;
27063944891SThierry Reding		#size-cells = <1>;
27198094be1SMikko Perttunen		ranges = <0x0 0x0 0x40000000 0x80000>;
27263944891SThierry Reding
27398094be1SMikko Perttunen		cpu_bpmp_tx: sram@70000 {
27498094be1SMikko Perttunen			reg = <0x70000 0x1000>;
27563944891SThierry Reding			label = "cpu-bpmp-tx";
27663944891SThierry Reding			pool;
27763944891SThierry Reding		};
27863944891SThierry Reding
27998094be1SMikko Perttunen		cpu_bpmp_rx: sram@71000 {
28098094be1SMikko Perttunen			reg = <0x71000 0x1000>;
28163944891SThierry Reding			label = "cpu-bpmp-rx";
28263944891SThierry Reding			pool;
28363944891SThierry Reding		};
28463944891SThierry Reding	};
28563944891SThierry Reding
28663944891SThierry Reding	bpmp: bpmp {
28763944891SThierry Reding		compatible = "nvidia,tegra234-bpmp", "nvidia,tegra186-bpmp";
28863944891SThierry Reding		mboxes = <&hsp_top0 TEGRA_HSP_MBOX_TYPE_DB
28963944891SThierry Reding				    TEGRA_HSP_DB_MASTER_BPMP>;
2907fa30752SThierry Reding		shmem = <&cpu_bpmp_tx>, <&cpu_bpmp_rx>;
29163944891SThierry Reding		#clock-cells = <1>;
29263944891SThierry Reding		#reset-cells = <1>;
29363944891SThierry Reding		#power-domain-cells = <1>;
294*6de481e5SThierry Reding		interconnects = <&mc TEGRA234_MEMORY_CLIENT_BPMPR &emc>,
295*6de481e5SThierry Reding				<&mc TEGRA234_MEMORY_CLIENT_BPMPW &emc>,
296*6de481e5SThierry Reding				<&mc TEGRA234_MEMORY_CLIENT_BPMPDMAR &emc>,
297*6de481e5SThierry Reding				<&mc TEGRA234_MEMORY_CLIENT_BPMPDMAW &emc>;
298*6de481e5SThierry Reding		interconnect-names = "read", "write", "dma-mem", "dma-write";
29963944891SThierry Reding
30063944891SThierry Reding		bpmp_i2c: i2c {
30163944891SThierry Reding			compatible = "nvidia,tegra186-bpmp-i2c";
30263944891SThierry Reding			nvidia,bpmp-bus-id = <5>;
30363944891SThierry Reding			#address-cells = <1>;
30463944891SThierry Reding			#size-cells = <0>;
30563944891SThierry Reding		};
30663944891SThierry Reding	};
30763944891SThierry Reding
30863944891SThierry Reding	cpus {
30963944891SThierry Reding		#address-cells = <1>;
31063944891SThierry Reding		#size-cells = <0>;
31163944891SThierry Reding
312a12cf5c3SThierry Reding		cpu0_0: cpu@0 {
313a12cf5c3SThierry Reding			compatible = "arm,cortex-a78";
31463944891SThierry Reding			device_type = "cpu";
315a12cf5c3SThierry Reding			reg = <0x00000>;
31663944891SThierry Reding
31763944891SThierry Reding			enable-method = "psci";
318a12cf5c3SThierry Reding
319a12cf5c3SThierry Reding			i-cache-size = <65536>;
320a12cf5c3SThierry Reding			i-cache-line-size = <64>;
321a12cf5c3SThierry Reding			i-cache-sets = <256>;
322a12cf5c3SThierry Reding			d-cache-size = <65536>;
323a12cf5c3SThierry Reding			d-cache-line-size = <64>;
324a12cf5c3SThierry Reding			d-cache-sets = <256>;
325a12cf5c3SThierry Reding			next-level-cache = <&l2c0_0>;
32663944891SThierry Reding		};
327a12cf5c3SThierry Reding
328a12cf5c3SThierry Reding		cpu0_1: cpu@100 {
329a12cf5c3SThierry Reding			compatible = "arm,cortex-a78";
330a12cf5c3SThierry Reding			device_type = "cpu";
331a12cf5c3SThierry Reding			reg = <0x00100>;
332a12cf5c3SThierry Reding
333a12cf5c3SThierry Reding			enable-method = "psci";
334a12cf5c3SThierry Reding
335a12cf5c3SThierry Reding			i-cache-size = <65536>;
336a12cf5c3SThierry Reding			i-cache-line-size = <64>;
337a12cf5c3SThierry Reding			i-cache-sets = <256>;
338a12cf5c3SThierry Reding			d-cache-size = <65536>;
339a12cf5c3SThierry Reding			d-cache-line-size = <64>;
340a12cf5c3SThierry Reding			d-cache-sets = <256>;
341a12cf5c3SThierry Reding			next-level-cache = <&l2c0_1>;
342a12cf5c3SThierry Reding		};
343a12cf5c3SThierry Reding
344a12cf5c3SThierry Reding		cpu0_2: cpu@200 {
345a12cf5c3SThierry Reding			compatible = "arm,cortex-a78";
346a12cf5c3SThierry Reding			device_type = "cpu";
347a12cf5c3SThierry Reding			reg = <0x00200>;
348a12cf5c3SThierry Reding
349a12cf5c3SThierry Reding			enable-method = "psci";
350a12cf5c3SThierry Reding
351a12cf5c3SThierry Reding			i-cache-size = <65536>;
352a12cf5c3SThierry Reding			i-cache-line-size = <64>;
353a12cf5c3SThierry Reding			i-cache-sets = <256>;
354a12cf5c3SThierry Reding			d-cache-size = <65536>;
355a12cf5c3SThierry Reding			d-cache-line-size = <64>;
356a12cf5c3SThierry Reding			d-cache-sets = <256>;
357a12cf5c3SThierry Reding			next-level-cache = <&l2c0_2>;
358a12cf5c3SThierry Reding		};
359a12cf5c3SThierry Reding
360a12cf5c3SThierry Reding		cpu0_3: cpu@300 {
361a12cf5c3SThierry Reding			compatible = "arm,cortex-a78";
362a12cf5c3SThierry Reding			device_type = "cpu";
363a12cf5c3SThierry Reding			reg = <0x00300>;
364a12cf5c3SThierry Reding
365a12cf5c3SThierry Reding			enable-method = "psci";
366a12cf5c3SThierry Reding
367a12cf5c3SThierry Reding			i-cache-size = <65536>;
368a12cf5c3SThierry Reding			i-cache-line-size = <64>;
369a12cf5c3SThierry Reding			i-cache-sets = <256>;
370a12cf5c3SThierry Reding			d-cache-size = <65536>;
371a12cf5c3SThierry Reding			d-cache-line-size = <64>;
372a12cf5c3SThierry Reding			d-cache-sets = <256>;
373a12cf5c3SThierry Reding			next-level-cache = <&l2c0_3>;
374a12cf5c3SThierry Reding		};
375a12cf5c3SThierry Reding
376a12cf5c3SThierry Reding		cpu1_0: cpu@10000 {
377a12cf5c3SThierry Reding			compatible = "arm,cortex-a78";
378a12cf5c3SThierry Reding			device_type = "cpu";
379a12cf5c3SThierry Reding			reg = <0x10000>;
380a12cf5c3SThierry Reding
381a12cf5c3SThierry Reding			enable-method = "psci";
382a12cf5c3SThierry Reding
383a12cf5c3SThierry Reding			i-cache-size = <65536>;
384a12cf5c3SThierry Reding			i-cache-line-size = <64>;
385a12cf5c3SThierry Reding			i-cache-sets = <256>;
386a12cf5c3SThierry Reding			d-cache-size = <65536>;
387a12cf5c3SThierry Reding			d-cache-line-size = <64>;
388a12cf5c3SThierry Reding			d-cache-sets = <256>;
389a12cf5c3SThierry Reding			next-level-cache = <&l2c1_0>;
390a12cf5c3SThierry Reding		};
391a12cf5c3SThierry Reding
392a12cf5c3SThierry Reding		cpu1_1: cpu@10100 {
393a12cf5c3SThierry Reding			compatible = "arm,cortex-a78";
394a12cf5c3SThierry Reding			device_type = "cpu";
395a12cf5c3SThierry Reding			reg = <0x10100>;
396a12cf5c3SThierry Reding
397a12cf5c3SThierry Reding			enable-method = "psci";
398a12cf5c3SThierry Reding
399a12cf5c3SThierry Reding			i-cache-size = <65536>;
400a12cf5c3SThierry Reding			i-cache-line-size = <64>;
401a12cf5c3SThierry Reding			i-cache-sets = <256>;
402a12cf5c3SThierry Reding			d-cache-size = <65536>;
403a12cf5c3SThierry Reding			d-cache-line-size = <64>;
404a12cf5c3SThierry Reding			d-cache-sets = <256>;
405a12cf5c3SThierry Reding			next-level-cache = <&l2c1_1>;
406a12cf5c3SThierry Reding		};
407a12cf5c3SThierry Reding
408a12cf5c3SThierry Reding		cpu1_2: cpu@10200 {
409a12cf5c3SThierry Reding			compatible = "arm,cortex-a78";
410a12cf5c3SThierry Reding			device_type = "cpu";
411a12cf5c3SThierry Reding			reg = <0x10200>;
412a12cf5c3SThierry Reding
413a12cf5c3SThierry Reding			enable-method = "psci";
414a12cf5c3SThierry Reding
415a12cf5c3SThierry Reding			i-cache-size = <65536>;
416a12cf5c3SThierry Reding			i-cache-line-size = <64>;
417a12cf5c3SThierry Reding			i-cache-sets = <256>;
418a12cf5c3SThierry Reding			d-cache-size = <65536>;
419a12cf5c3SThierry Reding			d-cache-line-size = <64>;
420a12cf5c3SThierry Reding			d-cache-sets = <256>;
421a12cf5c3SThierry Reding			next-level-cache = <&l2c1_2>;
422a12cf5c3SThierry Reding		};
423a12cf5c3SThierry Reding
424a12cf5c3SThierry Reding		cpu1_3: cpu@10300 {
425a12cf5c3SThierry Reding			compatible = "arm,cortex-a78";
426a12cf5c3SThierry Reding			device_type = "cpu";
427a12cf5c3SThierry Reding			reg = <0x10300>;
428a12cf5c3SThierry Reding
429a12cf5c3SThierry Reding			enable-method = "psci";
430a12cf5c3SThierry Reding
431a12cf5c3SThierry Reding			i-cache-size = <65536>;
432a12cf5c3SThierry Reding			i-cache-line-size = <64>;
433a12cf5c3SThierry Reding			i-cache-sets = <256>;
434a12cf5c3SThierry Reding			d-cache-size = <65536>;
435a12cf5c3SThierry Reding			d-cache-line-size = <64>;
436a12cf5c3SThierry Reding			d-cache-sets = <256>;
437a12cf5c3SThierry Reding			next-level-cache = <&l2c1_3>;
438a12cf5c3SThierry Reding		};
439a12cf5c3SThierry Reding
440a12cf5c3SThierry Reding		cpu2_0: cpu@20000 {
441a12cf5c3SThierry Reding			compatible = "arm,cortex-a78";
442a12cf5c3SThierry Reding			device_type = "cpu";
443a12cf5c3SThierry Reding			reg = <0x20000>;
444a12cf5c3SThierry Reding
445a12cf5c3SThierry Reding			enable-method = "psci";
446a12cf5c3SThierry Reding
447a12cf5c3SThierry Reding			i-cache-size = <65536>;
448a12cf5c3SThierry Reding			i-cache-line-size = <64>;
449a12cf5c3SThierry Reding			i-cache-sets = <256>;
450a12cf5c3SThierry Reding			d-cache-size = <65536>;
451a12cf5c3SThierry Reding			d-cache-line-size = <64>;
452a12cf5c3SThierry Reding			d-cache-sets = <256>;
453a12cf5c3SThierry Reding			next-level-cache = <&l2c2_0>;
454a12cf5c3SThierry Reding		};
455a12cf5c3SThierry Reding
456a12cf5c3SThierry Reding		cpu2_1: cpu@20100 {
457a12cf5c3SThierry Reding			compatible = "arm,cortex-a78";
458a12cf5c3SThierry Reding			device_type = "cpu";
459a12cf5c3SThierry Reding			reg = <0x20100>;
460a12cf5c3SThierry Reding
461a12cf5c3SThierry Reding			enable-method = "psci";
462a12cf5c3SThierry Reding
463a12cf5c3SThierry Reding			i-cache-size = <65536>;
464a12cf5c3SThierry Reding			i-cache-line-size = <64>;
465a12cf5c3SThierry Reding			i-cache-sets = <256>;
466a12cf5c3SThierry Reding			d-cache-size = <65536>;
467a12cf5c3SThierry Reding			d-cache-line-size = <64>;
468a12cf5c3SThierry Reding			d-cache-sets = <256>;
469a12cf5c3SThierry Reding			next-level-cache = <&l2c2_1>;
470a12cf5c3SThierry Reding		};
471a12cf5c3SThierry Reding
472a12cf5c3SThierry Reding		cpu2_2: cpu@20200 {
473a12cf5c3SThierry Reding			compatible = "arm,cortex-a78";
474a12cf5c3SThierry Reding			device_type = "cpu";
475a12cf5c3SThierry Reding			reg = <0x20200>;
476a12cf5c3SThierry Reding
477a12cf5c3SThierry Reding			enable-method = "psci";
478a12cf5c3SThierry Reding
479a12cf5c3SThierry Reding			i-cache-size = <65536>;
480a12cf5c3SThierry Reding			i-cache-line-size = <64>;
481a12cf5c3SThierry Reding			i-cache-sets = <256>;
482a12cf5c3SThierry Reding			d-cache-size = <65536>;
483a12cf5c3SThierry Reding			d-cache-line-size = <64>;
484a12cf5c3SThierry Reding			d-cache-sets = <256>;
485a12cf5c3SThierry Reding			next-level-cache = <&l2c2_2>;
486a12cf5c3SThierry Reding		};
487a12cf5c3SThierry Reding
488a12cf5c3SThierry Reding		cpu2_3: cpu@20300 {
489a12cf5c3SThierry Reding			compatible = "arm,cortex-a78";
490a12cf5c3SThierry Reding			device_type = "cpu";
491a12cf5c3SThierry Reding			reg = <0x20300>;
492a12cf5c3SThierry Reding
493a12cf5c3SThierry Reding			enable-method = "psci";
494a12cf5c3SThierry Reding
495a12cf5c3SThierry Reding			i-cache-size = <65536>;
496a12cf5c3SThierry Reding			i-cache-line-size = <64>;
497a12cf5c3SThierry Reding			i-cache-sets = <256>;
498a12cf5c3SThierry Reding			d-cache-size = <65536>;
499a12cf5c3SThierry Reding			d-cache-line-size = <64>;
500a12cf5c3SThierry Reding			d-cache-sets = <256>;
501a12cf5c3SThierry Reding			next-level-cache = <&l2c2_3>;
502a12cf5c3SThierry Reding		};
503a12cf5c3SThierry Reding
504a12cf5c3SThierry Reding		cpu-map {
505a12cf5c3SThierry Reding			cluster0 {
506a12cf5c3SThierry Reding				core0 {
507a12cf5c3SThierry Reding					cpu = <&cpu0_0>;
508a12cf5c3SThierry Reding				};
509a12cf5c3SThierry Reding
510a12cf5c3SThierry Reding				core1 {
511a12cf5c3SThierry Reding					cpu = <&cpu0_1>;
512a12cf5c3SThierry Reding				};
513a12cf5c3SThierry Reding
514a12cf5c3SThierry Reding				core2 {
515a12cf5c3SThierry Reding					cpu = <&cpu0_2>;
516a12cf5c3SThierry Reding				};
517a12cf5c3SThierry Reding
518a12cf5c3SThierry Reding				core3 {
519a12cf5c3SThierry Reding					cpu = <&cpu0_3>;
520a12cf5c3SThierry Reding				};
521a12cf5c3SThierry Reding			};
522a12cf5c3SThierry Reding
523a12cf5c3SThierry Reding			cluster1 {
524a12cf5c3SThierry Reding				core0 {
525a12cf5c3SThierry Reding					cpu = <&cpu1_0>;
526a12cf5c3SThierry Reding				};
527a12cf5c3SThierry Reding
528a12cf5c3SThierry Reding				core1 {
529a12cf5c3SThierry Reding					cpu = <&cpu1_1>;
530a12cf5c3SThierry Reding				};
531a12cf5c3SThierry Reding
532a12cf5c3SThierry Reding				core2 {
533a12cf5c3SThierry Reding					cpu = <&cpu1_2>;
534a12cf5c3SThierry Reding				};
535a12cf5c3SThierry Reding
536a12cf5c3SThierry Reding				core3 {
537a12cf5c3SThierry Reding					cpu = <&cpu1_3>;
538a12cf5c3SThierry Reding				};
539a12cf5c3SThierry Reding			};
540a12cf5c3SThierry Reding
541a12cf5c3SThierry Reding			cluster2 {
542a12cf5c3SThierry Reding				core0 {
543a12cf5c3SThierry Reding					cpu = <&cpu2_0>;
544a12cf5c3SThierry Reding				};
545a12cf5c3SThierry Reding
546a12cf5c3SThierry Reding				core1 {
547a12cf5c3SThierry Reding					cpu = <&cpu2_1>;
548a12cf5c3SThierry Reding				};
549a12cf5c3SThierry Reding
550a12cf5c3SThierry Reding				core2 {
551a12cf5c3SThierry Reding					cpu = <&cpu2_2>;
552a12cf5c3SThierry Reding				};
553a12cf5c3SThierry Reding
554a12cf5c3SThierry Reding				core3 {
555a12cf5c3SThierry Reding					cpu = <&cpu2_3>;
556a12cf5c3SThierry Reding				};
557a12cf5c3SThierry Reding			};
558a12cf5c3SThierry Reding		};
559a12cf5c3SThierry Reding
560a12cf5c3SThierry Reding		l2c0_0: l2-cache00 {
561a12cf5c3SThierry Reding			cache-size = <262144>;
562a12cf5c3SThierry Reding			cache-line-size = <64>;
563a12cf5c3SThierry Reding			cache-sets = <512>;
564a12cf5c3SThierry Reding			cache-unified;
565a12cf5c3SThierry Reding			next-level-cache = <&l3c0>;
566a12cf5c3SThierry Reding		};
567a12cf5c3SThierry Reding
568a12cf5c3SThierry Reding		l2c0_1: l2-cache01 {
569a12cf5c3SThierry Reding			cache-size = <262144>;
570a12cf5c3SThierry Reding			cache-line-size = <64>;
571a12cf5c3SThierry Reding			cache-sets = <512>;
572a12cf5c3SThierry Reding			cache-unified;
573a12cf5c3SThierry Reding			next-level-cache = <&l3c0>;
574a12cf5c3SThierry Reding		};
575a12cf5c3SThierry Reding
576a12cf5c3SThierry Reding		l2c0_2: l2-cache02 {
577a12cf5c3SThierry Reding			cache-size = <262144>;
578a12cf5c3SThierry Reding			cache-line-size = <64>;
579a12cf5c3SThierry Reding			cache-sets = <512>;
580a12cf5c3SThierry Reding			cache-unified;
581a12cf5c3SThierry Reding			next-level-cache = <&l3c0>;
582a12cf5c3SThierry Reding		};
583a12cf5c3SThierry Reding
584a12cf5c3SThierry Reding		l2c0_3: l2-cache03 {
585a12cf5c3SThierry Reding			cache-size = <262144>;
586a12cf5c3SThierry Reding			cache-line-size = <64>;
587a12cf5c3SThierry Reding			cache-sets = <512>;
588a12cf5c3SThierry Reding			cache-unified;
589a12cf5c3SThierry Reding			next-level-cache = <&l3c0>;
590a12cf5c3SThierry Reding		};
591a12cf5c3SThierry Reding
592a12cf5c3SThierry Reding		l2c1_0: l2-cache10 {
593a12cf5c3SThierry Reding			cache-size = <262144>;
594a12cf5c3SThierry Reding			cache-line-size = <64>;
595a12cf5c3SThierry Reding			cache-sets = <512>;
596a12cf5c3SThierry Reding			cache-unified;
597a12cf5c3SThierry Reding			next-level-cache = <&l3c1>;
598a12cf5c3SThierry Reding		};
599a12cf5c3SThierry Reding
600a12cf5c3SThierry Reding		l2c1_1: l2-cache11 {
601a12cf5c3SThierry Reding			cache-size = <262144>;
602a12cf5c3SThierry Reding			cache-line-size = <64>;
603a12cf5c3SThierry Reding			cache-sets = <512>;
604a12cf5c3SThierry Reding			cache-unified;
605a12cf5c3SThierry Reding			next-level-cache = <&l3c1>;
606a12cf5c3SThierry Reding		};
607a12cf5c3SThierry Reding
608a12cf5c3SThierry Reding		l2c1_2: l2-cache12 {
609a12cf5c3SThierry Reding			cache-size = <262144>;
610a12cf5c3SThierry Reding			cache-line-size = <64>;
611a12cf5c3SThierry Reding			cache-sets = <512>;
612a12cf5c3SThierry Reding			cache-unified;
613a12cf5c3SThierry Reding			next-level-cache = <&l3c1>;
614a12cf5c3SThierry Reding		};
615a12cf5c3SThierry Reding
616a12cf5c3SThierry Reding		l2c1_3: l2-cache13 {
617a12cf5c3SThierry Reding			cache-size = <262144>;
618a12cf5c3SThierry Reding			cache-line-size = <64>;
619a12cf5c3SThierry Reding			cache-sets = <512>;
620a12cf5c3SThierry Reding			cache-unified;
621a12cf5c3SThierry Reding			next-level-cache = <&l3c1>;
622a12cf5c3SThierry Reding		};
623a12cf5c3SThierry Reding
624a12cf5c3SThierry Reding		l2c2_0: l2-cache20 {
625a12cf5c3SThierry Reding			cache-size = <262144>;
626a12cf5c3SThierry Reding			cache-line-size = <64>;
627a12cf5c3SThierry Reding			cache-sets = <512>;
628a12cf5c3SThierry Reding			cache-unified;
629a12cf5c3SThierry Reding			next-level-cache = <&l3c2>;
630a12cf5c3SThierry Reding		};
631a12cf5c3SThierry Reding
632a12cf5c3SThierry Reding		l2c2_1: l2-cache21 {
633a12cf5c3SThierry Reding			cache-size = <262144>;
634a12cf5c3SThierry Reding			cache-line-size = <64>;
635a12cf5c3SThierry Reding			cache-sets = <512>;
636a12cf5c3SThierry Reding			cache-unified;
637a12cf5c3SThierry Reding			next-level-cache = <&l3c2>;
638a12cf5c3SThierry Reding		};
639a12cf5c3SThierry Reding
640a12cf5c3SThierry Reding		l2c2_2: l2-cache22 {
641a12cf5c3SThierry Reding			cache-size = <262144>;
642a12cf5c3SThierry Reding			cache-line-size = <64>;
643a12cf5c3SThierry Reding			cache-sets = <512>;
644a12cf5c3SThierry Reding			cache-unified;
645a12cf5c3SThierry Reding			next-level-cache = <&l3c2>;
646a12cf5c3SThierry Reding		};
647a12cf5c3SThierry Reding
648a12cf5c3SThierry Reding		l2c2_3: l2-cache23 {
649a12cf5c3SThierry Reding			cache-size = <262144>;
650a12cf5c3SThierry Reding			cache-line-size = <64>;
651a12cf5c3SThierry Reding			cache-sets = <512>;
652a12cf5c3SThierry Reding			cache-unified;
653a12cf5c3SThierry Reding			next-level-cache = <&l3c2>;
654a12cf5c3SThierry Reding		};
655a12cf5c3SThierry Reding
656a12cf5c3SThierry Reding		l3c0: l3-cache0 {
657a12cf5c3SThierry Reding			cache-size = <2097152>;
658a12cf5c3SThierry Reding			cache-line-size = <64>;
659a12cf5c3SThierry Reding			cache-sets = <2048>;
660a12cf5c3SThierry Reding		};
661a12cf5c3SThierry Reding
662a12cf5c3SThierry Reding		l3c1: l3-cache1 {
663a12cf5c3SThierry Reding			cache-size = <2097152>;
664a12cf5c3SThierry Reding			cache-line-size = <64>;
665a12cf5c3SThierry Reding			cache-sets = <2048>;
666a12cf5c3SThierry Reding		};
667a12cf5c3SThierry Reding
668a12cf5c3SThierry Reding		l3c2: l3-cache2 {
669a12cf5c3SThierry Reding			cache-size = <2097152>;
670a12cf5c3SThierry Reding			cache-line-size = <64>;
671a12cf5c3SThierry Reding			cache-sets = <2048>;
672a12cf5c3SThierry Reding		};
673a12cf5c3SThierry Reding	};
674a12cf5c3SThierry Reding
675a12cf5c3SThierry Reding	pmu {
676a12cf5c3SThierry Reding		compatible = "arm,cortex-a78-pmu";
677a12cf5c3SThierry Reding		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
678a12cf5c3SThierry Reding		status = "okay";
67963944891SThierry Reding	};
68063944891SThierry Reding
68163944891SThierry Reding	psci {
68263944891SThierry Reding		compatible = "arm,psci-1.0";
68363944891SThierry Reding		status = "okay";
68463944891SThierry Reding		method = "smc";
68563944891SThierry Reding	};
68663944891SThierry Reding
68706ad2ec4SMikko Perttunen	tcu: serial {
68806ad2ec4SMikko Perttunen		compatible = "nvidia,tegra234-tcu", "nvidia,tegra194-tcu";
68906ad2ec4SMikko Perttunen		mboxes = <&hsp_top0 TEGRA_HSP_MBOX_TYPE_SM TEGRA_HSP_SM_RX(0)>,
69006ad2ec4SMikko Perttunen			 <&hsp_aon TEGRA_HSP_MBOX_TYPE_SM TEGRA_HSP_SM_TX(1)>;
69106ad2ec4SMikko Perttunen		mbox-names = "rx", "tx";
69206ad2ec4SMikko Perttunen		status = "disabled";
69306ad2ec4SMikko Perttunen	};
69406ad2ec4SMikko Perttunen
69563944891SThierry Reding	timer {
69663944891SThierry Reding		compatible = "arm,armv8-timer";
69763944891SThierry Reding		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
69863944891SThierry Reding			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
69963944891SThierry Reding			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
70063944891SThierry Reding			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
70163944891SThierry Reding		interrupt-parent = <&gic>;
70263944891SThierry Reding		always-on;
70363944891SThierry Reding	};
70463944891SThierry Reding};
705