xref: /freebsd-src/sys/contrib/device-tree/src/arm64/nvidia/tegra186.dtsi (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/tegra186-clock.h>
3c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/tegra186-gpio.h>
4c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
5c66ec88fSEmmanuel Vadot#include <dt-bindings/mailbox/tegra186-hsp.h>
6c66ec88fSEmmanuel Vadot#include <dt-bindings/memory/tegra186-mc.h>
7c66ec88fSEmmanuel Vadot#include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h>
8c66ec88fSEmmanuel Vadot#include <dt-bindings/power/tegra186-powergate.h>
9c66ec88fSEmmanuel Vadot#include <dt-bindings/reset/tegra186-reset.h>
10c66ec88fSEmmanuel Vadot#include <dt-bindings/thermal/tegra186-bpmp-thermal.h>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadot/ {
13c66ec88fSEmmanuel Vadot	compatible = "nvidia,tegra186";
14c66ec88fSEmmanuel Vadot	interrupt-parent = <&gic>;
15c66ec88fSEmmanuel Vadot	#address-cells = <2>;
16c66ec88fSEmmanuel Vadot	#size-cells = <2>;
17c66ec88fSEmmanuel Vadot
18c66ec88fSEmmanuel Vadot	misc@100000 {
19c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-misc";
20c66ec88fSEmmanuel Vadot		reg = <0x0 0x00100000 0x0 0xf000>,
21c66ec88fSEmmanuel Vadot		      <0x0 0x0010f000 0x0 0x1000>;
22c66ec88fSEmmanuel Vadot	};
23c66ec88fSEmmanuel Vadot
24c66ec88fSEmmanuel Vadot	gpio: gpio@2200000 {
25c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-gpio";
26c66ec88fSEmmanuel Vadot		reg-names = "security", "gpio";
27c66ec88fSEmmanuel Vadot		reg = <0x0 0x2200000 0x0 0x10000>,
28c66ec88fSEmmanuel Vadot		      <0x0 0x2210000 0x0 0x10000>;
29c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI  47 IRQ_TYPE_LEVEL_HIGH>,
30c66ec88fSEmmanuel Vadot			     <GIC_SPI  50 IRQ_TYPE_LEVEL_HIGH>,
31c66ec88fSEmmanuel Vadot			     <GIC_SPI  53 IRQ_TYPE_LEVEL_HIGH>,
32c66ec88fSEmmanuel Vadot			     <GIC_SPI  56 IRQ_TYPE_LEVEL_HIGH>,
33c66ec88fSEmmanuel Vadot			     <GIC_SPI  59 IRQ_TYPE_LEVEL_HIGH>,
34c66ec88fSEmmanuel Vadot			     <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
35c66ec88fSEmmanuel Vadot		#interrupt-cells = <2>;
36c66ec88fSEmmanuel Vadot		interrupt-controller;
37c66ec88fSEmmanuel Vadot		#gpio-cells = <2>;
38c66ec88fSEmmanuel Vadot		gpio-controller;
39c66ec88fSEmmanuel Vadot	};
40c66ec88fSEmmanuel Vadot
41c66ec88fSEmmanuel Vadot	ethernet@2490000 {
42c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-eqos",
43c66ec88fSEmmanuel Vadot			     "snps,dwc-qos-ethernet-4.10";
44c66ec88fSEmmanuel Vadot		reg = <0x0 0x02490000 0x0 0x10000>;
45c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>, /* common */
46c66ec88fSEmmanuel Vadot			     <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>, /* power */
47c66ec88fSEmmanuel Vadot			     <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>, /* rx0 */
48c66ec88fSEmmanuel Vadot			     <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>, /* tx0 */
49c66ec88fSEmmanuel Vadot			     <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>, /* rx1 */
50c66ec88fSEmmanuel Vadot			     <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>, /* tx1 */
51c66ec88fSEmmanuel Vadot			     <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>, /* rx2 */
52c66ec88fSEmmanuel Vadot			     <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, /* tx2 */
53c66ec88fSEmmanuel Vadot			     <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>, /* rx3 */
54c66ec88fSEmmanuel Vadot			     <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; /* tx3 */
55c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_AXI_CBB>,
56c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_EQOS_AXI>,
57c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_EQOS_RX>,
58c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_EQOS_TX>,
59c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_EQOS_PTP_REF>;
60c66ec88fSEmmanuel Vadot		clock-names = "master_bus", "slave_bus", "rx", "tx", "ptp_ref";
61c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_EQOS>;
62c66ec88fSEmmanuel Vadot		reset-names = "eqos";
63c66ec88fSEmmanuel Vadot		interconnects = <&mc TEGRA186_MEMORY_CLIENT_EQOSR &emc>,
64c66ec88fSEmmanuel Vadot				<&mc TEGRA186_MEMORY_CLIENT_EQOSW &emc>;
65c66ec88fSEmmanuel Vadot		interconnect-names = "dma-mem", "write";
66c66ec88fSEmmanuel Vadot		iommus = <&smmu TEGRA186_SID_EQOS>;
67c66ec88fSEmmanuel Vadot		status = "disabled";
68c66ec88fSEmmanuel Vadot
69c66ec88fSEmmanuel Vadot		snps,write-requests = <1>;
70c66ec88fSEmmanuel Vadot		snps,read-requests = <3>;
71c66ec88fSEmmanuel Vadot		snps,burst-map = <0x7>;
72c66ec88fSEmmanuel Vadot		snps,txpbl = <32>;
73c66ec88fSEmmanuel Vadot		snps,rxpbl = <8>;
74c66ec88fSEmmanuel Vadot	};
75c66ec88fSEmmanuel Vadot
76c9ccf3a3SEmmanuel Vadot	gpcdma: dma-controller@2600000 {
77c9ccf3a3SEmmanuel Vadot		compatible = "nvidia,tegra186-gpcdma";
78c9ccf3a3SEmmanuel Vadot		reg = <0x0 0x2600000 0x0 0x210000>;
79c9ccf3a3SEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_GPCDMA>;
80c9ccf3a3SEmmanuel Vadot		reset-names = "gpcdma";
818bab661aSEmmanuel Vadot		interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
828bab661aSEmmanuel Vadot			     <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
83c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
84c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
85c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,
86c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
87c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
88c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
89c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
90c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
91c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
92c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
93c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
94c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
95c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
96c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
97c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
98c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
99c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
100c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
101c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
102c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
103c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
104c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
105c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
106c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
107c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
108c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
109c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
110c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
111c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
112c9ccf3a3SEmmanuel Vadot			     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
113c9ccf3a3SEmmanuel Vadot		#dma-cells = <1>;
114c9ccf3a3SEmmanuel Vadot		iommus = <&smmu TEGRA186_SID_GPCDMA_0>;
115c9ccf3a3SEmmanuel Vadot		dma-coherent;
1168bab661aSEmmanuel Vadot		dma-channel-mask = <0xfffffffe>;
117c9ccf3a3SEmmanuel Vadot		status = "okay";
118c9ccf3a3SEmmanuel Vadot	};
119c9ccf3a3SEmmanuel Vadot
12082ea1a07SEmmanuel Vadot	aconnect@2900000 {
121c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-aconnect",
122c66ec88fSEmmanuel Vadot			     "nvidia,tegra210-aconnect";
123c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_APE>,
124c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_APB2APE>;
125c66ec88fSEmmanuel Vadot		clock-names = "ape", "apb2ape";
126c66ec88fSEmmanuel Vadot		power-domains = <&bpmp TEGRA186_POWER_DOMAIN_AUD>;
127c66ec88fSEmmanuel Vadot		#address-cells = <1>;
128c66ec88fSEmmanuel Vadot		#size-cells = <1>;
129c66ec88fSEmmanuel Vadot		ranges = <0x02900000 0x0 0x02900000 0x200000>;
130c66ec88fSEmmanuel Vadot		status = "disabled";
131c66ec88fSEmmanuel Vadot
1326be33864SEmmanuel Vadot		tegra_ahub: ahub@2900800 {
1336be33864SEmmanuel Vadot			compatible = "nvidia,tegra186-ahub";
1346be33864SEmmanuel Vadot			reg = <0x02900800 0x800>;
1356be33864SEmmanuel Vadot			clocks = <&bpmp TEGRA186_CLK_AHUB>;
1366be33864SEmmanuel Vadot			clock-names = "ahub";
1376be33864SEmmanuel Vadot			assigned-clocks = <&bpmp TEGRA186_CLK_AHUB>;
138*aa1a8ff2SEmmanuel Vadot			assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLP_OUT0>;
139*aa1a8ff2SEmmanuel Vadot			assigned-clock-rates = <81600000>;
1406be33864SEmmanuel Vadot			#address-cells = <1>;
1416be33864SEmmanuel Vadot			#size-cells = <1>;
1426be33864SEmmanuel Vadot			ranges = <0x02900800 0x02900800 0x11800>;
1436be33864SEmmanuel Vadot			status = "disabled";
1446be33864SEmmanuel Vadot
1456be33864SEmmanuel Vadot			tegra_i2s1: i2s@2901000 {
1466be33864SEmmanuel Vadot				compatible = "nvidia,tegra186-i2s",
1476be33864SEmmanuel Vadot					     "nvidia,tegra210-i2s";
1486be33864SEmmanuel Vadot				reg = <0x2901000 0x100>;
1496be33864SEmmanuel Vadot				clocks = <&bpmp TEGRA186_CLK_I2S1>,
1506be33864SEmmanuel Vadot					 <&bpmp TEGRA186_CLK_I2S1_SYNC_INPUT>;
1516be33864SEmmanuel Vadot				clock-names = "i2s", "sync_input";
1526be33864SEmmanuel Vadot				assigned-clocks = <&bpmp TEGRA186_CLK_I2S1>;
1536be33864SEmmanuel Vadot				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
1546be33864SEmmanuel Vadot				assigned-clock-rates = <1536000>;
1556be33864SEmmanuel Vadot				sound-name-prefix = "I2S1";
1566be33864SEmmanuel Vadot				status = "disabled";
1576be33864SEmmanuel Vadot			};
1586be33864SEmmanuel Vadot
1596be33864SEmmanuel Vadot			tegra_i2s2: i2s@2901100 {
1606be33864SEmmanuel Vadot				compatible = "nvidia,tegra186-i2s",
1616be33864SEmmanuel Vadot					     "nvidia,tegra210-i2s";
1626be33864SEmmanuel Vadot				reg = <0x2901100 0x100>;
1636be33864SEmmanuel Vadot				clocks = <&bpmp TEGRA186_CLK_I2S2>,
1646be33864SEmmanuel Vadot					 <&bpmp TEGRA186_CLK_I2S2_SYNC_INPUT>;
1656be33864SEmmanuel Vadot				clock-names = "i2s", "sync_input";
1666be33864SEmmanuel Vadot				assigned-clocks = <&bpmp TEGRA186_CLK_I2S2>;
1676be33864SEmmanuel Vadot				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
1686be33864SEmmanuel Vadot				assigned-clock-rates = <1536000>;
1696be33864SEmmanuel Vadot				sound-name-prefix = "I2S2";
1706be33864SEmmanuel Vadot				status = "disabled";
1716be33864SEmmanuel Vadot			};
1726be33864SEmmanuel Vadot
1736be33864SEmmanuel Vadot			tegra_i2s3: i2s@2901200 {
1746be33864SEmmanuel Vadot				compatible = "nvidia,tegra186-i2s",
1756be33864SEmmanuel Vadot					     "nvidia,tegra210-i2s";
1766be33864SEmmanuel Vadot				reg = <0x2901200 0x100>;
1776be33864SEmmanuel Vadot				clocks = <&bpmp TEGRA186_CLK_I2S3>,
1786be33864SEmmanuel Vadot					 <&bpmp TEGRA186_CLK_I2S3_SYNC_INPUT>;
1796be33864SEmmanuel Vadot				clock-names = "i2s", "sync_input";
1806be33864SEmmanuel Vadot				assigned-clocks = <&bpmp TEGRA186_CLK_I2S3>;
1816be33864SEmmanuel Vadot				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
1826be33864SEmmanuel Vadot				assigned-clock-rates = <1536000>;
1836be33864SEmmanuel Vadot				sound-name-prefix = "I2S3";
1846be33864SEmmanuel Vadot				status = "disabled";
1856be33864SEmmanuel Vadot			};
1866be33864SEmmanuel Vadot
1876be33864SEmmanuel Vadot			tegra_i2s4: i2s@2901300 {
1886be33864SEmmanuel Vadot				compatible = "nvidia,tegra186-i2s",
1896be33864SEmmanuel Vadot					     "nvidia,tegra210-i2s";
1906be33864SEmmanuel Vadot				reg = <0x2901300 0x100>;
1916be33864SEmmanuel Vadot				clocks = <&bpmp TEGRA186_CLK_I2S4>,
1926be33864SEmmanuel Vadot					 <&bpmp TEGRA186_CLK_I2S4_SYNC_INPUT>;
1936be33864SEmmanuel Vadot				clock-names = "i2s", "sync_input";
1946be33864SEmmanuel Vadot				assigned-clocks = <&bpmp TEGRA186_CLK_I2S4>;
1956be33864SEmmanuel Vadot				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
1966be33864SEmmanuel Vadot				assigned-clock-rates = <1536000>;
1976be33864SEmmanuel Vadot				sound-name-prefix = "I2S4";
1986be33864SEmmanuel Vadot				status = "disabled";
1996be33864SEmmanuel Vadot			};
2006be33864SEmmanuel Vadot
2016be33864SEmmanuel Vadot			tegra_i2s5: i2s@2901400 {
2026be33864SEmmanuel Vadot				compatible = "nvidia,tegra186-i2s",
2036be33864SEmmanuel Vadot					     "nvidia,tegra210-i2s";
2046be33864SEmmanuel Vadot				reg = <0x2901400 0x100>;
2056be33864SEmmanuel Vadot				clocks = <&bpmp TEGRA186_CLK_I2S5>,
2066be33864SEmmanuel Vadot					 <&bpmp TEGRA186_CLK_I2S5_SYNC_INPUT>;
2076be33864SEmmanuel Vadot				clock-names = "i2s", "sync_input";
2086be33864SEmmanuel Vadot				assigned-clocks = <&bpmp TEGRA186_CLK_I2S5>;
2096be33864SEmmanuel Vadot				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
2106be33864SEmmanuel Vadot				assigned-clock-rates = <1536000>;
2116be33864SEmmanuel Vadot				sound-name-prefix = "I2S5";
2126be33864SEmmanuel Vadot				status = "disabled";
2136be33864SEmmanuel Vadot			};
2146be33864SEmmanuel Vadot
2156be33864SEmmanuel Vadot			tegra_i2s6: i2s@2901500 {
2166be33864SEmmanuel Vadot				compatible = "nvidia,tegra186-i2s",
2176be33864SEmmanuel Vadot					     "nvidia,tegra210-i2s";
2186be33864SEmmanuel Vadot				reg = <0x2901500 0x100>;
2196be33864SEmmanuel Vadot				clocks = <&bpmp TEGRA186_CLK_I2S6>,
2206be33864SEmmanuel Vadot					 <&bpmp TEGRA186_CLK_I2S6_SYNC_INPUT>;
2216be33864SEmmanuel Vadot				clock-names = "i2s", "sync_input";
2226be33864SEmmanuel Vadot				assigned-clocks = <&bpmp TEGRA186_CLK_I2S6>;
2236be33864SEmmanuel Vadot				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
2246be33864SEmmanuel Vadot				assigned-clock-rates = <1536000>;
2256be33864SEmmanuel Vadot				sound-name-prefix = "I2S6";
2266be33864SEmmanuel Vadot				status = "disabled";
2276be33864SEmmanuel Vadot			};
2286be33864SEmmanuel Vadot
229cb7aa33aSEmmanuel Vadot			tegra_sfc1: sfc@2902000 {
230cb7aa33aSEmmanuel Vadot				compatible = "nvidia,tegra186-sfc",
231cb7aa33aSEmmanuel Vadot					     "nvidia,tegra210-sfc";
232cb7aa33aSEmmanuel Vadot				reg = <0x2902000 0x200>;
233cb7aa33aSEmmanuel Vadot				sound-name-prefix = "SFC1";
234cb7aa33aSEmmanuel Vadot				status = "disabled";
235cb7aa33aSEmmanuel Vadot			};
236cb7aa33aSEmmanuel Vadot
237cb7aa33aSEmmanuel Vadot			tegra_sfc2: sfc@2902200 {
238cb7aa33aSEmmanuel Vadot				compatible = "nvidia,tegra186-sfc",
239cb7aa33aSEmmanuel Vadot					     "nvidia,tegra210-sfc";
240cb7aa33aSEmmanuel Vadot				reg = <0x2902200 0x200>;
241cb7aa33aSEmmanuel Vadot				sound-name-prefix = "SFC2";
242cb7aa33aSEmmanuel Vadot				status = "disabled";
243cb7aa33aSEmmanuel Vadot			};
244cb7aa33aSEmmanuel Vadot
245cb7aa33aSEmmanuel Vadot			tegra_sfc3: sfc@2902400 {
246cb7aa33aSEmmanuel Vadot				compatible = "nvidia,tegra186-sfc",
247cb7aa33aSEmmanuel Vadot					     "nvidia,tegra210-sfc";
248cb7aa33aSEmmanuel Vadot				reg = <0x2902400 0x200>;
249cb7aa33aSEmmanuel Vadot				sound-name-prefix = "SFC3";
250cb7aa33aSEmmanuel Vadot				status = "disabled";
251cb7aa33aSEmmanuel Vadot			};
252cb7aa33aSEmmanuel Vadot
253cb7aa33aSEmmanuel Vadot			tegra_sfc4: sfc@2902600 {
254cb7aa33aSEmmanuel Vadot				compatible = "nvidia,tegra186-sfc",
255cb7aa33aSEmmanuel Vadot					     "nvidia,tegra210-sfc";
256cb7aa33aSEmmanuel Vadot				reg = <0x2902600 0x200>;
257cb7aa33aSEmmanuel Vadot				sound-name-prefix = "SFC4";
258cb7aa33aSEmmanuel Vadot				status = "disabled";
259cb7aa33aSEmmanuel Vadot			};
260cb7aa33aSEmmanuel Vadot
261cb7aa33aSEmmanuel Vadot			tegra_amx1: amx@2903000 {
262cb7aa33aSEmmanuel Vadot				compatible = "nvidia,tegra186-amx",
263cb7aa33aSEmmanuel Vadot					     "nvidia,tegra210-amx";
264cb7aa33aSEmmanuel Vadot				reg = <0x2903000 0x100>;
265cb7aa33aSEmmanuel Vadot				sound-name-prefix = "AMX1";
266cb7aa33aSEmmanuel Vadot				status = "disabled";
267cb7aa33aSEmmanuel Vadot			};
268cb7aa33aSEmmanuel Vadot
269cb7aa33aSEmmanuel Vadot			tegra_amx2: amx@2903100 {
270cb7aa33aSEmmanuel Vadot				compatible = "nvidia,tegra186-amx",
271cb7aa33aSEmmanuel Vadot					     "nvidia,tegra210-amx";
272cb7aa33aSEmmanuel Vadot				reg = <0x2903100 0x100>;
273cb7aa33aSEmmanuel Vadot				sound-name-prefix = "AMX2";
274cb7aa33aSEmmanuel Vadot				status = "disabled";
275cb7aa33aSEmmanuel Vadot			};
276cb7aa33aSEmmanuel Vadot
277cb7aa33aSEmmanuel Vadot			tegra_amx3: amx@2903200 {
278cb7aa33aSEmmanuel Vadot				compatible = "nvidia,tegra186-amx",
279cb7aa33aSEmmanuel Vadot					     "nvidia,tegra210-amx";
280cb7aa33aSEmmanuel Vadot				reg = <0x2903200 0x100>;
281cb7aa33aSEmmanuel Vadot				sound-name-prefix = "AMX3";
282cb7aa33aSEmmanuel Vadot				status = "disabled";
283cb7aa33aSEmmanuel Vadot			};
284cb7aa33aSEmmanuel Vadot
285cb7aa33aSEmmanuel Vadot			tegra_amx4: amx@2903300 {
286cb7aa33aSEmmanuel Vadot				compatible = "nvidia,tegra186-amx",
287cb7aa33aSEmmanuel Vadot					     "nvidia,tegra210-amx";
288cb7aa33aSEmmanuel Vadot				reg = <0x2903300 0x100>;
289cb7aa33aSEmmanuel Vadot				sound-name-prefix = "AMX4";
290cb7aa33aSEmmanuel Vadot				status = "disabled";
291cb7aa33aSEmmanuel Vadot			};
292cb7aa33aSEmmanuel Vadot
293cb7aa33aSEmmanuel Vadot			tegra_adx1: adx@2903800 {
294cb7aa33aSEmmanuel Vadot				compatible = "nvidia,tegra186-adx",
295cb7aa33aSEmmanuel Vadot					     "nvidia,tegra210-adx";
296cb7aa33aSEmmanuel Vadot				reg = <0x2903800 0x100>;
297cb7aa33aSEmmanuel Vadot				sound-name-prefix = "ADX1";
298cb7aa33aSEmmanuel Vadot				status = "disabled";
299cb7aa33aSEmmanuel Vadot			};
300cb7aa33aSEmmanuel Vadot
301cb7aa33aSEmmanuel Vadot			tegra_adx2: adx@2903900 {
302cb7aa33aSEmmanuel Vadot				compatible = "nvidia,tegra186-adx",
303cb7aa33aSEmmanuel Vadot					     "nvidia,tegra210-adx";
304cb7aa33aSEmmanuel Vadot				reg = <0x2903900 0x100>;
305cb7aa33aSEmmanuel Vadot				sound-name-prefix = "ADX2";
306cb7aa33aSEmmanuel Vadot				status = "disabled";
307cb7aa33aSEmmanuel Vadot			};
308cb7aa33aSEmmanuel Vadot
309cb7aa33aSEmmanuel Vadot			tegra_adx3: adx@2903a00 {
310cb7aa33aSEmmanuel Vadot				compatible = "nvidia,tegra186-adx",
311cb7aa33aSEmmanuel Vadot					     "nvidia,tegra210-adx";
312cb7aa33aSEmmanuel Vadot				reg = <0x2903a00 0x100>;
313cb7aa33aSEmmanuel Vadot				sound-name-prefix = "ADX3";
314cb7aa33aSEmmanuel Vadot				status = "disabled";
315cb7aa33aSEmmanuel Vadot			};
316cb7aa33aSEmmanuel Vadot
317cb7aa33aSEmmanuel Vadot			tegra_adx4: adx@2903b00 {
318cb7aa33aSEmmanuel Vadot				compatible = "nvidia,tegra186-adx",
319cb7aa33aSEmmanuel Vadot					     "nvidia,tegra210-adx";
320cb7aa33aSEmmanuel Vadot				reg = <0x2903b00 0x100>;
321cb7aa33aSEmmanuel Vadot				sound-name-prefix = "ADX4";
322cb7aa33aSEmmanuel Vadot				status = "disabled";
323cb7aa33aSEmmanuel Vadot			};
324cb7aa33aSEmmanuel Vadot
3256be33864SEmmanuel Vadot			tegra_dmic1: dmic@2904000 {
3266be33864SEmmanuel Vadot				compatible = "nvidia,tegra210-dmic";
3276be33864SEmmanuel Vadot				reg = <0x2904000 0x100>;
3286be33864SEmmanuel Vadot				clocks = <&bpmp TEGRA186_CLK_DMIC1>;
3296be33864SEmmanuel Vadot				clock-names = "dmic";
3306be33864SEmmanuel Vadot				assigned-clocks = <&bpmp TEGRA186_CLK_DMIC1>;
3316be33864SEmmanuel Vadot				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
3326be33864SEmmanuel Vadot				assigned-clock-rates = <3072000>;
3336be33864SEmmanuel Vadot				sound-name-prefix = "DMIC1";
3346be33864SEmmanuel Vadot				status = "disabled";
3356be33864SEmmanuel Vadot			};
3366be33864SEmmanuel Vadot
3376be33864SEmmanuel Vadot			tegra_dmic2: dmic@2904100 {
3386be33864SEmmanuel Vadot				compatible = "nvidia,tegra210-dmic";
3396be33864SEmmanuel Vadot				reg = <0x2904100 0x100>;
3406be33864SEmmanuel Vadot				clocks = <&bpmp TEGRA186_CLK_DMIC2>;
3416be33864SEmmanuel Vadot				clock-names = "dmic";
3426be33864SEmmanuel Vadot				assigned-clocks = <&bpmp TEGRA186_CLK_DMIC2>;
3436be33864SEmmanuel Vadot				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
3446be33864SEmmanuel Vadot				assigned-clock-rates = <3072000>;
3456be33864SEmmanuel Vadot				sound-name-prefix = "DMIC2";
3466be33864SEmmanuel Vadot				status = "disabled";
3476be33864SEmmanuel Vadot			};
3486be33864SEmmanuel Vadot
3496be33864SEmmanuel Vadot			tegra_dmic3: dmic@2904200 {
3506be33864SEmmanuel Vadot				compatible = "nvidia,tegra210-dmic";
3516be33864SEmmanuel Vadot				reg = <0x2904200 0x100>;
3526be33864SEmmanuel Vadot				clocks = <&bpmp TEGRA186_CLK_DMIC3>;
3536be33864SEmmanuel Vadot				clock-names = "dmic";
3546be33864SEmmanuel Vadot				assigned-clocks = <&bpmp TEGRA186_CLK_DMIC3>;
3556be33864SEmmanuel Vadot				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
3566be33864SEmmanuel Vadot				assigned-clock-rates = <3072000>;
3576be33864SEmmanuel Vadot				sound-name-prefix = "DMIC3";
3586be33864SEmmanuel Vadot				status = "disabled";
3596be33864SEmmanuel Vadot			};
3606be33864SEmmanuel Vadot
3616be33864SEmmanuel Vadot			tegra_dmic4: dmic@2904300 {
3626be33864SEmmanuel Vadot				compatible = "nvidia,tegra210-dmic";
3636be33864SEmmanuel Vadot				reg = <0x2904300 0x100>;
3646be33864SEmmanuel Vadot				clocks = <&bpmp TEGRA186_CLK_DMIC4>;
3656be33864SEmmanuel Vadot				clock-names = "dmic";
3666be33864SEmmanuel Vadot				assigned-clocks = <&bpmp TEGRA186_CLK_DMIC4>;
3676be33864SEmmanuel Vadot				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
3686be33864SEmmanuel Vadot				assigned-clock-rates = <3072000>;
3696be33864SEmmanuel Vadot				sound-name-prefix = "DMIC4";
3706be33864SEmmanuel Vadot				status = "disabled";
3716be33864SEmmanuel Vadot			};
3726be33864SEmmanuel Vadot
3736be33864SEmmanuel Vadot			tegra_dspk1: dspk@2905000 {
3746be33864SEmmanuel Vadot				compatible = "nvidia,tegra186-dspk";
3756be33864SEmmanuel Vadot				reg = <0x2905000 0x100>;
3766be33864SEmmanuel Vadot				clocks = <&bpmp TEGRA186_CLK_DSPK1>;
3776be33864SEmmanuel Vadot				clock-names = "dspk";
3786be33864SEmmanuel Vadot				assigned-clocks = <&bpmp TEGRA186_CLK_DSPK1>;
3796be33864SEmmanuel Vadot				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
3806be33864SEmmanuel Vadot				assigned-clock-rates = <12288000>;
3816be33864SEmmanuel Vadot				sound-name-prefix = "DSPK1";
3826be33864SEmmanuel Vadot				status = "disabled";
3836be33864SEmmanuel Vadot			};
3846be33864SEmmanuel Vadot
3856be33864SEmmanuel Vadot			tegra_dspk2: dspk@2905100 {
3866be33864SEmmanuel Vadot				compatible = "nvidia,tegra186-dspk";
3876be33864SEmmanuel Vadot				reg = <0x2905100 0x100>;
3886be33864SEmmanuel Vadot				clocks = <&bpmp TEGRA186_CLK_DSPK2>;
3896be33864SEmmanuel Vadot				clock-names = "dspk";
3906be33864SEmmanuel Vadot				assigned-clocks = <&bpmp TEGRA186_CLK_DSPK2>;
3916be33864SEmmanuel Vadot				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
3926be33864SEmmanuel Vadot				assigned-clock-rates = <12288000>;
3936be33864SEmmanuel Vadot				sound-name-prefix = "DSPK2";
3946be33864SEmmanuel Vadot				status = "disabled";
3956be33864SEmmanuel Vadot			};
3968cc087a1SEmmanuel Vadot
397b97ee269SEmmanuel Vadot			tegra_ope1: processing-engine@2908000 {
398b97ee269SEmmanuel Vadot				compatible = "nvidia,tegra186-ope",
399b97ee269SEmmanuel Vadot					     "nvidia,tegra210-ope";
400b97ee269SEmmanuel Vadot				reg = <0x2908000 0x100>;
401b97ee269SEmmanuel Vadot				#address-cells = <1>;
402b97ee269SEmmanuel Vadot				#size-cells = <1>;
403b97ee269SEmmanuel Vadot				ranges;
404b97ee269SEmmanuel Vadot				sound-name-prefix = "OPE1";
405b97ee269SEmmanuel Vadot				status = "disabled";
406b97ee269SEmmanuel Vadot
407b97ee269SEmmanuel Vadot				equalizer@2908100 {
408b97ee269SEmmanuel Vadot					compatible = "nvidia,tegra186-peq",
409b97ee269SEmmanuel Vadot						     "nvidia,tegra210-peq";
410b97ee269SEmmanuel Vadot					reg = <0x2908100 0x100>;
411b97ee269SEmmanuel Vadot				};
412b97ee269SEmmanuel Vadot
413b97ee269SEmmanuel Vadot				dynamic-range-compressor@2908200 {
414b97ee269SEmmanuel Vadot					compatible = "nvidia,tegra186-mbdrc",
415b97ee269SEmmanuel Vadot						     "nvidia,tegra210-mbdrc";
416b97ee269SEmmanuel Vadot					reg = <0x2908200 0x200>;
417b97ee269SEmmanuel Vadot				};
418b97ee269SEmmanuel Vadot			};
419b97ee269SEmmanuel Vadot
420cb7aa33aSEmmanuel Vadot			tegra_mvc1: mvc@290a000 {
421cb7aa33aSEmmanuel Vadot				compatible = "nvidia,tegra186-mvc",
422cb7aa33aSEmmanuel Vadot					     "nvidia,tegra210-mvc";
423cb7aa33aSEmmanuel Vadot				reg = <0x290a000 0x200>;
424cb7aa33aSEmmanuel Vadot				sound-name-prefix = "MVC1";
425cb7aa33aSEmmanuel Vadot				status = "disabled";
426cb7aa33aSEmmanuel Vadot			};
427cb7aa33aSEmmanuel Vadot
428cb7aa33aSEmmanuel Vadot			tegra_mvc2: mvc@290a200 {
429cb7aa33aSEmmanuel Vadot				compatible = "nvidia,tegra186-mvc",
430cb7aa33aSEmmanuel Vadot					     "nvidia,tegra210-mvc";
431cb7aa33aSEmmanuel Vadot				reg = <0x290a200 0x200>;
432cb7aa33aSEmmanuel Vadot				sound-name-prefix = "MVC2";
433cb7aa33aSEmmanuel Vadot				status = "disabled";
434cb7aa33aSEmmanuel Vadot			};
435cb7aa33aSEmmanuel Vadot
4368cc087a1SEmmanuel Vadot			tegra_amixer: amixer@290bb00 {
4378cc087a1SEmmanuel Vadot				compatible = "nvidia,tegra186-amixer",
4388cc087a1SEmmanuel Vadot					     "nvidia,tegra210-amixer";
4398cc087a1SEmmanuel Vadot				reg = <0x290bb00 0x800>;
4408cc087a1SEmmanuel Vadot				sound-name-prefix = "MIXER1";
4418cc087a1SEmmanuel Vadot				status = "disabled";
4428cc087a1SEmmanuel Vadot			};
443d5b0e70fSEmmanuel Vadot
444cb7aa33aSEmmanuel Vadot			tegra_admaif: admaif@290f000 {
445cb7aa33aSEmmanuel Vadot				compatible = "nvidia,tegra186-admaif";
446cb7aa33aSEmmanuel Vadot				reg = <0x0290f000 0x1000>;
447cb7aa33aSEmmanuel Vadot				dmas = <&adma 1>, <&adma 1>,
448cb7aa33aSEmmanuel Vadot				       <&adma 2>, <&adma 2>,
449cb7aa33aSEmmanuel Vadot				       <&adma 3>, <&adma 3>,
450cb7aa33aSEmmanuel Vadot				       <&adma 4>, <&adma 4>,
451cb7aa33aSEmmanuel Vadot				       <&adma 5>, <&adma 5>,
452cb7aa33aSEmmanuel Vadot				       <&adma 6>, <&adma 6>,
453cb7aa33aSEmmanuel Vadot				       <&adma 7>, <&adma 7>,
454cb7aa33aSEmmanuel Vadot				       <&adma 8>, <&adma 8>,
455cb7aa33aSEmmanuel Vadot				       <&adma 9>, <&adma 9>,
456cb7aa33aSEmmanuel Vadot				       <&adma 10>, <&adma 10>,
457cb7aa33aSEmmanuel Vadot				       <&adma 11>, <&adma 11>,
458cb7aa33aSEmmanuel Vadot				       <&adma 12>, <&adma 12>,
459cb7aa33aSEmmanuel Vadot				       <&adma 13>, <&adma 13>,
460cb7aa33aSEmmanuel Vadot				       <&adma 14>, <&adma 14>,
461cb7aa33aSEmmanuel Vadot				       <&adma 15>, <&adma 15>,
462cb7aa33aSEmmanuel Vadot				       <&adma 16>, <&adma 16>,
463cb7aa33aSEmmanuel Vadot				       <&adma 17>, <&adma 17>,
464cb7aa33aSEmmanuel Vadot				       <&adma 18>, <&adma 18>,
465cb7aa33aSEmmanuel Vadot				       <&adma 19>, <&adma 19>,
466cb7aa33aSEmmanuel Vadot				       <&adma 20>, <&adma 20>;
467cb7aa33aSEmmanuel Vadot				dma-names = "rx1", "tx1",
468cb7aa33aSEmmanuel Vadot					    "rx2", "tx2",
469cb7aa33aSEmmanuel Vadot					    "rx3", "tx3",
470cb7aa33aSEmmanuel Vadot					    "rx4", "tx4",
471cb7aa33aSEmmanuel Vadot					    "rx5", "tx5",
472cb7aa33aSEmmanuel Vadot					    "rx6", "tx6",
473cb7aa33aSEmmanuel Vadot					    "rx7", "tx7",
474cb7aa33aSEmmanuel Vadot					    "rx8", "tx8",
475cb7aa33aSEmmanuel Vadot					    "rx9", "tx9",
476cb7aa33aSEmmanuel Vadot					    "rx10", "tx10",
477cb7aa33aSEmmanuel Vadot					    "rx11", "tx11",
478cb7aa33aSEmmanuel Vadot					    "rx12", "tx12",
479cb7aa33aSEmmanuel Vadot					    "rx13", "tx13",
480cb7aa33aSEmmanuel Vadot					    "rx14", "tx14",
481cb7aa33aSEmmanuel Vadot					    "rx15", "tx15",
482cb7aa33aSEmmanuel Vadot					    "rx16", "tx16",
483cb7aa33aSEmmanuel Vadot					    "rx17", "tx17",
484cb7aa33aSEmmanuel Vadot					    "rx18", "tx18",
485cb7aa33aSEmmanuel Vadot					    "rx19", "tx19",
486cb7aa33aSEmmanuel Vadot					    "rx20", "tx20";
487cb7aa33aSEmmanuel Vadot				status = "disabled";
488cb7aa33aSEmmanuel Vadot			};
489cb7aa33aSEmmanuel Vadot
490d5b0e70fSEmmanuel Vadot			tegra_asrc: asrc@2910000 {
491d5b0e70fSEmmanuel Vadot				compatible = "nvidia,tegra186-asrc";
492d5b0e70fSEmmanuel Vadot				reg = <0x2910000 0x2000>;
493d5b0e70fSEmmanuel Vadot				sound-name-prefix = "ASRC1";
494d5b0e70fSEmmanuel Vadot				status = "disabled";
495d5b0e70fSEmmanuel Vadot			};
4966be33864SEmmanuel Vadot		};
497cb7aa33aSEmmanuel Vadot
498cb7aa33aSEmmanuel Vadot		adma: dma-controller@2930000 {
499cb7aa33aSEmmanuel Vadot			compatible = "nvidia,tegra186-adma";
500cb7aa33aSEmmanuel Vadot			reg = <0x02930000 0x20000>;
501cb7aa33aSEmmanuel Vadot			interrupt-parent = <&agic>;
502cb7aa33aSEmmanuel Vadot			interrupts =  <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
503cb7aa33aSEmmanuel Vadot				      <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
504cb7aa33aSEmmanuel Vadot				      <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
505cb7aa33aSEmmanuel Vadot				      <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
506cb7aa33aSEmmanuel Vadot				      <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
507cb7aa33aSEmmanuel Vadot				      <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
508cb7aa33aSEmmanuel Vadot				      <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
509cb7aa33aSEmmanuel Vadot				      <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
510cb7aa33aSEmmanuel Vadot				      <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
511cb7aa33aSEmmanuel Vadot				      <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
512cb7aa33aSEmmanuel Vadot				      <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
513cb7aa33aSEmmanuel Vadot				      <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
514cb7aa33aSEmmanuel Vadot				      <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
515cb7aa33aSEmmanuel Vadot				      <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
516cb7aa33aSEmmanuel Vadot				      <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
517cb7aa33aSEmmanuel Vadot				      <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
518cb7aa33aSEmmanuel Vadot				      <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
519cb7aa33aSEmmanuel Vadot				      <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
520cb7aa33aSEmmanuel Vadot				      <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
521cb7aa33aSEmmanuel Vadot				      <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
522cb7aa33aSEmmanuel Vadot				      <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
523cb7aa33aSEmmanuel Vadot				      <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
524cb7aa33aSEmmanuel Vadot				      <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
525cb7aa33aSEmmanuel Vadot				      <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
526cb7aa33aSEmmanuel Vadot				      <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
527cb7aa33aSEmmanuel Vadot				      <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
528cb7aa33aSEmmanuel Vadot				      <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
529cb7aa33aSEmmanuel Vadot				      <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
530cb7aa33aSEmmanuel Vadot				      <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
531cb7aa33aSEmmanuel Vadot				      <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
532cb7aa33aSEmmanuel Vadot				      <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
533cb7aa33aSEmmanuel Vadot				      <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
534cb7aa33aSEmmanuel Vadot			#dma-cells = <1>;
535cb7aa33aSEmmanuel Vadot			clocks = <&bpmp TEGRA186_CLK_AHUB>;
536cb7aa33aSEmmanuel Vadot			clock-names = "d_audio";
537cb7aa33aSEmmanuel Vadot			status = "disabled";
538cb7aa33aSEmmanuel Vadot		};
539cb7aa33aSEmmanuel Vadot
540cb7aa33aSEmmanuel Vadot		agic: interrupt-controller@2a40000 {
541cb7aa33aSEmmanuel Vadot			compatible = "nvidia,tegra186-agic",
542cb7aa33aSEmmanuel Vadot				     "nvidia,tegra210-agic";
543cb7aa33aSEmmanuel Vadot			#interrupt-cells = <3>;
544cb7aa33aSEmmanuel Vadot			interrupt-controller;
545cb7aa33aSEmmanuel Vadot			reg = <0x02a41000 0x1000>,
546cb7aa33aSEmmanuel Vadot			      <0x02a42000 0x2000>;
547cb7aa33aSEmmanuel Vadot			interrupts = <GIC_SPI 145
548cb7aa33aSEmmanuel Vadot				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
549cb7aa33aSEmmanuel Vadot			clocks = <&bpmp TEGRA186_CLK_APE>;
550cb7aa33aSEmmanuel Vadot			clock-names = "clk";
551cb7aa33aSEmmanuel Vadot			status = "disabled";
552cb7aa33aSEmmanuel Vadot		};
553c66ec88fSEmmanuel Vadot	};
554c66ec88fSEmmanuel Vadot
555c66ec88fSEmmanuel Vadot	mc: memory-controller@2c00000 {
556c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-mc";
557d5b0e70fSEmmanuel Vadot		reg = <0x0 0x02c00000 0x0 0x10000>,    /* MC-SID */
558d5b0e70fSEmmanuel Vadot		      <0x0 0x02c10000 0x0 0x10000>,    /* Broadcast channel */
559d5b0e70fSEmmanuel Vadot		      <0x0 0x02c20000 0x0 0x10000>,    /* MC0 */
560d5b0e70fSEmmanuel Vadot		      <0x0 0x02c30000 0x0 0x10000>,    /* MC1 */
561d5b0e70fSEmmanuel Vadot		      <0x0 0x02c40000 0x0 0x10000>,    /* MC2 */
562d5b0e70fSEmmanuel Vadot		      <0x0 0x02c50000 0x0 0x10000>;    /* MC3 */
563d5b0e70fSEmmanuel Vadot		reg-names = "sid", "broadcast", "ch0", "ch1", "ch2", "ch3";
564c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
565c66ec88fSEmmanuel Vadot		status = "disabled";
566c66ec88fSEmmanuel Vadot
567c66ec88fSEmmanuel Vadot		#interconnect-cells = <1>;
568c66ec88fSEmmanuel Vadot		#address-cells = <2>;
569c66ec88fSEmmanuel Vadot		#size-cells = <2>;
570c66ec88fSEmmanuel Vadot
571c66ec88fSEmmanuel Vadot		ranges = <0x0 0x02c00000 0x0 0x02c00000 0x0 0xb0000>;
572c66ec88fSEmmanuel Vadot
573c66ec88fSEmmanuel Vadot		/*
574c66ec88fSEmmanuel Vadot		 * Memory clients have access to all 40 bits that the memory
575c66ec88fSEmmanuel Vadot		 * controller can address.
576c66ec88fSEmmanuel Vadot		 */
577c66ec88fSEmmanuel Vadot		dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x0>;
578c66ec88fSEmmanuel Vadot
579c66ec88fSEmmanuel Vadot		emc: external-memory-controller@2c60000 {
580c66ec88fSEmmanuel Vadot			compatible = "nvidia,tegra186-emc";
581c66ec88fSEmmanuel Vadot			reg = <0x0 0x02c60000 0x0 0x50000>;
582c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
583c66ec88fSEmmanuel Vadot			clocks = <&bpmp TEGRA186_CLK_EMC>;
584c66ec88fSEmmanuel Vadot			clock-names = "emc";
585c66ec88fSEmmanuel Vadot
586c66ec88fSEmmanuel Vadot			#interconnect-cells = <0>;
587c66ec88fSEmmanuel Vadot
588c66ec88fSEmmanuel Vadot			nvidia,bpmp = <&bpmp>;
589c66ec88fSEmmanuel Vadot		};
590c66ec88fSEmmanuel Vadot	};
591c66ec88fSEmmanuel Vadot
592e67e8565SEmmanuel Vadot	timer@3010000 {
593e67e8565SEmmanuel Vadot		compatible = "nvidia,tegra186-timer";
594e67e8565SEmmanuel Vadot		reg = <0x0 0x03010000 0x0 0x000e0000>;
595e67e8565SEmmanuel Vadot		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
596e67e8565SEmmanuel Vadot			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
597e67e8565SEmmanuel Vadot			     <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
598e67e8565SEmmanuel Vadot			     <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
599e67e8565SEmmanuel Vadot			     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
600e67e8565SEmmanuel Vadot			     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
601e67e8565SEmmanuel Vadot			     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
602e67e8565SEmmanuel Vadot			     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
603e67e8565SEmmanuel Vadot			     <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
604e67e8565SEmmanuel Vadot			     <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
605b97ee269SEmmanuel Vadot		status = "okay";
606e67e8565SEmmanuel Vadot	};
607e67e8565SEmmanuel Vadot
608c66ec88fSEmmanuel Vadot	uarta: serial@3100000 {
609c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
610c66ec88fSEmmanuel Vadot		reg = <0x0 0x03100000 0x0 0x40>;
611c66ec88fSEmmanuel Vadot		reg-shift = <2>;
612c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
613c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_UARTA>;
614c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_UARTA>;
615c66ec88fSEmmanuel Vadot		status = "disabled";
616c66ec88fSEmmanuel Vadot	};
617c66ec88fSEmmanuel Vadot
618c66ec88fSEmmanuel Vadot	uartb: serial@3110000 {
619c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
620c66ec88fSEmmanuel Vadot		reg = <0x0 0x03110000 0x0 0x40>;
621c66ec88fSEmmanuel Vadot		reg-shift = <2>;
622c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
623c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_UARTB>;
624c66ec88fSEmmanuel Vadot		clock-names = "serial";
625c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_UARTB>;
626c66ec88fSEmmanuel Vadot		reset-names = "serial";
627c66ec88fSEmmanuel Vadot		status = "disabled";
628c66ec88fSEmmanuel Vadot	};
629c66ec88fSEmmanuel Vadot
630c66ec88fSEmmanuel Vadot	uartd: serial@3130000 {
631c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
632c66ec88fSEmmanuel Vadot		reg = <0x0 0x03130000 0x0 0x40>;
633c66ec88fSEmmanuel Vadot		reg-shift = <2>;
634c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
635c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_UARTD>;
636c66ec88fSEmmanuel Vadot		clock-names = "serial";
637c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_UARTD>;
638c66ec88fSEmmanuel Vadot		reset-names = "serial";
639c66ec88fSEmmanuel Vadot		status = "disabled";
640c66ec88fSEmmanuel Vadot	};
641c66ec88fSEmmanuel Vadot
642c66ec88fSEmmanuel Vadot	uarte: serial@3140000 {
643c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
644c66ec88fSEmmanuel Vadot		reg = <0x0 0x03140000 0x0 0x40>;
645c66ec88fSEmmanuel Vadot		reg-shift = <2>;
646c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
647c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_UARTE>;
648c66ec88fSEmmanuel Vadot		clock-names = "serial";
649c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_UARTE>;
650c66ec88fSEmmanuel Vadot		reset-names = "serial";
651c66ec88fSEmmanuel Vadot		status = "disabled";
652c66ec88fSEmmanuel Vadot	};
653c66ec88fSEmmanuel Vadot
654c66ec88fSEmmanuel Vadot	uartf: serial@3150000 {
655c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
656c66ec88fSEmmanuel Vadot		reg = <0x0 0x03150000 0x0 0x40>;
657c66ec88fSEmmanuel Vadot		reg-shift = <2>;
658c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
659c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_UARTF>;
660c66ec88fSEmmanuel Vadot		clock-names = "serial";
661c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_UARTF>;
662c66ec88fSEmmanuel Vadot		reset-names = "serial";
663c66ec88fSEmmanuel Vadot		status = "disabled";
664c66ec88fSEmmanuel Vadot	};
665c66ec88fSEmmanuel Vadot
666c66ec88fSEmmanuel Vadot	gen1_i2c: i2c@3160000 {
667e67e8565SEmmanuel Vadot		compatible = "nvidia,tegra186-i2c";
668c66ec88fSEmmanuel Vadot		reg = <0x0 0x03160000 0x0 0x10000>;
669c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
670c66ec88fSEmmanuel Vadot		#address-cells = <1>;
671c66ec88fSEmmanuel Vadot		#size-cells = <0>;
672c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_I2C1>;
673c66ec88fSEmmanuel Vadot		clock-names = "div-clk";
674c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_I2C1>;
675c66ec88fSEmmanuel Vadot		reset-names = "i2c";
6767ef62cebSEmmanuel Vadot		dmas = <&gpcdma 21>, <&gpcdma 21>;
6777ef62cebSEmmanuel Vadot		dma-names = "rx", "tx";
678c66ec88fSEmmanuel Vadot		status = "disabled";
679c66ec88fSEmmanuel Vadot	};
680c66ec88fSEmmanuel Vadot
681c66ec88fSEmmanuel Vadot	cam_i2c: i2c@3180000 {
682e67e8565SEmmanuel Vadot		compatible = "nvidia,tegra186-i2c";
683c66ec88fSEmmanuel Vadot		reg = <0x0 0x03180000 0x0 0x10000>;
684c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
685c66ec88fSEmmanuel Vadot		#address-cells = <1>;
686c66ec88fSEmmanuel Vadot		#size-cells = <0>;
687c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_I2C3>;
688c66ec88fSEmmanuel Vadot		clock-names = "div-clk";
689c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_I2C3>;
690c66ec88fSEmmanuel Vadot		reset-names = "i2c";
6917ef62cebSEmmanuel Vadot		dmas = <&gpcdma 23>, <&gpcdma 23>;
6927ef62cebSEmmanuel Vadot		dma-names = "rx", "tx";
693c66ec88fSEmmanuel Vadot		status = "disabled";
694c66ec88fSEmmanuel Vadot	};
695c66ec88fSEmmanuel Vadot
696c66ec88fSEmmanuel Vadot	/* shares pads with dpaux1 */
697c66ec88fSEmmanuel Vadot	dp_aux_ch1_i2c: i2c@3190000 {
698e67e8565SEmmanuel Vadot		compatible = "nvidia,tegra186-i2c";
699c66ec88fSEmmanuel Vadot		reg = <0x0 0x03190000 0x0 0x10000>;
700c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
701c66ec88fSEmmanuel Vadot		#address-cells = <1>;
702c66ec88fSEmmanuel Vadot		#size-cells = <0>;
703c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_I2C4>;
704c66ec88fSEmmanuel Vadot		clock-names = "div-clk";
705c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_I2C4>;
706c66ec88fSEmmanuel Vadot		reset-names = "i2c";
707c66ec88fSEmmanuel Vadot		pinctrl-names = "default", "idle";
708c66ec88fSEmmanuel Vadot		pinctrl-0 = <&state_dpaux1_i2c>;
709c66ec88fSEmmanuel Vadot		pinctrl-1 = <&state_dpaux1_off>;
7107ef62cebSEmmanuel Vadot		dmas = <&gpcdma 26>, <&gpcdma 26>;
7117ef62cebSEmmanuel Vadot		dma-names = "rx", "tx";
712c66ec88fSEmmanuel Vadot		status = "disabled";
713c66ec88fSEmmanuel Vadot	};
714c66ec88fSEmmanuel Vadot
715c66ec88fSEmmanuel Vadot	/* controlled by BPMP, should not be enabled */
716c66ec88fSEmmanuel Vadot	pwr_i2c: i2c@31a0000 {
717e67e8565SEmmanuel Vadot		compatible = "nvidia,tegra186-i2c";
718c66ec88fSEmmanuel Vadot		reg = <0x0 0x031a0000 0x0 0x10000>;
719c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
720c66ec88fSEmmanuel Vadot		#address-cells = <1>;
721c66ec88fSEmmanuel Vadot		#size-cells = <0>;
722c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_I2C5>;
723c66ec88fSEmmanuel Vadot		clock-names = "div-clk";
724c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_I2C5>;
725c66ec88fSEmmanuel Vadot		reset-names = "i2c";
726c66ec88fSEmmanuel Vadot		status = "disabled";
727c66ec88fSEmmanuel Vadot	};
728c66ec88fSEmmanuel Vadot
729c66ec88fSEmmanuel Vadot	/* shares pads with dpaux0 */
730c66ec88fSEmmanuel Vadot	dp_aux_ch0_i2c: i2c@31b0000 {
731e67e8565SEmmanuel Vadot		compatible = "nvidia,tegra186-i2c";
732c66ec88fSEmmanuel Vadot		reg = <0x0 0x031b0000 0x0 0x10000>;
733c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
734c66ec88fSEmmanuel Vadot		#address-cells = <1>;
735c66ec88fSEmmanuel Vadot		#size-cells = <0>;
736c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_I2C6>;
737c66ec88fSEmmanuel Vadot		clock-names = "div-clk";
738c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_I2C6>;
739c66ec88fSEmmanuel Vadot		reset-names = "i2c";
740c66ec88fSEmmanuel Vadot		pinctrl-names = "default", "idle";
741c66ec88fSEmmanuel Vadot		pinctrl-0 = <&state_dpaux_i2c>;
742c66ec88fSEmmanuel Vadot		pinctrl-1 = <&state_dpaux_off>;
7437ef62cebSEmmanuel Vadot		dmas = <&gpcdma 30>, <&gpcdma 30>;
7447ef62cebSEmmanuel Vadot		dma-names = "rx", "tx";
745c66ec88fSEmmanuel Vadot		status = "disabled";
746c66ec88fSEmmanuel Vadot	};
747c66ec88fSEmmanuel Vadot
748c66ec88fSEmmanuel Vadot	gen7_i2c: i2c@31c0000 {
749e67e8565SEmmanuel Vadot		compatible = "nvidia,tegra186-i2c";
750c66ec88fSEmmanuel Vadot		reg = <0x0 0x031c0000 0x0 0x10000>;
751c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
752c66ec88fSEmmanuel Vadot		#address-cells = <1>;
753c66ec88fSEmmanuel Vadot		#size-cells = <0>;
754c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_I2C7>;
755c66ec88fSEmmanuel Vadot		clock-names = "div-clk";
756c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_I2C7>;
757c66ec88fSEmmanuel Vadot		reset-names = "i2c";
7587ef62cebSEmmanuel Vadot		dmas = <&gpcdma 27>, <&gpcdma 27>;
7597ef62cebSEmmanuel Vadot		dma-names = "rx", "tx";
760c66ec88fSEmmanuel Vadot		status = "disabled";
761c66ec88fSEmmanuel Vadot	};
762c66ec88fSEmmanuel Vadot
763c66ec88fSEmmanuel Vadot	gen9_i2c: i2c@31e0000 {
764e67e8565SEmmanuel Vadot		compatible = "nvidia,tegra186-i2c";
765c66ec88fSEmmanuel Vadot		reg = <0x0 0x031e0000 0x0 0x10000>;
766c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
767c66ec88fSEmmanuel Vadot		#address-cells = <1>;
768c66ec88fSEmmanuel Vadot		#size-cells = <0>;
769c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_I2C9>;
770c66ec88fSEmmanuel Vadot		clock-names = "div-clk";
771c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_I2C9>;
772c66ec88fSEmmanuel Vadot		reset-names = "i2c";
7737ef62cebSEmmanuel Vadot		dmas = <&gpcdma 31>, <&gpcdma 31>;
7747ef62cebSEmmanuel Vadot		dma-names = "rx", "tx";
775c66ec88fSEmmanuel Vadot		status = "disabled";
776c66ec88fSEmmanuel Vadot	};
777c66ec88fSEmmanuel Vadot
778354d7675SEmmanuel Vadot	pwm1: pwm@3280000 {
779354d7675SEmmanuel Vadot		compatible = "nvidia,tegra186-pwm";
780354d7675SEmmanuel Vadot		reg = <0x0 0x3280000 0x0 0x10000>;
781354d7675SEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_PWM1>;
782354d7675SEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_PWM1>;
783354d7675SEmmanuel Vadot		reset-names = "pwm";
784354d7675SEmmanuel Vadot		status = "disabled";
785354d7675SEmmanuel Vadot		#pwm-cells = <2>;
786354d7675SEmmanuel Vadot	};
787354d7675SEmmanuel Vadot
788354d7675SEmmanuel Vadot	pwm2: pwm@3290000 {
789354d7675SEmmanuel Vadot		compatible = "nvidia,tegra186-pwm";
790354d7675SEmmanuel Vadot		reg = <0x0 0x3290000 0x0 0x10000>;
791354d7675SEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_PWM2>;
792354d7675SEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_PWM2>;
793354d7675SEmmanuel Vadot		reset-names = "pwm";
794354d7675SEmmanuel Vadot		status = "disabled";
795354d7675SEmmanuel Vadot		#pwm-cells = <2>;
796354d7675SEmmanuel Vadot	};
797354d7675SEmmanuel Vadot
798354d7675SEmmanuel Vadot	pwm3: pwm@32a0000 {
799354d7675SEmmanuel Vadot		compatible = "nvidia,tegra186-pwm";
800354d7675SEmmanuel Vadot		reg = <0x0 0x32a0000 0x0 0x10000>;
801354d7675SEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_PWM3>;
802354d7675SEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_PWM3>;
803354d7675SEmmanuel Vadot		reset-names = "pwm";
804354d7675SEmmanuel Vadot		status = "disabled";
805354d7675SEmmanuel Vadot		#pwm-cells = <2>;
806354d7675SEmmanuel Vadot	};
807354d7675SEmmanuel Vadot
808354d7675SEmmanuel Vadot	pwm5: pwm@32c0000 {
809354d7675SEmmanuel Vadot		compatible = "nvidia,tegra186-pwm";
810354d7675SEmmanuel Vadot		reg = <0x0 0x32c0000 0x0 0x10000>;
811354d7675SEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_PWM5>;
812354d7675SEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_PWM5>;
813354d7675SEmmanuel Vadot		reset-names = "pwm";
814354d7675SEmmanuel Vadot		status = "disabled";
815354d7675SEmmanuel Vadot		#pwm-cells = <2>;
816354d7675SEmmanuel Vadot	};
817354d7675SEmmanuel Vadot
818354d7675SEmmanuel Vadot	pwm6: pwm@32d0000 {
819354d7675SEmmanuel Vadot		compatible = "nvidia,tegra186-pwm";
820354d7675SEmmanuel Vadot		reg = <0x0 0x32d0000 0x0 0x10000>;
821354d7675SEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_PWM6>;
822354d7675SEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_PWM6>;
823354d7675SEmmanuel Vadot		reset-names = "pwm";
824354d7675SEmmanuel Vadot		status = "disabled";
825354d7675SEmmanuel Vadot		#pwm-cells = <2>;
826354d7675SEmmanuel Vadot	};
827354d7675SEmmanuel Vadot
828354d7675SEmmanuel Vadot	pwm7: pwm@32e0000 {
829354d7675SEmmanuel Vadot		compatible = "nvidia,tegra186-pwm";
830354d7675SEmmanuel Vadot		reg = <0x0 0x32e0000 0x0 0x10000>;
831354d7675SEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_PWM7>;
832354d7675SEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_PWM7>;
833354d7675SEmmanuel Vadot		reset-names = "pwm";
834354d7675SEmmanuel Vadot		status = "disabled";
835354d7675SEmmanuel Vadot		#pwm-cells = <2>;
836354d7675SEmmanuel Vadot	};
837354d7675SEmmanuel Vadot
838354d7675SEmmanuel Vadot	pwm8: pwm@32f0000 {
839354d7675SEmmanuel Vadot		compatible = "nvidia,tegra186-pwm";
840354d7675SEmmanuel Vadot		reg = <0x0 0x32f0000 0x0 0x10000>;
841354d7675SEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_PWM8>;
842354d7675SEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_PWM8>;
843354d7675SEmmanuel Vadot		reset-names = "pwm";
844354d7675SEmmanuel Vadot		status = "disabled";
845354d7675SEmmanuel Vadot		#pwm-cells = <2>;
846354d7675SEmmanuel Vadot	};
847354d7675SEmmanuel Vadot
848c66ec88fSEmmanuel Vadot	sdmmc1: mmc@3400000 {
849c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-sdhci";
850c66ec88fSEmmanuel Vadot		reg = <0x0 0x03400000 0x0 0x10000>;
851c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
852c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_SDMMC1>,
853c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>;
854c66ec88fSEmmanuel Vadot		clock-names = "sdhci", "tmclk";
855c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_SDMMC1>;
856c66ec88fSEmmanuel Vadot		reset-names = "sdhci";
857c66ec88fSEmmanuel Vadot		interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCRA &emc>,
858c66ec88fSEmmanuel Vadot				<&mc TEGRA186_MEMORY_CLIENT_SDMMCWA &emc>;
859c66ec88fSEmmanuel Vadot		interconnect-names = "dma-mem", "write";
860c66ec88fSEmmanuel Vadot		iommus = <&smmu TEGRA186_SID_SDMMC1>;
861c66ec88fSEmmanuel Vadot		pinctrl-names = "sdmmc-3v3", "sdmmc-1v8";
862c66ec88fSEmmanuel Vadot		pinctrl-0 = <&sdmmc1_3v3>;
863c66ec88fSEmmanuel Vadot		pinctrl-1 = <&sdmmc1_1v8>;
864c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>;
865c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x06>;
866c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x07>;
867c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>;
868c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-up-offset-sdr104 = <0x03>;
869c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-down-offset-sdr104 = <0x05>;
870c66ec88fSEmmanuel Vadot		nvidia,default-tap = <0x5>;
871c66ec88fSEmmanuel Vadot		nvidia,default-trim = <0xb>;
872c66ec88fSEmmanuel Vadot		assigned-clocks = <&bpmp TEGRA186_CLK_SDMMC1>,
873c66ec88fSEmmanuel Vadot				  <&bpmp TEGRA186_CLK_PLLP_OUT0>;
874c66ec88fSEmmanuel Vadot		assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLP_OUT0>;
875c66ec88fSEmmanuel Vadot		status = "disabled";
876c66ec88fSEmmanuel Vadot	};
877c66ec88fSEmmanuel Vadot
878c66ec88fSEmmanuel Vadot	sdmmc2: mmc@3420000 {
879c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-sdhci";
880c66ec88fSEmmanuel Vadot		reg = <0x0 0x03420000 0x0 0x10000>;
881c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
882c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_SDMMC2>,
883c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>;
884c66ec88fSEmmanuel Vadot		clock-names = "sdhci", "tmclk";
885c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_SDMMC2>;
886c66ec88fSEmmanuel Vadot		reset-names = "sdhci";
887c66ec88fSEmmanuel Vadot		interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCRAA &emc>,
888c66ec88fSEmmanuel Vadot				<&mc TEGRA186_MEMORY_CLIENT_SDMMCWAA &emc>;
889c66ec88fSEmmanuel Vadot		interconnect-names = "dma-mem", "write";
890c66ec88fSEmmanuel Vadot		iommus = <&smmu TEGRA186_SID_SDMMC2>;
891c66ec88fSEmmanuel Vadot		pinctrl-names = "sdmmc-3v3", "sdmmc-1v8";
892c66ec88fSEmmanuel Vadot		pinctrl-0 = <&sdmmc2_3v3>;
893c66ec88fSEmmanuel Vadot		pinctrl-1 = <&sdmmc2_1v8>;
894c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>;
895c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x06>;
896c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x07>;
897c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>;
898c66ec88fSEmmanuel Vadot		nvidia,default-tap = <0x5>;
899c66ec88fSEmmanuel Vadot		nvidia,default-trim = <0xb>;
900c66ec88fSEmmanuel Vadot		status = "disabled";
901c66ec88fSEmmanuel Vadot	};
902c66ec88fSEmmanuel Vadot
903c66ec88fSEmmanuel Vadot	sdmmc3: mmc@3440000 {
904c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-sdhci";
905c66ec88fSEmmanuel Vadot		reg = <0x0 0x03440000 0x0 0x10000>;
906c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
907c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_SDMMC3>,
908c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>;
909c66ec88fSEmmanuel Vadot		clock-names = "sdhci", "tmclk";
910c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_SDMMC3>;
911c66ec88fSEmmanuel Vadot		reset-names = "sdhci";
912c66ec88fSEmmanuel Vadot		interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCR &emc>,
913c66ec88fSEmmanuel Vadot				<&mc TEGRA186_MEMORY_CLIENT_SDMMCW &emc>;
914c66ec88fSEmmanuel Vadot		interconnect-names = "dma-mem", "write";
915c66ec88fSEmmanuel Vadot		iommus = <&smmu TEGRA186_SID_SDMMC3>;
916c66ec88fSEmmanuel Vadot		pinctrl-names = "sdmmc-3v3", "sdmmc-1v8";
917c66ec88fSEmmanuel Vadot		pinctrl-0 = <&sdmmc3_3v3>;
918c66ec88fSEmmanuel Vadot		pinctrl-1 = <&sdmmc3_1v8>;
919c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-up-offset-1v8 = <0x00>;
920c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-down-offset-1v8 = <0x7a>;
921c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>;
922c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x06>;
923c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x07>;
924c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>;
925c66ec88fSEmmanuel Vadot		nvidia,default-tap = <0x5>;
926c66ec88fSEmmanuel Vadot		nvidia,default-trim = <0xb>;
927c66ec88fSEmmanuel Vadot		status = "disabled";
928c66ec88fSEmmanuel Vadot	};
929c66ec88fSEmmanuel Vadot
930c66ec88fSEmmanuel Vadot	sdmmc4: mmc@3460000 {
931c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-sdhci";
932c66ec88fSEmmanuel Vadot		reg = <0x0 0x03460000 0x0 0x10000>;
933c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
934c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_SDMMC4>,
935c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>;
936c66ec88fSEmmanuel Vadot		clock-names = "sdhci", "tmclk";
937c66ec88fSEmmanuel Vadot		assigned-clocks = <&bpmp TEGRA186_CLK_SDMMC4>,
938c66ec88fSEmmanuel Vadot				  <&bpmp TEGRA186_CLK_PLLC4_VCO>;
939c66ec88fSEmmanuel Vadot		assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLC4_VCO>;
940c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_SDMMC4>;
941c66ec88fSEmmanuel Vadot		reset-names = "sdhci";
942c66ec88fSEmmanuel Vadot		interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCRAB &emc>,
943c66ec88fSEmmanuel Vadot				<&mc TEGRA186_MEMORY_CLIENT_SDMMCWAB &emc>;
944c66ec88fSEmmanuel Vadot		interconnect-names = "dma-mem", "write";
945c66ec88fSEmmanuel Vadot		iommus = <&smmu TEGRA186_SID_SDMMC4>;
946c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-up-offset-hs400 = <0x05>;
947c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-down-offset-hs400 = <0x05>;
948c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x0a>;
949c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x0a>;
950c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x0a>;
951c66ec88fSEmmanuel Vadot		nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x0a>;
952c66ec88fSEmmanuel Vadot		nvidia,default-tap = <0x9>;
953c66ec88fSEmmanuel Vadot		nvidia,default-trim = <0x5>;
954c66ec88fSEmmanuel Vadot		nvidia,dqs-trim = <63>;
955c66ec88fSEmmanuel Vadot		mmc-hs400-1_8v;
956c66ec88fSEmmanuel Vadot		supports-cqe;
957c66ec88fSEmmanuel Vadot		status = "disabled";
958c66ec88fSEmmanuel Vadot	};
959c66ec88fSEmmanuel Vadot
960cb7aa33aSEmmanuel Vadot	sata@3507000 {
961cb7aa33aSEmmanuel Vadot		compatible = "nvidia,tegra186-ahci";
962cb7aa33aSEmmanuel Vadot		reg = <0x0 0x03507000 0x0 0x00002000>, /* AHCI */
963cb7aa33aSEmmanuel Vadot		      <0x0 0x03500000 0x0 0x00007000>, /* SATA */
964cb7aa33aSEmmanuel Vadot		      <0x0 0x03A90000 0x0 0x00010000>; /* SATA AUX */
965cb7aa33aSEmmanuel Vadot		interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
966cb7aa33aSEmmanuel Vadot
967cb7aa33aSEmmanuel Vadot		power-domains = <&bpmp TEGRA186_POWER_DOMAIN_SAX>;
968cb7aa33aSEmmanuel Vadot		interconnects = <&mc TEGRA186_MEMORY_CLIENT_SATAR &emc>,
969cb7aa33aSEmmanuel Vadot				<&mc TEGRA186_MEMORY_CLIENT_SATAW &emc>;
970cb7aa33aSEmmanuel Vadot		interconnect-names = "dma-mem", "write";
971cb7aa33aSEmmanuel Vadot		iommus = <&smmu TEGRA186_SID_SATA>;
972cb7aa33aSEmmanuel Vadot
973cb7aa33aSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_SATA>,
974cb7aa33aSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_SATA_OOB>;
975cb7aa33aSEmmanuel Vadot		clock-names = "sata", "sata-oob";
976cb7aa33aSEmmanuel Vadot		assigned-clocks = <&bpmp TEGRA186_CLK_SATA>,
977cb7aa33aSEmmanuel Vadot				  <&bpmp TEGRA186_CLK_SATA_OOB>;
978cb7aa33aSEmmanuel Vadot		assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLP_OUT0>,
979cb7aa33aSEmmanuel Vadot					 <&bpmp TEGRA186_CLK_PLLP>;
980cb7aa33aSEmmanuel Vadot		assigned-clock-rates = <102000000>,
981cb7aa33aSEmmanuel Vadot				       <204000000>;
982cb7aa33aSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_SATA>,
983cb7aa33aSEmmanuel Vadot			<&bpmp TEGRA186_RESET_SATACOLD>;
984cb7aa33aSEmmanuel Vadot		reset-names = "sata", "sata-cold";
985cb7aa33aSEmmanuel Vadot		status = "disabled";
986cb7aa33aSEmmanuel Vadot	};
987cb7aa33aSEmmanuel Vadot
988c66ec88fSEmmanuel Vadot	hda@3510000 {
989c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-hda", "nvidia,tegra30-hda";
990c66ec88fSEmmanuel Vadot		reg = <0x0 0x03510000 0x0 0x10000>;
991c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
992c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_HDA>,
993c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_HDA2HDMICODEC>,
994c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_HDA2CODEC_2X>;
995c66ec88fSEmmanuel Vadot		clock-names = "hda", "hda2hdmi", "hda2codec_2x";
996c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_HDA>,
997c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_RESET_HDA2HDMICODEC>,
998c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_RESET_HDA2CODEC_2X>;
999c66ec88fSEmmanuel Vadot		reset-names = "hda", "hda2hdmi", "hda2codec_2x";
1000c66ec88fSEmmanuel Vadot		power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1001c66ec88fSEmmanuel Vadot		interconnects = <&mc TEGRA186_MEMORY_CLIENT_HDAR &emc>,
1002c66ec88fSEmmanuel Vadot				<&mc TEGRA186_MEMORY_CLIENT_HDAW &emc>;
1003c66ec88fSEmmanuel Vadot		interconnect-names = "dma-mem", "write";
1004c66ec88fSEmmanuel Vadot		iommus = <&smmu TEGRA186_SID_HDA>;
1005c66ec88fSEmmanuel Vadot		status = "disabled";
1006c66ec88fSEmmanuel Vadot	};
1007c66ec88fSEmmanuel Vadot
1008c66ec88fSEmmanuel Vadot	padctl: padctl@3520000 {
1009c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-xusb-padctl";
1010c66ec88fSEmmanuel Vadot		reg = <0x0 0x03520000 0x0 0x1000>,
1011c66ec88fSEmmanuel Vadot		      <0x0 0x03540000 0x0 0x1000>;
1012c66ec88fSEmmanuel Vadot		reg-names = "padctl", "ao";
10135def4c47SEmmanuel Vadot		interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
1014c66ec88fSEmmanuel Vadot
1015c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_XUSB_PADCTL>;
1016c66ec88fSEmmanuel Vadot		reset-names = "padctl";
1017c66ec88fSEmmanuel Vadot
1018c66ec88fSEmmanuel Vadot		status = "disabled";
1019c66ec88fSEmmanuel Vadot
1020c66ec88fSEmmanuel Vadot		pads {
1021c66ec88fSEmmanuel Vadot			usb2 {
1022c66ec88fSEmmanuel Vadot				clocks = <&bpmp TEGRA186_CLK_USB2_TRK>;
1023c66ec88fSEmmanuel Vadot				clock-names = "trk";
1024c66ec88fSEmmanuel Vadot				status = "disabled";
1025c66ec88fSEmmanuel Vadot
1026c66ec88fSEmmanuel Vadot				lanes {
1027c66ec88fSEmmanuel Vadot					usb2-0 {
1028c66ec88fSEmmanuel Vadot						status = "disabled";
1029c66ec88fSEmmanuel Vadot						#phy-cells = <0>;
1030c66ec88fSEmmanuel Vadot					};
1031c66ec88fSEmmanuel Vadot
1032c66ec88fSEmmanuel Vadot					usb2-1 {
1033c66ec88fSEmmanuel Vadot						status = "disabled";
1034c66ec88fSEmmanuel Vadot						#phy-cells = <0>;
1035c66ec88fSEmmanuel Vadot					};
1036c66ec88fSEmmanuel Vadot
1037c66ec88fSEmmanuel Vadot					usb2-2 {
1038c66ec88fSEmmanuel Vadot						status = "disabled";
1039c66ec88fSEmmanuel Vadot						#phy-cells = <0>;
1040c66ec88fSEmmanuel Vadot					};
1041c66ec88fSEmmanuel Vadot				};
1042c66ec88fSEmmanuel Vadot			};
1043c66ec88fSEmmanuel Vadot
1044c66ec88fSEmmanuel Vadot			hsic {
1045c66ec88fSEmmanuel Vadot				clocks = <&bpmp TEGRA186_CLK_HSIC_TRK>;
1046c66ec88fSEmmanuel Vadot				clock-names = "trk";
1047c66ec88fSEmmanuel Vadot				status = "disabled";
1048c66ec88fSEmmanuel Vadot
1049c66ec88fSEmmanuel Vadot				lanes {
1050c66ec88fSEmmanuel Vadot					hsic-0 {
1051c66ec88fSEmmanuel Vadot						status = "disabled";
1052c66ec88fSEmmanuel Vadot						#phy-cells = <0>;
1053c66ec88fSEmmanuel Vadot					};
1054c66ec88fSEmmanuel Vadot				};
1055c66ec88fSEmmanuel Vadot			};
1056c66ec88fSEmmanuel Vadot
1057c66ec88fSEmmanuel Vadot			usb3 {
1058c66ec88fSEmmanuel Vadot				status = "disabled";
1059c66ec88fSEmmanuel Vadot
1060c66ec88fSEmmanuel Vadot				lanes {
1061c66ec88fSEmmanuel Vadot					usb3-0 {
1062c66ec88fSEmmanuel Vadot						status = "disabled";
1063c66ec88fSEmmanuel Vadot						#phy-cells = <0>;
1064c66ec88fSEmmanuel Vadot					};
1065c66ec88fSEmmanuel Vadot
1066c66ec88fSEmmanuel Vadot					usb3-1 {
1067c66ec88fSEmmanuel Vadot						status = "disabled";
1068c66ec88fSEmmanuel Vadot						#phy-cells = <0>;
1069c66ec88fSEmmanuel Vadot					};
1070c66ec88fSEmmanuel Vadot
1071c66ec88fSEmmanuel Vadot					usb3-2 {
1072c66ec88fSEmmanuel Vadot						status = "disabled";
1073c66ec88fSEmmanuel Vadot						#phy-cells = <0>;
1074c66ec88fSEmmanuel Vadot					};
1075c66ec88fSEmmanuel Vadot				};
1076c66ec88fSEmmanuel Vadot			};
1077c66ec88fSEmmanuel Vadot		};
1078c66ec88fSEmmanuel Vadot
1079c66ec88fSEmmanuel Vadot		ports {
1080c66ec88fSEmmanuel Vadot			usb2-0 {
1081c66ec88fSEmmanuel Vadot				status = "disabled";
1082c66ec88fSEmmanuel Vadot			};
1083c66ec88fSEmmanuel Vadot
1084c66ec88fSEmmanuel Vadot			usb2-1 {
1085c66ec88fSEmmanuel Vadot				status = "disabled";
1086c66ec88fSEmmanuel Vadot			};
1087c66ec88fSEmmanuel Vadot
1088c66ec88fSEmmanuel Vadot			usb2-2 {
1089c66ec88fSEmmanuel Vadot				status = "disabled";
1090c66ec88fSEmmanuel Vadot			};
1091c66ec88fSEmmanuel Vadot
1092c66ec88fSEmmanuel Vadot			hsic-0 {
1093c66ec88fSEmmanuel Vadot				status = "disabled";
1094c66ec88fSEmmanuel Vadot			};
1095c66ec88fSEmmanuel Vadot
1096c66ec88fSEmmanuel Vadot			usb3-0 {
1097c66ec88fSEmmanuel Vadot				status = "disabled";
1098c66ec88fSEmmanuel Vadot			};
1099c66ec88fSEmmanuel Vadot
1100c66ec88fSEmmanuel Vadot			usb3-1 {
1101c66ec88fSEmmanuel Vadot				status = "disabled";
1102c66ec88fSEmmanuel Vadot			};
1103c66ec88fSEmmanuel Vadot
1104c66ec88fSEmmanuel Vadot			usb3-2 {
1105c66ec88fSEmmanuel Vadot				status = "disabled";
1106c66ec88fSEmmanuel Vadot			};
1107c66ec88fSEmmanuel Vadot		};
1108c66ec88fSEmmanuel Vadot	};
1109c66ec88fSEmmanuel Vadot
1110c66ec88fSEmmanuel Vadot	usb@3530000 {
1111c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-xusb";
1112c66ec88fSEmmanuel Vadot		reg = <0x0 0x03530000 0x0 0x8000>,
1113c66ec88fSEmmanuel Vadot		      <0x0 0x03538000 0x0 0x1000>;
1114c66ec88fSEmmanuel Vadot		reg-names = "hcd", "fpci";
1115c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
1116c66ec88fSEmmanuel Vadot			     <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
1117c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_XUSB_HOST>,
1118c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_XUSB_FALCON>,
1119c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_XUSB_SS>,
1120c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_XUSB_CORE_SS>,
1121c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_CLK_M>,
1122c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_XUSB_FS>,
1123c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_PLLU>,
1124c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_CLK_M>,
1125c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_PLLE>;
1126c66ec88fSEmmanuel Vadot		clock-names = "xusb_host", "xusb_falcon_src", "xusb_ss",
1127c66ec88fSEmmanuel Vadot			      "xusb_ss_src", "xusb_hs_src", "xusb_fs_src",
1128c66ec88fSEmmanuel Vadot			      "pll_u_480m", "clk_m", "pll_e";
1129c66ec88fSEmmanuel Vadot		power-domains = <&bpmp TEGRA186_POWER_DOMAIN_XUSBC>,
1130c66ec88fSEmmanuel Vadot				<&bpmp TEGRA186_POWER_DOMAIN_XUSBA>;
1131c66ec88fSEmmanuel Vadot		power-domain-names = "xusb_host", "xusb_ss";
1132c66ec88fSEmmanuel Vadot		interconnects = <&mc TEGRA186_MEMORY_CLIENT_XUSB_HOSTR &emc>,
1133c66ec88fSEmmanuel Vadot				<&mc TEGRA186_MEMORY_CLIENT_XUSB_HOSTW &emc>;
1134c66ec88fSEmmanuel Vadot		interconnect-names = "dma-mem", "write";
1135c66ec88fSEmmanuel Vadot		iommus = <&smmu TEGRA186_SID_XUSB_HOST>;
1136c66ec88fSEmmanuel Vadot		#address-cells = <1>;
1137c66ec88fSEmmanuel Vadot		#size-cells = <0>;
1138c66ec88fSEmmanuel Vadot		status = "disabled";
1139c66ec88fSEmmanuel Vadot
1140c66ec88fSEmmanuel Vadot		nvidia,xusb-padctl = <&padctl>;
1141c66ec88fSEmmanuel Vadot	};
1142c66ec88fSEmmanuel Vadot
1143c66ec88fSEmmanuel Vadot	usb@3550000 {
1144c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-xudc";
1145c66ec88fSEmmanuel Vadot		reg = <0x0 0x03550000 0x0 0x8000>,
1146c66ec88fSEmmanuel Vadot		      <0x0 0x03558000 0x0 0x1000>;
1147c66ec88fSEmmanuel Vadot		reg-names = "base", "fpci";
1148c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
1149c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_XUSB_CORE_DEV>,
1150c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_XUSB_SS>,
1151c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_XUSB_CORE_SS>,
1152c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_XUSB_FS>;
1153c66ec88fSEmmanuel Vadot		clock-names = "dev", "ss", "ss_src", "fs_src";
1154354d7675SEmmanuel Vadot		interconnects = <&mc TEGRA186_MEMORY_CLIENT_XUSB_DEVR &emc>,
1155354d7675SEmmanuel Vadot				<&mc TEGRA186_MEMORY_CLIENT_XUSB_DEVW &emc>;
1156354d7675SEmmanuel Vadot		interconnect-names = "dma-mem", "write";
1157c66ec88fSEmmanuel Vadot		iommus = <&smmu TEGRA186_SID_XUSB_DEV>;
1158c66ec88fSEmmanuel Vadot		power-domains = <&bpmp TEGRA186_POWER_DOMAIN_XUSBB>,
1159c66ec88fSEmmanuel Vadot				<&bpmp TEGRA186_POWER_DOMAIN_XUSBA>;
1160c66ec88fSEmmanuel Vadot		power-domain-names = "dev", "ss";
1161c66ec88fSEmmanuel Vadot		nvidia,xusb-padctl = <&padctl>;
1162c66ec88fSEmmanuel Vadot		status = "disabled";
1163c66ec88fSEmmanuel Vadot	};
1164c66ec88fSEmmanuel Vadot
1165c66ec88fSEmmanuel Vadot	fuse@3820000 {
1166c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-efuse";
1167c66ec88fSEmmanuel Vadot		reg = <0x0 0x03820000 0x0 0x10000>;
1168c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_FUSE>;
1169c66ec88fSEmmanuel Vadot		clock-names = "fuse";
1170c66ec88fSEmmanuel Vadot	};
1171c66ec88fSEmmanuel Vadot
1172c66ec88fSEmmanuel Vadot	gic: interrupt-controller@3881000 {
1173c66ec88fSEmmanuel Vadot		compatible = "arm,gic-400";
1174c66ec88fSEmmanuel Vadot		#interrupt-cells = <3>;
1175c66ec88fSEmmanuel Vadot		interrupt-controller;
1176c66ec88fSEmmanuel Vadot		reg = <0x0 0x03881000 0x0 0x1000>,
11775def4c47SEmmanuel Vadot		      <0x0 0x03882000 0x0 0x2000>,
11785def4c47SEmmanuel Vadot		      <0x0 0x03884000 0x0 0x2000>,
11795def4c47SEmmanuel Vadot		      <0x0 0x03886000 0x0 0x2000>;
1180c66ec88fSEmmanuel Vadot		interrupts = <GIC_PPI 9
1181c66ec88fSEmmanuel Vadot			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
1182c66ec88fSEmmanuel Vadot		interrupt-parent = <&gic>;
1183c66ec88fSEmmanuel Vadot	};
1184c66ec88fSEmmanuel Vadot
1185c66ec88fSEmmanuel Vadot	cec@3960000 {
1186c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-cec";
1187c66ec88fSEmmanuel Vadot		reg = <0x0 0x03960000 0x0 0x10000>;
1188c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
1189c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_CEC>;
1190c66ec88fSEmmanuel Vadot		clock-names = "cec";
1191c66ec88fSEmmanuel Vadot		status = "disabled";
1192c66ec88fSEmmanuel Vadot	};
1193c66ec88fSEmmanuel Vadot
1194c66ec88fSEmmanuel Vadot	hsp_top0: hsp@3c00000 {
1195c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-hsp";
1196c66ec88fSEmmanuel Vadot		reg = <0x0 0x03c00000 0x0 0xa0000>;
1197c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
1198c66ec88fSEmmanuel Vadot		interrupt-names = "doorbell";
1199c66ec88fSEmmanuel Vadot		#mbox-cells = <2>;
1200c66ec88fSEmmanuel Vadot		status = "disabled";
1201c66ec88fSEmmanuel Vadot	};
1202c66ec88fSEmmanuel Vadot
1203c66ec88fSEmmanuel Vadot	gen2_i2c: i2c@c240000 {
1204e67e8565SEmmanuel Vadot		compatible = "nvidia,tegra186-i2c";
1205c66ec88fSEmmanuel Vadot		reg = <0x0 0x0c240000 0x0 0x10000>;
1206c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
1207c66ec88fSEmmanuel Vadot		#address-cells = <1>;
1208c66ec88fSEmmanuel Vadot		#size-cells = <0>;
1209c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_I2C2>;
1210c66ec88fSEmmanuel Vadot		clock-names = "div-clk";
1211c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_I2C2>;
1212c66ec88fSEmmanuel Vadot		reset-names = "i2c";
12137ef62cebSEmmanuel Vadot		dmas = <&gpcdma 22>, <&gpcdma 22>;
12147ef62cebSEmmanuel Vadot		dma-names = "rx", "tx";
1215c66ec88fSEmmanuel Vadot		status = "disabled";
1216c66ec88fSEmmanuel Vadot	};
1217c66ec88fSEmmanuel Vadot
1218c66ec88fSEmmanuel Vadot	gen8_i2c: i2c@c250000 {
1219e67e8565SEmmanuel Vadot		compatible = "nvidia,tegra186-i2c";
1220c66ec88fSEmmanuel Vadot		reg = <0x0 0x0c250000 0x0 0x10000>;
1221c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
1222c66ec88fSEmmanuel Vadot		#address-cells = <1>;
1223c66ec88fSEmmanuel Vadot		#size-cells = <0>;
1224c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_I2C8>;
1225c66ec88fSEmmanuel Vadot		clock-names = "div-clk";
1226c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_I2C8>;
1227c66ec88fSEmmanuel Vadot		reset-names = "i2c";
12287ef62cebSEmmanuel Vadot		dmas = <&gpcdma 0>, <&gpcdma 0>;
12297ef62cebSEmmanuel Vadot		dma-names = "rx", "tx";
1230c66ec88fSEmmanuel Vadot		status = "disabled";
1231c66ec88fSEmmanuel Vadot	};
1232c66ec88fSEmmanuel Vadot
1233c66ec88fSEmmanuel Vadot	uartc: serial@c280000 {
1234c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
1235c66ec88fSEmmanuel Vadot		reg = <0x0 0x0c280000 0x0 0x40>;
1236c66ec88fSEmmanuel Vadot		reg-shift = <2>;
1237c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
1238c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_UARTC>;
1239c66ec88fSEmmanuel Vadot		clock-names = "serial";
1240c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_UARTC>;
1241c66ec88fSEmmanuel Vadot		reset-names = "serial";
1242c66ec88fSEmmanuel Vadot		status = "disabled";
1243c66ec88fSEmmanuel Vadot	};
1244c66ec88fSEmmanuel Vadot
1245c66ec88fSEmmanuel Vadot	uartg: serial@c290000 {
1246c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
1247c66ec88fSEmmanuel Vadot		reg = <0x0 0x0c290000 0x0 0x40>;
1248c66ec88fSEmmanuel Vadot		reg-shift = <2>;
1249c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
1250c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_UARTG>;
1251c66ec88fSEmmanuel Vadot		clock-names = "serial";
1252c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_UARTG>;
1253c66ec88fSEmmanuel Vadot		reset-names = "serial";
1254c66ec88fSEmmanuel Vadot		status = "disabled";
1255c66ec88fSEmmanuel Vadot	};
1256c66ec88fSEmmanuel Vadot
1257c66ec88fSEmmanuel Vadot	rtc: rtc@c2a0000 {
1258c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-rtc", "nvidia,tegra20-rtc";
1259c66ec88fSEmmanuel Vadot		reg = <0 0x0c2a0000 0 0x10000>;
1260c66ec88fSEmmanuel Vadot		interrupt-parent = <&pmc>;
1261c66ec88fSEmmanuel Vadot		interrupts = <73 IRQ_TYPE_LEVEL_HIGH>;
1262c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_CLK_32K>;
1263c66ec88fSEmmanuel Vadot		clock-names = "rtc";
1264c66ec88fSEmmanuel Vadot		status = "disabled";
1265c66ec88fSEmmanuel Vadot	};
1266c66ec88fSEmmanuel Vadot
1267c66ec88fSEmmanuel Vadot	gpio_aon: gpio@c2f0000 {
1268c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-gpio-aon";
1269c66ec88fSEmmanuel Vadot		reg-names = "security", "gpio";
1270c66ec88fSEmmanuel Vadot		reg = <0x0 0xc2f0000 0x0 0x1000>,
1271c66ec88fSEmmanuel Vadot		      <0x0 0xc2f1000 0x0 0x1000>;
1272c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
1273c66ec88fSEmmanuel Vadot		gpio-controller;
1274c66ec88fSEmmanuel Vadot		#gpio-cells = <2>;
1275c66ec88fSEmmanuel Vadot		interrupt-controller;
1276c66ec88fSEmmanuel Vadot		#interrupt-cells = <2>;
1277c66ec88fSEmmanuel Vadot	};
1278c66ec88fSEmmanuel Vadot
1279354d7675SEmmanuel Vadot	pwm4: pwm@c340000 {
1280354d7675SEmmanuel Vadot		compatible = "nvidia,tegra186-pwm";
1281354d7675SEmmanuel Vadot		reg = <0x0 0xc340000 0x0 0x10000>;
1282354d7675SEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_PWM4>;
1283354d7675SEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_PWM4>;
1284354d7675SEmmanuel Vadot		reset-names = "pwm";
1285354d7675SEmmanuel Vadot		status = "disabled";
1286354d7675SEmmanuel Vadot		#pwm-cells = <2>;
1287354d7675SEmmanuel Vadot	};
1288354d7675SEmmanuel Vadot
1289c66ec88fSEmmanuel Vadot	pmc: pmc@c360000 {
1290c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-pmc";
1291c66ec88fSEmmanuel Vadot		reg = <0 0x0c360000 0 0x10000>,
1292c66ec88fSEmmanuel Vadot		      <0 0x0c370000 0 0x10000>,
1293c66ec88fSEmmanuel Vadot		      <0 0x0c380000 0 0x10000>,
1294c66ec88fSEmmanuel Vadot		      <0 0x0c390000 0 0x10000>;
1295c66ec88fSEmmanuel Vadot		reg-names = "pmc", "wake", "aotag", "scratch";
1296c66ec88fSEmmanuel Vadot
1297c66ec88fSEmmanuel Vadot		#interrupt-cells = <2>;
1298c66ec88fSEmmanuel Vadot		interrupt-controller;
1299c66ec88fSEmmanuel Vadot
1300c66ec88fSEmmanuel Vadot		sdmmc1_1v8: sdmmc1-1v8 {
1301c66ec88fSEmmanuel Vadot			pins = "sdmmc1-hv";
1302c66ec88fSEmmanuel Vadot			power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
1303c66ec88fSEmmanuel Vadot		};
1304c66ec88fSEmmanuel Vadot
1305cb7aa33aSEmmanuel Vadot		sdmmc1_3v3: sdmmc1-3v3 {
1306cb7aa33aSEmmanuel Vadot			pins = "sdmmc1-hv";
1307c66ec88fSEmmanuel Vadot			power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>;
1308c66ec88fSEmmanuel Vadot		};
1309c66ec88fSEmmanuel Vadot
1310c66ec88fSEmmanuel Vadot		sdmmc2_1v8: sdmmc2-1v8 {
1311c66ec88fSEmmanuel Vadot			pins = "sdmmc2-hv";
1312c66ec88fSEmmanuel Vadot			power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
1313c66ec88fSEmmanuel Vadot		};
1314c66ec88fSEmmanuel Vadot
1315cb7aa33aSEmmanuel Vadot		sdmmc2_3v3: sdmmc2-3v3 {
1316cb7aa33aSEmmanuel Vadot			pins = "sdmmc2-hv";
1317c66ec88fSEmmanuel Vadot			power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>;
1318c66ec88fSEmmanuel Vadot		};
1319c66ec88fSEmmanuel Vadot
1320c66ec88fSEmmanuel Vadot		sdmmc3_1v8: sdmmc3-1v8 {
1321c66ec88fSEmmanuel Vadot			pins = "sdmmc3-hv";
1322c66ec88fSEmmanuel Vadot			power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
1323c66ec88fSEmmanuel Vadot		};
1324cb7aa33aSEmmanuel Vadot
1325cb7aa33aSEmmanuel Vadot		sdmmc3_3v3: sdmmc3-3v3 {
1326cb7aa33aSEmmanuel Vadot			pins = "sdmmc3-hv";
1327cb7aa33aSEmmanuel Vadot			power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>;
1328cb7aa33aSEmmanuel Vadot		};
1329c66ec88fSEmmanuel Vadot	};
1330c66ec88fSEmmanuel Vadot
1331c66ec88fSEmmanuel Vadot	ccplex@e000000 {
1332c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-ccplex-cluster";
1333e67e8565SEmmanuel Vadot		reg = <0x0 0x0e000000 0x0 0x400000>;
1334c66ec88fSEmmanuel Vadot
1335c66ec88fSEmmanuel Vadot		nvidia,bpmp = <&bpmp>;
1336c66ec88fSEmmanuel Vadot	};
1337c66ec88fSEmmanuel Vadot
1338c66ec88fSEmmanuel Vadot	pcie@10003000 {
1339c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-pcie";
1340c66ec88fSEmmanuel Vadot		power-domains = <&bpmp TEGRA186_POWER_DOMAIN_PCX>;
1341c66ec88fSEmmanuel Vadot		device_type = "pci";
1342c66ec88fSEmmanuel Vadot		reg = <0x0 0x10003000 0x0 0x00000800>, /* PADS registers */
1343c66ec88fSEmmanuel Vadot		      <0x0 0x10003800 0x0 0x00000800>, /* AFI registers */
1344c66ec88fSEmmanuel Vadot		      <0x0 0x40000000 0x0 0x10000000>; /* configuration space */
1345c66ec88fSEmmanuel Vadot		reg-names = "pads", "afi", "cs";
1346c66ec88fSEmmanuel Vadot
1347c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
1348c66ec88fSEmmanuel Vadot			     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
1349c66ec88fSEmmanuel Vadot		interrupt-names = "intr", "msi";
1350c66ec88fSEmmanuel Vadot
1351c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
1352c66ec88fSEmmanuel Vadot		interrupt-map-mask = <0 0 0 0>;
1353c66ec88fSEmmanuel Vadot		interrupt-map = <0 0 0 0 &gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
1354c66ec88fSEmmanuel Vadot
1355c66ec88fSEmmanuel Vadot		bus-range = <0x00 0xff>;
1356c66ec88fSEmmanuel Vadot		#address-cells = <3>;
1357c66ec88fSEmmanuel Vadot		#size-cells = <2>;
1358c66ec88fSEmmanuel Vadot
1359c66ec88fSEmmanuel Vadot		ranges = <0x02000000 0 0x10000000 0x0 0x10000000 0 0x00001000>, /* port 0 configuration space */
1360c66ec88fSEmmanuel Vadot			 <0x02000000 0 0x10001000 0x0 0x10001000 0 0x00001000>,/* port 1 configuration space */
1361c66ec88fSEmmanuel Vadot			 <0x02000000 0 0x10004000 0x0 0x10004000 0 0x00001000>, /* port 2 configuration space */
1362c66ec88fSEmmanuel Vadot			 <0x01000000 0 0x0        0x0 0x50000000 0 0x00010000>, /* downstream I/O (64 KiB) */
1363c66ec88fSEmmanuel Vadot			 <0x02000000 0 0x50100000 0x0 0x50100000 0 0x07f00000>, /* non-prefetchable memory (127 MiB) */
1364c66ec88fSEmmanuel Vadot			 <0x42000000 0 0x58000000 0x0 0x58000000 0 0x28000000>; /* prefetchable memory (640 MiB) */
1365c66ec88fSEmmanuel Vadot
1366c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_PCIE>,
1367c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_AFI>,
1368c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_PLLE>;
1369c66ec88fSEmmanuel Vadot		clock-names = "pex", "afi", "pll_e";
1370c66ec88fSEmmanuel Vadot
1371c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_PCIE>,
1372c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_RESET_AFI>,
1373c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_RESET_PCIEXCLK>;
1374c66ec88fSEmmanuel Vadot		reset-names = "pex", "afi", "pcie_x";
1375c66ec88fSEmmanuel Vadot
1376c66ec88fSEmmanuel Vadot		interconnects = <&mc TEGRA186_MEMORY_CLIENT_AFIR &emc>,
1377c66ec88fSEmmanuel Vadot				<&mc TEGRA186_MEMORY_CLIENT_AFIW &emc>;
1378c66ec88fSEmmanuel Vadot		interconnect-names = "dma-mem", "write";
1379c66ec88fSEmmanuel Vadot
1380c66ec88fSEmmanuel Vadot		iommus = <&smmu TEGRA186_SID_AFI>;
1381c66ec88fSEmmanuel Vadot		iommu-map = <0x0 &smmu TEGRA186_SID_AFI 0x1000>;
1382c66ec88fSEmmanuel Vadot		iommu-map-mask = <0x0>;
1383c66ec88fSEmmanuel Vadot
1384c66ec88fSEmmanuel Vadot		status = "disabled";
1385c66ec88fSEmmanuel Vadot
1386c66ec88fSEmmanuel Vadot		pci@1,0 {
1387c66ec88fSEmmanuel Vadot			device_type = "pci";
1388c66ec88fSEmmanuel Vadot			assigned-addresses = <0x82000800 0 0x10000000 0 0x1000>;
1389c66ec88fSEmmanuel Vadot			reg = <0x000800 0 0 0 0>;
1390c66ec88fSEmmanuel Vadot			status = "disabled";
1391c66ec88fSEmmanuel Vadot
1392c66ec88fSEmmanuel Vadot			#address-cells = <3>;
1393c66ec88fSEmmanuel Vadot			#size-cells = <2>;
1394c66ec88fSEmmanuel Vadot			ranges;
1395c66ec88fSEmmanuel Vadot
1396c66ec88fSEmmanuel Vadot			nvidia,num-lanes = <2>;
1397c66ec88fSEmmanuel Vadot		};
1398c66ec88fSEmmanuel Vadot
1399c66ec88fSEmmanuel Vadot		pci@2,0 {
1400c66ec88fSEmmanuel Vadot			device_type = "pci";
1401c66ec88fSEmmanuel Vadot			assigned-addresses = <0x82001000 0 0x10001000 0 0x1000>;
1402c66ec88fSEmmanuel Vadot			reg = <0x001000 0 0 0 0>;
1403c66ec88fSEmmanuel Vadot			status = "disabled";
1404c66ec88fSEmmanuel Vadot
1405c66ec88fSEmmanuel Vadot			#address-cells = <3>;
1406c66ec88fSEmmanuel Vadot			#size-cells = <2>;
1407c66ec88fSEmmanuel Vadot			ranges;
1408c66ec88fSEmmanuel Vadot
1409c66ec88fSEmmanuel Vadot			nvidia,num-lanes = <1>;
1410c66ec88fSEmmanuel Vadot		};
1411c66ec88fSEmmanuel Vadot
1412c66ec88fSEmmanuel Vadot		pci@3,0 {
1413c66ec88fSEmmanuel Vadot			device_type = "pci";
1414c66ec88fSEmmanuel Vadot			assigned-addresses = <0x82001800 0 0x10004000 0 0x1000>;
1415c66ec88fSEmmanuel Vadot			reg = <0x001800 0 0 0 0>;
1416c66ec88fSEmmanuel Vadot			status = "disabled";
1417c66ec88fSEmmanuel Vadot
1418c66ec88fSEmmanuel Vadot			#address-cells = <3>;
1419c66ec88fSEmmanuel Vadot			#size-cells = <2>;
1420c66ec88fSEmmanuel Vadot			ranges;
1421c66ec88fSEmmanuel Vadot
1422c66ec88fSEmmanuel Vadot			nvidia,num-lanes = <1>;
1423c66ec88fSEmmanuel Vadot		};
1424c66ec88fSEmmanuel Vadot	};
1425c66ec88fSEmmanuel Vadot
1426c66ec88fSEmmanuel Vadot	smmu: iommu@12000000 {
14275956d97fSEmmanuel Vadot		compatible = "nvidia,tegra186-smmu", "nvidia,smmu-500";
1428c66ec88fSEmmanuel Vadot		reg = <0 0x12000000 0 0x800000>;
1429c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1430c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1431c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1432c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1433c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1434c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1435c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1436c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1437c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1438c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1439c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1440c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1441c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1442c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1443c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1444c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1445c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1446c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1447c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1448c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1449c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1450c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1451c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1452c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1453c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1454c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1455c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1456c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1457c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1458c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1459c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1460c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1461c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1462c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1463c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1464c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1465c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1466c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1467c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1468c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1469c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1470c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1471c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1472c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1473c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1474c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1475c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1476c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1477c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1478c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1479c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1480c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1481c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1482c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1483c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1484c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1485c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1486c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1487c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1488c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1489c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1490c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1491c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1492c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1493c66ec88fSEmmanuel Vadot			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
1494c66ec88fSEmmanuel Vadot		stream-match-mask = <0x7f80>;
1495c66ec88fSEmmanuel Vadot		#global-interrupts = <1>;
1496c66ec88fSEmmanuel Vadot		#iommu-cells = <1>;
14975956d97fSEmmanuel Vadot
14985956d97fSEmmanuel Vadot		nvidia,memory-controller = <&mc>;
1499c66ec88fSEmmanuel Vadot	};
1500c66ec88fSEmmanuel Vadot
1501c66ec88fSEmmanuel Vadot	host1x@13e00000 {
1502c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-host1x";
1503c66ec88fSEmmanuel Vadot		reg = <0x0 0x13e00000 0x0 0x10000>,
1504c66ec88fSEmmanuel Vadot		      <0x0 0x13e10000 0x0 0x10000>;
1505c66ec88fSEmmanuel Vadot		reg-names = "hypervisor", "vm";
1506c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>,
1507c66ec88fSEmmanuel Vadot		             <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
1508c66ec88fSEmmanuel Vadot		interrupt-names = "syncpt", "host1x";
1509c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_HOST1X>;
1510c66ec88fSEmmanuel Vadot		clock-names = "host1x";
1511c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_HOST1X>;
1512c66ec88fSEmmanuel Vadot		reset-names = "host1x";
1513c66ec88fSEmmanuel Vadot
1514c66ec88fSEmmanuel Vadot		#address-cells = <1>;
1515c66ec88fSEmmanuel Vadot		#size-cells = <1>;
1516c66ec88fSEmmanuel Vadot
1517c66ec88fSEmmanuel Vadot		ranges = <0x15000000 0x0 0x15000000 0x01000000>;
1518c66ec88fSEmmanuel Vadot
1519c66ec88fSEmmanuel Vadot		interconnects = <&mc TEGRA186_MEMORY_CLIENT_HOST1XDMAR &emc>;
1520c66ec88fSEmmanuel Vadot		interconnect-names = "dma-mem";
1521c66ec88fSEmmanuel Vadot
1522c66ec88fSEmmanuel Vadot		iommus = <&smmu TEGRA186_SID_HOST1X>;
1523c66ec88fSEmmanuel Vadot
1524b97ee269SEmmanuel Vadot		/* Context isolation domains */
15257ef62cebSEmmanuel Vadot		iommu-map = <0 &smmu TEGRA186_SID_HOST1X_CTX0 1>,
15267ef62cebSEmmanuel Vadot			    <1 &smmu TEGRA186_SID_HOST1X_CTX1 1>,
15277ef62cebSEmmanuel Vadot			    <2 &smmu TEGRA186_SID_HOST1X_CTX2 1>,
15287ef62cebSEmmanuel Vadot			    <3 &smmu TEGRA186_SID_HOST1X_CTX3 1>,
15297ef62cebSEmmanuel Vadot			    <4 &smmu TEGRA186_SID_HOST1X_CTX4 1>,
15307ef62cebSEmmanuel Vadot			    <5 &smmu TEGRA186_SID_HOST1X_CTX5 1>,
15317ef62cebSEmmanuel Vadot			    <6 &smmu TEGRA186_SID_HOST1X_CTX6 1>,
15327ef62cebSEmmanuel Vadot			    <7 &smmu TEGRA186_SID_HOST1X_CTX7 1>;
1533b97ee269SEmmanuel Vadot
1534c66ec88fSEmmanuel Vadot		dpaux1: dpaux@15040000 {
1535c66ec88fSEmmanuel Vadot			compatible = "nvidia,tegra186-dpaux";
1536c66ec88fSEmmanuel Vadot			reg = <0x15040000 0x10000>;
1537c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
1538c66ec88fSEmmanuel Vadot			clocks = <&bpmp TEGRA186_CLK_DPAUX1>,
1539c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_PLLDP>;
1540c66ec88fSEmmanuel Vadot			clock-names = "dpaux", "parent";
1541c66ec88fSEmmanuel Vadot			resets = <&bpmp TEGRA186_RESET_DPAUX1>;
1542c66ec88fSEmmanuel Vadot			reset-names = "dpaux";
1543c66ec88fSEmmanuel Vadot			status = "disabled";
1544c66ec88fSEmmanuel Vadot
1545c66ec88fSEmmanuel Vadot			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1546c66ec88fSEmmanuel Vadot
1547c66ec88fSEmmanuel Vadot			state_dpaux1_aux: pinmux-aux {
1548c66ec88fSEmmanuel Vadot				groups = "dpaux-io";
1549c66ec88fSEmmanuel Vadot				function = "aux";
1550c66ec88fSEmmanuel Vadot			};
1551c66ec88fSEmmanuel Vadot
1552c66ec88fSEmmanuel Vadot			state_dpaux1_i2c: pinmux-i2c {
1553c66ec88fSEmmanuel Vadot				groups = "dpaux-io";
1554c66ec88fSEmmanuel Vadot				function = "i2c";
1555c66ec88fSEmmanuel Vadot			};
1556c66ec88fSEmmanuel Vadot
1557c66ec88fSEmmanuel Vadot			state_dpaux1_off: pinmux-off {
1558c66ec88fSEmmanuel Vadot				groups = "dpaux-io";
1559c66ec88fSEmmanuel Vadot				function = "off";
1560c66ec88fSEmmanuel Vadot			};
1561c66ec88fSEmmanuel Vadot
1562c66ec88fSEmmanuel Vadot			i2c-bus {
1563c66ec88fSEmmanuel Vadot				#address-cells = <1>;
1564c66ec88fSEmmanuel Vadot				#size-cells = <0>;
1565c66ec88fSEmmanuel Vadot			};
1566c66ec88fSEmmanuel Vadot		};
1567c66ec88fSEmmanuel Vadot
1568c66ec88fSEmmanuel Vadot		display-hub@15200000 {
1569c66ec88fSEmmanuel Vadot			compatible = "nvidia,tegra186-display";
1570c66ec88fSEmmanuel Vadot			reg = <0x15200000 0x00040000>;
1571c66ec88fSEmmanuel Vadot			resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_MISC>,
1572c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP0>,
1573c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP1>,
1574c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP2>,
1575c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP3>,
1576c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP4>,
1577c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP5>;
1578c66ec88fSEmmanuel Vadot			reset-names = "misc", "wgrp0", "wgrp1", "wgrp2",
1579c66ec88fSEmmanuel Vadot				      "wgrp3", "wgrp4", "wgrp5";
1580c66ec88fSEmmanuel Vadot			clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_DISP>,
1581c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_NVDISPLAY_DSC>,
1582c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_NVDISPLAYHUB>;
1583c66ec88fSEmmanuel Vadot			clock-names = "disp", "dsc", "hub";
1584c66ec88fSEmmanuel Vadot			status = "disabled";
1585c66ec88fSEmmanuel Vadot
1586c66ec88fSEmmanuel Vadot			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1587c66ec88fSEmmanuel Vadot
1588c66ec88fSEmmanuel Vadot			#address-cells = <1>;
1589c66ec88fSEmmanuel Vadot			#size-cells = <1>;
1590c66ec88fSEmmanuel Vadot
1591c66ec88fSEmmanuel Vadot			ranges = <0x15200000 0x15200000 0x40000>;
1592c66ec88fSEmmanuel Vadot
1593c66ec88fSEmmanuel Vadot			display@15200000 {
1594c66ec88fSEmmanuel Vadot				compatible = "nvidia,tegra186-dc";
1595c66ec88fSEmmanuel Vadot				reg = <0x15200000 0x10000>;
1596c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
1597c66ec88fSEmmanuel Vadot				clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P0>;
1598c66ec88fSEmmanuel Vadot				clock-names = "dc";
1599c66ec88fSEmmanuel Vadot				resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD0>;
1600c66ec88fSEmmanuel Vadot				reset-names = "dc";
1601c66ec88fSEmmanuel Vadot
1602c66ec88fSEmmanuel Vadot				power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1603c66ec88fSEmmanuel Vadot				interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR &emc>,
1604c66ec88fSEmmanuel Vadot						<&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 &emc>;
1605c66ec88fSEmmanuel Vadot				interconnect-names = "dma-mem", "read-1";
1606c66ec88fSEmmanuel Vadot				iommus = <&smmu TEGRA186_SID_NVDISPLAY>;
1607c66ec88fSEmmanuel Vadot
1608c66ec88fSEmmanuel Vadot				nvidia,outputs = <&dsia &dsib &sor0 &sor1>;
1609c66ec88fSEmmanuel Vadot				nvidia,head = <0>;
1610c66ec88fSEmmanuel Vadot			};
1611c66ec88fSEmmanuel Vadot
1612c66ec88fSEmmanuel Vadot			display@15210000 {
1613c66ec88fSEmmanuel Vadot				compatible = "nvidia,tegra186-dc";
1614c66ec88fSEmmanuel Vadot				reg = <0x15210000 0x10000>;
1615c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
1616c66ec88fSEmmanuel Vadot				clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P1>;
1617c66ec88fSEmmanuel Vadot				clock-names = "dc";
1618c66ec88fSEmmanuel Vadot				resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD1>;
1619c66ec88fSEmmanuel Vadot				reset-names = "dc";
1620c66ec88fSEmmanuel Vadot
1621c66ec88fSEmmanuel Vadot				power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISPB>;
1622c66ec88fSEmmanuel Vadot				interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR &emc>,
1623c66ec88fSEmmanuel Vadot						<&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 &emc>;
1624c66ec88fSEmmanuel Vadot				interconnect-names = "dma-mem", "read-1";
1625c66ec88fSEmmanuel Vadot				iommus = <&smmu TEGRA186_SID_NVDISPLAY>;
1626c66ec88fSEmmanuel Vadot
1627c66ec88fSEmmanuel Vadot				nvidia,outputs = <&dsia &dsib &sor0 &sor1>;
1628c66ec88fSEmmanuel Vadot				nvidia,head = <1>;
1629c66ec88fSEmmanuel Vadot			};
1630c66ec88fSEmmanuel Vadot
1631c66ec88fSEmmanuel Vadot			display@15220000 {
1632c66ec88fSEmmanuel Vadot				compatible = "nvidia,tegra186-dc";
1633c66ec88fSEmmanuel Vadot				reg = <0x15220000 0x10000>;
1634c66ec88fSEmmanuel Vadot				interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
1635c66ec88fSEmmanuel Vadot				clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P2>;
1636c66ec88fSEmmanuel Vadot				clock-names = "dc";
1637c66ec88fSEmmanuel Vadot				resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD2>;
1638c66ec88fSEmmanuel Vadot				reset-names = "dc";
1639c66ec88fSEmmanuel Vadot
1640c66ec88fSEmmanuel Vadot				power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISPC>;
1641c66ec88fSEmmanuel Vadot				interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR &emc>,
1642c66ec88fSEmmanuel Vadot						<&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 &emc>;
1643c66ec88fSEmmanuel Vadot				interconnect-names = "dma-mem", "read-1";
1644c66ec88fSEmmanuel Vadot				iommus = <&smmu TEGRA186_SID_NVDISPLAY>;
1645c66ec88fSEmmanuel Vadot
1646c66ec88fSEmmanuel Vadot				nvidia,outputs = <&sor0 &sor1>;
1647c66ec88fSEmmanuel Vadot				nvidia,head = <2>;
1648c66ec88fSEmmanuel Vadot			};
1649c66ec88fSEmmanuel Vadot		};
1650c66ec88fSEmmanuel Vadot
1651c66ec88fSEmmanuel Vadot		dsia: dsi@15300000 {
1652c66ec88fSEmmanuel Vadot			compatible = "nvidia,tegra186-dsi";
1653c66ec88fSEmmanuel Vadot			reg = <0x15300000 0x10000>;
1654c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
1655c66ec88fSEmmanuel Vadot			clocks = <&bpmp TEGRA186_CLK_DSI>,
1656c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_DSIA_LP>,
1657c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_PLLD>;
1658c66ec88fSEmmanuel Vadot			clock-names = "dsi", "lp", "parent";
1659c66ec88fSEmmanuel Vadot			resets = <&bpmp TEGRA186_RESET_DSI>;
1660c66ec88fSEmmanuel Vadot			reset-names = "dsi";
1661c66ec88fSEmmanuel Vadot			status = "disabled";
1662c66ec88fSEmmanuel Vadot
1663c66ec88fSEmmanuel Vadot			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1664c66ec88fSEmmanuel Vadot		};
1665c66ec88fSEmmanuel Vadot
1666c66ec88fSEmmanuel Vadot		vic@15340000 {
1667c66ec88fSEmmanuel Vadot			compatible = "nvidia,tegra186-vic";
1668c66ec88fSEmmanuel Vadot			reg = <0x15340000 0x40000>;
1669c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>;
1670c66ec88fSEmmanuel Vadot			clocks = <&bpmp TEGRA186_CLK_VIC>;
1671c66ec88fSEmmanuel Vadot			clock-names = "vic";
1672c66ec88fSEmmanuel Vadot			resets = <&bpmp TEGRA186_RESET_VIC>;
1673c66ec88fSEmmanuel Vadot			reset-names = "vic";
1674c66ec88fSEmmanuel Vadot
1675c66ec88fSEmmanuel Vadot			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_VIC>;
1676c66ec88fSEmmanuel Vadot			interconnects = <&mc TEGRA186_MEMORY_CLIENT_VICSRD &emc>,
1677c66ec88fSEmmanuel Vadot					<&mc TEGRA186_MEMORY_CLIENT_VICSWR &emc>;
1678c66ec88fSEmmanuel Vadot			interconnect-names = "dma-mem", "write";
1679c66ec88fSEmmanuel Vadot			iommus = <&smmu TEGRA186_SID_VIC>;
1680c66ec88fSEmmanuel Vadot		};
1681c66ec88fSEmmanuel Vadot
1682e67e8565SEmmanuel Vadot		nvjpg@15380000 {
1683e67e8565SEmmanuel Vadot			compatible = "nvidia,tegra186-nvjpg";
1684e67e8565SEmmanuel Vadot			reg = <0x15380000 0x40000>;
1685e67e8565SEmmanuel Vadot			clocks = <&bpmp TEGRA186_CLK_NVJPG>;
1686e67e8565SEmmanuel Vadot			clock-names = "nvjpg";
1687e67e8565SEmmanuel Vadot			resets = <&bpmp TEGRA186_RESET_NVJPG>;
1688e67e8565SEmmanuel Vadot			reset-names = "nvjpg";
1689e67e8565SEmmanuel Vadot
1690e67e8565SEmmanuel Vadot			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_NVJPG>;
1691e67e8565SEmmanuel Vadot			interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVJPGSRD &emc>,
1692e67e8565SEmmanuel Vadot					<&mc TEGRA186_MEMORY_CLIENT_NVJPGSWR &emc>;
1693e67e8565SEmmanuel Vadot			interconnect-names = "dma-mem", "write";
1694e67e8565SEmmanuel Vadot			iommus = <&smmu TEGRA186_SID_NVJPG>;
1695e67e8565SEmmanuel Vadot		};
1696e67e8565SEmmanuel Vadot
1697c66ec88fSEmmanuel Vadot		dsib: dsi@15400000 {
1698c66ec88fSEmmanuel Vadot			compatible = "nvidia,tegra186-dsi";
1699c66ec88fSEmmanuel Vadot			reg = <0x15400000 0x10000>;
1700c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
1701c66ec88fSEmmanuel Vadot			clocks = <&bpmp TEGRA186_CLK_DSIB>,
1702c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_DSIB_LP>,
1703c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_PLLD>;
1704c66ec88fSEmmanuel Vadot			clock-names = "dsi", "lp", "parent";
1705c66ec88fSEmmanuel Vadot			resets = <&bpmp TEGRA186_RESET_DSIB>;
1706c66ec88fSEmmanuel Vadot			reset-names = "dsi";
1707c66ec88fSEmmanuel Vadot			status = "disabled";
1708c66ec88fSEmmanuel Vadot
1709c66ec88fSEmmanuel Vadot			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1710c66ec88fSEmmanuel Vadot		};
1711c66ec88fSEmmanuel Vadot
17128cc087a1SEmmanuel Vadot		nvdec@15480000 {
17138cc087a1SEmmanuel Vadot			compatible = "nvidia,tegra186-nvdec";
17148cc087a1SEmmanuel Vadot			reg = <0x15480000 0x40000>;
17158cc087a1SEmmanuel Vadot			clocks = <&bpmp TEGRA186_CLK_NVDEC>;
17168cc087a1SEmmanuel Vadot			clock-names = "nvdec";
17178cc087a1SEmmanuel Vadot			resets = <&bpmp TEGRA186_RESET_NVDEC>;
17188cc087a1SEmmanuel Vadot			reset-names = "nvdec";
17198cc087a1SEmmanuel Vadot
17208cc087a1SEmmanuel Vadot			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_NVDEC>;
17218cc087a1SEmmanuel Vadot			interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDECSRD &emc>,
17228cc087a1SEmmanuel Vadot					<&mc TEGRA186_MEMORY_CLIENT_NVDECSRD1 &emc>,
17238cc087a1SEmmanuel Vadot					<&mc TEGRA186_MEMORY_CLIENT_NVDECSWR &emc>;
17248cc087a1SEmmanuel Vadot			interconnect-names = "dma-mem", "read-1", "write";
17258cc087a1SEmmanuel Vadot			iommus = <&smmu TEGRA186_SID_NVDEC>;
17268cc087a1SEmmanuel Vadot		};
17278cc087a1SEmmanuel Vadot
1728e67e8565SEmmanuel Vadot		nvenc@154c0000 {
1729e67e8565SEmmanuel Vadot			compatible = "nvidia,tegra186-nvenc";
1730e67e8565SEmmanuel Vadot			reg = <0x154c0000 0x40000>;
1731e67e8565SEmmanuel Vadot			clocks = <&bpmp TEGRA186_CLK_NVENC>;
1732e67e8565SEmmanuel Vadot			clock-names = "nvenc";
1733e67e8565SEmmanuel Vadot			resets = <&bpmp TEGRA186_RESET_NVENC>;
1734e67e8565SEmmanuel Vadot			reset-names = "nvenc";
1735e67e8565SEmmanuel Vadot
1736e67e8565SEmmanuel Vadot			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_MPE>;
1737e67e8565SEmmanuel Vadot			interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVENCSRD &emc>,
1738e67e8565SEmmanuel Vadot					<&mc TEGRA186_MEMORY_CLIENT_NVENCSWR &emc>;
1739e67e8565SEmmanuel Vadot			interconnect-names = "dma-mem", "write";
1740e67e8565SEmmanuel Vadot			iommus = <&smmu TEGRA186_SID_NVENC>;
1741e67e8565SEmmanuel Vadot		};
1742e67e8565SEmmanuel Vadot
1743c66ec88fSEmmanuel Vadot		sor0: sor@15540000 {
1744c66ec88fSEmmanuel Vadot			compatible = "nvidia,tegra186-sor";
1745c66ec88fSEmmanuel Vadot			reg = <0x15540000 0x10000>;
1746c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
1747c66ec88fSEmmanuel Vadot			clocks = <&bpmp TEGRA186_CLK_SOR0>,
1748c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_SOR0_OUT>,
1749c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_PLLD2>,
1750c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_PLLDP>,
1751c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_SOR_SAFE>,
1752c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_SOR0_PAD_CLKOUT>;
1753c66ec88fSEmmanuel Vadot			clock-names = "sor", "out", "parent", "dp", "safe",
1754c66ec88fSEmmanuel Vadot				      "pad";
1755c66ec88fSEmmanuel Vadot			resets = <&bpmp TEGRA186_RESET_SOR0>;
1756c66ec88fSEmmanuel Vadot			reset-names = "sor";
1757c66ec88fSEmmanuel Vadot			pinctrl-0 = <&state_dpaux_aux>;
1758c66ec88fSEmmanuel Vadot			pinctrl-1 = <&state_dpaux_i2c>;
1759c66ec88fSEmmanuel Vadot			pinctrl-2 = <&state_dpaux_off>;
1760c66ec88fSEmmanuel Vadot			pinctrl-names = "aux", "i2c", "off";
1761c66ec88fSEmmanuel Vadot			status = "disabled";
1762c66ec88fSEmmanuel Vadot
1763c66ec88fSEmmanuel Vadot			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1764c66ec88fSEmmanuel Vadot			nvidia,interface = <0>;
1765c66ec88fSEmmanuel Vadot		};
1766c66ec88fSEmmanuel Vadot
1767c66ec88fSEmmanuel Vadot		sor1: sor@15580000 {
1768c66ec88fSEmmanuel Vadot			compatible = "nvidia,tegra186-sor";
1769c66ec88fSEmmanuel Vadot			reg = <0x15580000 0x10000>;
1770c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
1771c66ec88fSEmmanuel Vadot			clocks = <&bpmp TEGRA186_CLK_SOR1>,
1772c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_SOR1_OUT>,
1773c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_PLLD3>,
1774c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_PLLDP>,
1775c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_SOR_SAFE>,
1776c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_SOR1_PAD_CLKOUT>;
1777c66ec88fSEmmanuel Vadot			clock-names = "sor", "out", "parent", "dp", "safe",
1778c66ec88fSEmmanuel Vadot				      "pad";
1779c66ec88fSEmmanuel Vadot			resets = <&bpmp TEGRA186_RESET_SOR1>;
1780c66ec88fSEmmanuel Vadot			reset-names = "sor";
1781c66ec88fSEmmanuel Vadot			pinctrl-0 = <&state_dpaux1_aux>;
1782c66ec88fSEmmanuel Vadot			pinctrl-1 = <&state_dpaux1_i2c>;
1783c66ec88fSEmmanuel Vadot			pinctrl-2 = <&state_dpaux1_off>;
1784c66ec88fSEmmanuel Vadot			pinctrl-names = "aux", "i2c", "off";
1785c66ec88fSEmmanuel Vadot			status = "disabled";
1786c66ec88fSEmmanuel Vadot
1787c66ec88fSEmmanuel Vadot			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1788c66ec88fSEmmanuel Vadot			nvidia,interface = <1>;
1789c66ec88fSEmmanuel Vadot		};
1790c66ec88fSEmmanuel Vadot
1791c66ec88fSEmmanuel Vadot		dpaux: dpaux@155c0000 {
1792c66ec88fSEmmanuel Vadot			compatible = "nvidia,tegra186-dpaux";
1793c66ec88fSEmmanuel Vadot			reg = <0x155c0000 0x10000>;
1794c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
1795c66ec88fSEmmanuel Vadot			clocks = <&bpmp TEGRA186_CLK_DPAUX>,
1796c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_PLLDP>;
1797c66ec88fSEmmanuel Vadot			clock-names = "dpaux", "parent";
1798c66ec88fSEmmanuel Vadot			resets = <&bpmp TEGRA186_RESET_DPAUX>;
1799c66ec88fSEmmanuel Vadot			reset-names = "dpaux";
1800c66ec88fSEmmanuel Vadot			status = "disabled";
1801c66ec88fSEmmanuel Vadot
1802c66ec88fSEmmanuel Vadot			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1803c66ec88fSEmmanuel Vadot
1804c66ec88fSEmmanuel Vadot			state_dpaux_aux: pinmux-aux {
1805c66ec88fSEmmanuel Vadot				groups = "dpaux-io";
1806c66ec88fSEmmanuel Vadot				function = "aux";
1807c66ec88fSEmmanuel Vadot			};
1808c66ec88fSEmmanuel Vadot
1809c66ec88fSEmmanuel Vadot			state_dpaux_i2c: pinmux-i2c {
1810c66ec88fSEmmanuel Vadot				groups = "dpaux-io";
1811c66ec88fSEmmanuel Vadot				function = "i2c";
1812c66ec88fSEmmanuel Vadot			};
1813c66ec88fSEmmanuel Vadot
1814c66ec88fSEmmanuel Vadot			state_dpaux_off: pinmux-off {
1815c66ec88fSEmmanuel Vadot				groups = "dpaux-io";
1816c66ec88fSEmmanuel Vadot				function = "off";
1817c66ec88fSEmmanuel Vadot			};
1818c66ec88fSEmmanuel Vadot
1819c66ec88fSEmmanuel Vadot			i2c-bus {
1820c66ec88fSEmmanuel Vadot				#address-cells = <1>;
1821c66ec88fSEmmanuel Vadot				#size-cells = <0>;
1822c66ec88fSEmmanuel Vadot			};
1823c66ec88fSEmmanuel Vadot		};
1824c66ec88fSEmmanuel Vadot
1825c66ec88fSEmmanuel Vadot		padctl@15880000 {
1826c66ec88fSEmmanuel Vadot			compatible = "nvidia,tegra186-dsi-padctl";
1827c66ec88fSEmmanuel Vadot			reg = <0x15880000 0x10000>;
1828c66ec88fSEmmanuel Vadot			resets = <&bpmp TEGRA186_RESET_DSI>;
1829c66ec88fSEmmanuel Vadot			reset-names = "dsi";
1830c66ec88fSEmmanuel Vadot			status = "disabled";
1831c66ec88fSEmmanuel Vadot		};
1832c66ec88fSEmmanuel Vadot
1833c66ec88fSEmmanuel Vadot		dsic: dsi@15900000 {
1834c66ec88fSEmmanuel Vadot			compatible = "nvidia,tegra186-dsi";
1835c66ec88fSEmmanuel Vadot			reg = <0x15900000 0x10000>;
1836c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
1837c66ec88fSEmmanuel Vadot			clocks = <&bpmp TEGRA186_CLK_DSIC>,
1838c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_DSIC_LP>,
1839c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_PLLD>;
1840c66ec88fSEmmanuel Vadot			clock-names = "dsi", "lp", "parent";
1841c66ec88fSEmmanuel Vadot			resets = <&bpmp TEGRA186_RESET_DSIC>;
1842c66ec88fSEmmanuel Vadot			reset-names = "dsi";
1843c66ec88fSEmmanuel Vadot			status = "disabled";
1844c66ec88fSEmmanuel Vadot
1845c66ec88fSEmmanuel Vadot			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1846c66ec88fSEmmanuel Vadot		};
1847c66ec88fSEmmanuel Vadot
1848c66ec88fSEmmanuel Vadot		dsid: dsi@15940000 {
1849c66ec88fSEmmanuel Vadot			compatible = "nvidia,tegra186-dsi";
1850c66ec88fSEmmanuel Vadot			reg = <0x15940000 0x10000>;
1851c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
1852c66ec88fSEmmanuel Vadot			clocks = <&bpmp TEGRA186_CLK_DSID>,
1853c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_DSID_LP>,
1854c66ec88fSEmmanuel Vadot				 <&bpmp TEGRA186_CLK_PLLD>;
1855c66ec88fSEmmanuel Vadot			clock-names = "dsi", "lp", "parent";
1856c66ec88fSEmmanuel Vadot			resets = <&bpmp TEGRA186_RESET_DSID>;
1857c66ec88fSEmmanuel Vadot			reset-names = "dsi";
1858c66ec88fSEmmanuel Vadot			status = "disabled";
1859c66ec88fSEmmanuel Vadot
1860c66ec88fSEmmanuel Vadot			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1861c66ec88fSEmmanuel Vadot		};
1862c66ec88fSEmmanuel Vadot	};
1863c66ec88fSEmmanuel Vadot
1864c66ec88fSEmmanuel Vadot	gpu@17000000 {
1865c66ec88fSEmmanuel Vadot		compatible = "nvidia,gp10b";
1866c66ec88fSEmmanuel Vadot		reg = <0x0 0x17000000 0x0 0x1000000>,
1867c66ec88fSEmmanuel Vadot		      <0x0 0x18000000 0x0 0x1000000>;
1868c66ec88fSEmmanuel Vadot		interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
1869c66ec88fSEmmanuel Vadot			     <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
1870c66ec88fSEmmanuel Vadot		interrupt-names = "stall", "nonstall";
1871c66ec88fSEmmanuel Vadot
1872c66ec88fSEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_GPCCLK>,
1873c66ec88fSEmmanuel Vadot			 <&bpmp TEGRA186_CLK_GPU>;
1874c66ec88fSEmmanuel Vadot		clock-names = "gpu", "pwr";
1875c66ec88fSEmmanuel Vadot		resets = <&bpmp TEGRA186_RESET_GPU>;
1876c66ec88fSEmmanuel Vadot		reset-names = "gpu";
1877c66ec88fSEmmanuel Vadot		status = "disabled";
1878c66ec88fSEmmanuel Vadot
1879c66ec88fSEmmanuel Vadot		power-domains = <&bpmp TEGRA186_POWER_DOMAIN_GPU>;
1880c66ec88fSEmmanuel Vadot		interconnects = <&mc TEGRA186_MEMORY_CLIENT_GPUSRD &emc>,
1881c66ec88fSEmmanuel Vadot				<&mc TEGRA186_MEMORY_CLIENT_GPUSWR &emc>,
1882c66ec88fSEmmanuel Vadot				<&mc TEGRA186_MEMORY_CLIENT_GPUSRD2 &emc>,
1883c66ec88fSEmmanuel Vadot				<&mc TEGRA186_MEMORY_CLIENT_GPUSWR2 &emc>;
1884c66ec88fSEmmanuel Vadot		interconnect-names = "dma-mem", "write-0", "read-1", "write-1";
1885c66ec88fSEmmanuel Vadot	};
1886c66ec88fSEmmanuel Vadot
1887c66ec88fSEmmanuel Vadot	sram@30000000 {
1888c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-sysram", "mmio-sram";
1889c66ec88fSEmmanuel Vadot		reg = <0x0 0x30000000 0x0 0x50000>;
1890c66ec88fSEmmanuel Vadot		#address-cells = <1>;
1891c66ec88fSEmmanuel Vadot		#size-cells = <1>;
1892c66ec88fSEmmanuel Vadot		ranges = <0x0 0x0 0x30000000 0x50000>;
1893b97ee269SEmmanuel Vadot		no-memory-wc;
1894c66ec88fSEmmanuel Vadot
1895c66ec88fSEmmanuel Vadot		cpu_bpmp_tx: sram@4e000 {
1896c66ec88fSEmmanuel Vadot			reg = <0x4e000 0x1000>;
1897c66ec88fSEmmanuel Vadot			label = "cpu-bpmp-tx";
1898c66ec88fSEmmanuel Vadot			pool;
1899c66ec88fSEmmanuel Vadot		};
1900c66ec88fSEmmanuel Vadot
1901c66ec88fSEmmanuel Vadot		cpu_bpmp_rx: sram@4f000 {
1902c66ec88fSEmmanuel Vadot			reg = <0x4f000 0x1000>;
1903c66ec88fSEmmanuel Vadot			label = "cpu-bpmp-rx";
1904c66ec88fSEmmanuel Vadot			pool;
1905c66ec88fSEmmanuel Vadot		};
1906c66ec88fSEmmanuel Vadot	};
1907c66ec88fSEmmanuel Vadot
1908c66ec88fSEmmanuel Vadot	bpmp: bpmp {
1909c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-bpmp";
1910c66ec88fSEmmanuel Vadot		interconnects = <&mc TEGRA186_MEMORY_CLIENT_BPMPR &emc>,
1911c66ec88fSEmmanuel Vadot				<&mc TEGRA186_MEMORY_CLIENT_BPMPW &emc>,
1912c66ec88fSEmmanuel Vadot				<&mc TEGRA186_MEMORY_CLIENT_BPMPDMAR &emc>,
1913c66ec88fSEmmanuel Vadot				<&mc TEGRA186_MEMORY_CLIENT_BPMPDMAW &emc>;
1914c66ec88fSEmmanuel Vadot		interconnect-names = "read", "write", "dma-mem", "dma-write";
1915c66ec88fSEmmanuel Vadot		iommus = <&smmu TEGRA186_SID_BPMP>;
1916c66ec88fSEmmanuel Vadot		mboxes = <&hsp_top0 TEGRA_HSP_MBOX_TYPE_DB
1917c66ec88fSEmmanuel Vadot				    TEGRA_HSP_DB_MASTER_BPMP>;
1918e67e8565SEmmanuel Vadot		shmem = <&cpu_bpmp_tx>, <&cpu_bpmp_rx>;
1919c66ec88fSEmmanuel Vadot		#clock-cells = <1>;
1920c66ec88fSEmmanuel Vadot		#reset-cells = <1>;
1921c66ec88fSEmmanuel Vadot		#power-domain-cells = <1>;
1922c66ec88fSEmmanuel Vadot
1923c66ec88fSEmmanuel Vadot		bpmp_i2c: i2c {
1924c66ec88fSEmmanuel Vadot			compatible = "nvidia,tegra186-bpmp-i2c";
1925c66ec88fSEmmanuel Vadot			nvidia,bpmp-bus-id = <5>;
1926c66ec88fSEmmanuel Vadot			#address-cells = <1>;
1927c66ec88fSEmmanuel Vadot			#size-cells = <0>;
1928c66ec88fSEmmanuel Vadot			status = "disabled";
1929c66ec88fSEmmanuel Vadot		};
1930c66ec88fSEmmanuel Vadot
1931c66ec88fSEmmanuel Vadot		bpmp_thermal: thermal {
1932c66ec88fSEmmanuel Vadot			compatible = "nvidia,tegra186-bpmp-thermal";
1933c66ec88fSEmmanuel Vadot			#thermal-sensor-cells = <1>;
1934c66ec88fSEmmanuel Vadot		};
1935c66ec88fSEmmanuel Vadot	};
1936c66ec88fSEmmanuel Vadot
1937c66ec88fSEmmanuel Vadot	cpus {
1938c66ec88fSEmmanuel Vadot		#address-cells = <1>;
1939c66ec88fSEmmanuel Vadot		#size-cells = <0>;
1940c66ec88fSEmmanuel Vadot
19415def4c47SEmmanuel Vadot		denver_0: cpu@0 {
1942c66ec88fSEmmanuel Vadot			compatible = "nvidia,tegra186-denver";
1943c66ec88fSEmmanuel Vadot			device_type = "cpu";
1944c66ec88fSEmmanuel Vadot			i-cache-size = <0x20000>;
1945c66ec88fSEmmanuel Vadot			i-cache-line-size = <64>;
1946c66ec88fSEmmanuel Vadot			i-cache-sets = <512>;
1947c66ec88fSEmmanuel Vadot			d-cache-size = <0x10000>;
1948c66ec88fSEmmanuel Vadot			d-cache-line-size = <64>;
1949c66ec88fSEmmanuel Vadot			d-cache-sets = <256>;
1950c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_DENVER>;
1951c66ec88fSEmmanuel Vadot			reg = <0x000>;
1952c66ec88fSEmmanuel Vadot		};
1953c66ec88fSEmmanuel Vadot
19545def4c47SEmmanuel Vadot		denver_1: cpu@1 {
1955c66ec88fSEmmanuel Vadot			compatible = "nvidia,tegra186-denver";
1956c66ec88fSEmmanuel Vadot			device_type = "cpu";
1957c66ec88fSEmmanuel Vadot			i-cache-size = <0x20000>;
1958c66ec88fSEmmanuel Vadot			i-cache-line-size = <64>;
1959c66ec88fSEmmanuel Vadot			i-cache-sets = <512>;
1960c66ec88fSEmmanuel Vadot			d-cache-size = <0x10000>;
1961c66ec88fSEmmanuel Vadot			d-cache-line-size = <64>;
1962c66ec88fSEmmanuel Vadot			d-cache-sets = <256>;
1963c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_DENVER>;
1964c66ec88fSEmmanuel Vadot			reg = <0x001>;
1965c66ec88fSEmmanuel Vadot		};
1966c66ec88fSEmmanuel Vadot
19675def4c47SEmmanuel Vadot		ca57_0: cpu@2 {
1968c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a57";
1969c66ec88fSEmmanuel Vadot			device_type = "cpu";
1970c66ec88fSEmmanuel Vadot			i-cache-size = <0xC000>;
1971c66ec88fSEmmanuel Vadot			i-cache-line-size = <64>;
1972c66ec88fSEmmanuel Vadot			i-cache-sets = <256>;
1973c66ec88fSEmmanuel Vadot			d-cache-size = <0x8000>;
1974c66ec88fSEmmanuel Vadot			d-cache-line-size = <64>;
1975c66ec88fSEmmanuel Vadot			d-cache-sets = <256>;
1976c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_A57>;
1977c66ec88fSEmmanuel Vadot			reg = <0x100>;
1978c66ec88fSEmmanuel Vadot		};
1979c66ec88fSEmmanuel Vadot
19805def4c47SEmmanuel Vadot		ca57_1: cpu@3 {
1981c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a57";
1982c66ec88fSEmmanuel Vadot			device_type = "cpu";
1983c66ec88fSEmmanuel Vadot			i-cache-size = <0xC000>;
1984c66ec88fSEmmanuel Vadot			i-cache-line-size = <64>;
1985c66ec88fSEmmanuel Vadot			i-cache-sets = <256>;
1986c66ec88fSEmmanuel Vadot			d-cache-size = <0x8000>;
1987c66ec88fSEmmanuel Vadot			d-cache-line-size = <64>;
1988c66ec88fSEmmanuel Vadot			d-cache-sets = <256>;
1989c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_A57>;
1990c66ec88fSEmmanuel Vadot			reg = <0x101>;
1991c66ec88fSEmmanuel Vadot		};
1992c66ec88fSEmmanuel Vadot
19935def4c47SEmmanuel Vadot		ca57_2: cpu@4 {
1994c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a57";
1995c66ec88fSEmmanuel Vadot			device_type = "cpu";
1996c66ec88fSEmmanuel Vadot			i-cache-size = <0xC000>;
1997c66ec88fSEmmanuel Vadot			i-cache-line-size = <64>;
1998c66ec88fSEmmanuel Vadot			i-cache-sets = <256>;
1999c66ec88fSEmmanuel Vadot			d-cache-size = <0x8000>;
2000c66ec88fSEmmanuel Vadot			d-cache-line-size = <64>;
2001c66ec88fSEmmanuel Vadot			d-cache-sets = <256>;
2002c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_A57>;
2003c66ec88fSEmmanuel Vadot			reg = <0x102>;
2004c66ec88fSEmmanuel Vadot		};
2005c66ec88fSEmmanuel Vadot
20065def4c47SEmmanuel Vadot		ca57_3: cpu@5 {
2007c66ec88fSEmmanuel Vadot			compatible = "arm,cortex-a57";
2008c66ec88fSEmmanuel Vadot			device_type = "cpu";
2009c66ec88fSEmmanuel Vadot			i-cache-size = <0xC000>;
2010c66ec88fSEmmanuel Vadot			i-cache-line-size = <64>;
2011c66ec88fSEmmanuel Vadot			i-cache-sets = <256>;
2012c66ec88fSEmmanuel Vadot			d-cache-size = <0x8000>;
2013c66ec88fSEmmanuel Vadot			d-cache-line-size = <64>;
2014c66ec88fSEmmanuel Vadot			d-cache-sets = <256>;
2015c66ec88fSEmmanuel Vadot			next-level-cache = <&L2_A57>;
2016c66ec88fSEmmanuel Vadot			reg = <0x103>;
2017c66ec88fSEmmanuel Vadot		};
2018c66ec88fSEmmanuel Vadot
2019c66ec88fSEmmanuel Vadot		L2_DENVER: l2-cache0 {
2020c66ec88fSEmmanuel Vadot			compatible = "cache";
2021c66ec88fSEmmanuel Vadot			cache-unified;
2022c66ec88fSEmmanuel Vadot			cache-level = <2>;
2023c66ec88fSEmmanuel Vadot			cache-size = <0x200000>;
2024c66ec88fSEmmanuel Vadot			cache-line-size = <64>;
2025c66ec88fSEmmanuel Vadot			cache-sets = <2048>;
2026c66ec88fSEmmanuel Vadot		};
2027c66ec88fSEmmanuel Vadot
2028c66ec88fSEmmanuel Vadot		L2_A57: l2-cache1 {
2029c66ec88fSEmmanuel Vadot			compatible = "cache";
2030c66ec88fSEmmanuel Vadot			cache-unified;
2031c66ec88fSEmmanuel Vadot			cache-level = <2>;
2032c66ec88fSEmmanuel Vadot			cache-size = <0x200000>;
2033c66ec88fSEmmanuel Vadot			cache-line-size = <64>;
2034c66ec88fSEmmanuel Vadot			cache-sets = <2048>;
2035c66ec88fSEmmanuel Vadot		};
2036c66ec88fSEmmanuel Vadot	};
2037c66ec88fSEmmanuel Vadot
2038cb7aa33aSEmmanuel Vadot	pmu-a57 {
2039c9ccf3a3SEmmanuel Vadot		compatible = "arm,cortex-a57-pmu";
20405def4c47SEmmanuel Vadot		interrupts = <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
20415def4c47SEmmanuel Vadot			     <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
20425def4c47SEmmanuel Vadot			     <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>,
20435def4c47SEmmanuel Vadot			     <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
20445def4c47SEmmanuel Vadot		interrupt-affinity = <&ca57_0 &ca57_1 &ca57_2 &ca57_3>;
20455def4c47SEmmanuel Vadot	};
20465def4c47SEmmanuel Vadot
2047cb7aa33aSEmmanuel Vadot	pmu-denver {
2048cb7aa33aSEmmanuel Vadot		compatible = "nvidia,denver-pmu";
2049cb7aa33aSEmmanuel Vadot		interrupts = <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
2050cb7aa33aSEmmanuel Vadot			     <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>;
2051cb7aa33aSEmmanuel Vadot		interrupt-affinity = <&denver_0 &denver_1>;
2052cb7aa33aSEmmanuel Vadot	};
2053cb7aa33aSEmmanuel Vadot
20545def4c47SEmmanuel Vadot	sound {
20555def4c47SEmmanuel Vadot		status = "disabled";
20565def4c47SEmmanuel Vadot
20575def4c47SEmmanuel Vadot		clocks = <&bpmp TEGRA186_CLK_PLLA>,
20585def4c47SEmmanuel Vadot			 <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
20595def4c47SEmmanuel Vadot		clock-names = "pll_a", "plla_out0";
20605def4c47SEmmanuel Vadot		assigned-clocks = <&bpmp TEGRA186_CLK_PLLA>,
20615def4c47SEmmanuel Vadot				  <&bpmp TEGRA186_CLK_PLL_A_OUT0>,
20625def4c47SEmmanuel Vadot				  <&bpmp TEGRA186_CLK_AUD_MCLK>;
20635def4c47SEmmanuel Vadot		assigned-clock-parents = <0>,
20645def4c47SEmmanuel Vadot					 <&bpmp TEGRA186_CLK_PLLA>,
20655def4c47SEmmanuel Vadot					 <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
20665def4c47SEmmanuel Vadot		/*
20675def4c47SEmmanuel Vadot		 * PLLA supports dynamic ramp. Below initial rate is chosen
20685def4c47SEmmanuel Vadot		 * for this to work and oscillate between base rates required
20695def4c47SEmmanuel Vadot		 * for 8x and 11.025x sample rate streams.
20705def4c47SEmmanuel Vadot		 */
20715def4c47SEmmanuel Vadot		assigned-clock-rates = <258000000>;
20725def4c47SEmmanuel Vadot
20735def4c47SEmmanuel Vadot		iommus = <&smmu TEGRA186_SID_APE>;
20745def4c47SEmmanuel Vadot	};
20755def4c47SEmmanuel Vadot
2076c66ec88fSEmmanuel Vadot	thermal-zones {
2077e67e8565SEmmanuel Vadot		/* Cortex-A57 cluster */
2078e67e8565SEmmanuel Vadot		cpu-thermal {
2079c66ec88fSEmmanuel Vadot			polling-delay = <0>;
2080c66ec88fSEmmanuel Vadot			polling-delay-passive = <1000>;
2081c66ec88fSEmmanuel Vadot
2082e67e8565SEmmanuel Vadot			thermal-sensors = <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_CPU>;
2083c66ec88fSEmmanuel Vadot
2084c66ec88fSEmmanuel Vadot			trips {
2085c66ec88fSEmmanuel Vadot				critical {
2086c66ec88fSEmmanuel Vadot					temperature = <101000>;
2087c66ec88fSEmmanuel Vadot					hysteresis = <0>;
2088c66ec88fSEmmanuel Vadot					type = "critical";
2089c66ec88fSEmmanuel Vadot				};
2090c66ec88fSEmmanuel Vadot			};
2091c66ec88fSEmmanuel Vadot
2092c66ec88fSEmmanuel Vadot			cooling-maps {
2093c66ec88fSEmmanuel Vadot			};
2094c66ec88fSEmmanuel Vadot		};
2095c66ec88fSEmmanuel Vadot
2096e67e8565SEmmanuel Vadot		/* Denver cluster */
2097e67e8565SEmmanuel Vadot		aux-thermal {
2098c66ec88fSEmmanuel Vadot			polling-delay = <0>;
2099c66ec88fSEmmanuel Vadot			polling-delay-passive = <1000>;
2100c66ec88fSEmmanuel Vadot
2101e67e8565SEmmanuel Vadot			thermal-sensors = <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_AUX>;
2102c66ec88fSEmmanuel Vadot
2103c66ec88fSEmmanuel Vadot			trips {
2104c66ec88fSEmmanuel Vadot				critical {
2105c66ec88fSEmmanuel Vadot					temperature = <101000>;
2106c66ec88fSEmmanuel Vadot					hysteresis = <0>;
2107c66ec88fSEmmanuel Vadot					type = "critical";
2108c66ec88fSEmmanuel Vadot				};
2109c66ec88fSEmmanuel Vadot			};
2110c66ec88fSEmmanuel Vadot
2111c66ec88fSEmmanuel Vadot			cooling-maps {
2112c66ec88fSEmmanuel Vadot			};
2113c66ec88fSEmmanuel Vadot		};
2114c66ec88fSEmmanuel Vadot
2115e67e8565SEmmanuel Vadot		gpu-thermal {
2116c66ec88fSEmmanuel Vadot			polling-delay = <0>;
2117c66ec88fSEmmanuel Vadot			polling-delay-passive = <1000>;
2118c66ec88fSEmmanuel Vadot
2119e67e8565SEmmanuel Vadot			thermal-sensors = <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_GPU>;
2120c66ec88fSEmmanuel Vadot
2121c66ec88fSEmmanuel Vadot			trips {
2122c66ec88fSEmmanuel Vadot				critical {
2123c66ec88fSEmmanuel Vadot					temperature = <101000>;
2124c66ec88fSEmmanuel Vadot					hysteresis = <0>;
2125c66ec88fSEmmanuel Vadot					type = "critical";
2126c66ec88fSEmmanuel Vadot				};
2127c66ec88fSEmmanuel Vadot			};
2128c66ec88fSEmmanuel Vadot
2129c66ec88fSEmmanuel Vadot			cooling-maps {
2130c66ec88fSEmmanuel Vadot			};
2131c66ec88fSEmmanuel Vadot		};
2132c66ec88fSEmmanuel Vadot
2133e67e8565SEmmanuel Vadot		pll-thermal {
2134c66ec88fSEmmanuel Vadot			polling-delay = <0>;
2135c66ec88fSEmmanuel Vadot			polling-delay-passive = <1000>;
2136c66ec88fSEmmanuel Vadot
2137e67e8565SEmmanuel Vadot			thermal-sensors = <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_PLLX>;
2138c66ec88fSEmmanuel Vadot
2139c66ec88fSEmmanuel Vadot			trips {
2140c66ec88fSEmmanuel Vadot				critical {
2141c66ec88fSEmmanuel Vadot					temperature = <101000>;
2142c66ec88fSEmmanuel Vadot					hysteresis = <0>;
2143c66ec88fSEmmanuel Vadot					type = "critical";
2144c66ec88fSEmmanuel Vadot				};
2145c66ec88fSEmmanuel Vadot			};
2146c66ec88fSEmmanuel Vadot
2147c66ec88fSEmmanuel Vadot			cooling-maps {
2148c66ec88fSEmmanuel Vadot			};
2149c66ec88fSEmmanuel Vadot		};
2150c66ec88fSEmmanuel Vadot
2151e67e8565SEmmanuel Vadot		ao-thermal {
2152c66ec88fSEmmanuel Vadot			polling-delay = <0>;
2153c66ec88fSEmmanuel Vadot			polling-delay-passive = <1000>;
2154c66ec88fSEmmanuel Vadot
2155e67e8565SEmmanuel Vadot			thermal-sensors = <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_AO>;
2156c66ec88fSEmmanuel Vadot
2157c66ec88fSEmmanuel Vadot			trips {
2158c66ec88fSEmmanuel Vadot				critical {
2159c66ec88fSEmmanuel Vadot					temperature = <101000>;
2160c66ec88fSEmmanuel Vadot					hysteresis = <0>;
2161c66ec88fSEmmanuel Vadot					type = "critical";
2162c66ec88fSEmmanuel Vadot				};
2163c66ec88fSEmmanuel Vadot			};
2164c66ec88fSEmmanuel Vadot
2165c66ec88fSEmmanuel Vadot			cooling-maps {
2166c66ec88fSEmmanuel Vadot			};
2167c66ec88fSEmmanuel Vadot		};
2168c66ec88fSEmmanuel Vadot	};
2169c66ec88fSEmmanuel Vadot
2170c66ec88fSEmmanuel Vadot	timer {
2171c66ec88fSEmmanuel Vadot		compatible = "arm,armv8-timer";
2172c66ec88fSEmmanuel Vadot		interrupts = <GIC_PPI 13
2173c66ec88fSEmmanuel Vadot				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2174c66ec88fSEmmanuel Vadot			     <GIC_PPI 14
2175c66ec88fSEmmanuel Vadot				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2176c66ec88fSEmmanuel Vadot			     <GIC_PPI 11
2177c66ec88fSEmmanuel Vadot				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2178c66ec88fSEmmanuel Vadot			     <GIC_PPI 10
2179c66ec88fSEmmanuel Vadot				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
2180c66ec88fSEmmanuel Vadot		interrupt-parent = <&gic>;
2181c66ec88fSEmmanuel Vadot		always-on;
2182c66ec88fSEmmanuel Vadot	};
2183c66ec88fSEmmanuel Vadot};
2184