1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun#include <dt-bindings/clock/tegra186-clock.h> 3*4882a593Smuzhiyun#include <dt-bindings/gpio/tegra186-gpio.h> 4*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h> 5*4882a593Smuzhiyun#include <dt-bindings/mailbox/tegra186-hsp.h> 6*4882a593Smuzhiyun#include <dt-bindings/memory/tegra186-mc.h> 7*4882a593Smuzhiyun#include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h> 8*4882a593Smuzhiyun#include <dt-bindings/power/tegra186-powergate.h> 9*4882a593Smuzhiyun#include <dt-bindings/reset/tegra186-reset.h> 10*4882a593Smuzhiyun#include <dt-bindings/thermal/tegra186-bpmp-thermal.h> 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun/ { 13*4882a593Smuzhiyun compatible = "nvidia,tegra186"; 14*4882a593Smuzhiyun interrupt-parent = <&gic>; 15*4882a593Smuzhiyun #address-cells = <2>; 16*4882a593Smuzhiyun #size-cells = <2>; 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun misc@100000 { 19*4882a593Smuzhiyun compatible = "nvidia,tegra186-misc"; 20*4882a593Smuzhiyun reg = <0x0 0x00100000 0x0 0xf000>, 21*4882a593Smuzhiyun <0x0 0x0010f000 0x0 0x1000>; 22*4882a593Smuzhiyun }; 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun gpio: gpio@2200000 { 25*4882a593Smuzhiyun compatible = "nvidia,tegra186-gpio"; 26*4882a593Smuzhiyun reg-names = "security", "gpio"; 27*4882a593Smuzhiyun reg = <0x0 0x2200000 0x0 0x10000>, 28*4882a593Smuzhiyun <0x0 0x2210000 0x0 0x10000>; 29*4882a593Smuzhiyun interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>, 30*4882a593Smuzhiyun <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>, 31*4882a593Smuzhiyun <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, 32*4882a593Smuzhiyun <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, 33*4882a593Smuzhiyun <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 34*4882a593Smuzhiyun <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>; 35*4882a593Smuzhiyun #interrupt-cells = <2>; 36*4882a593Smuzhiyun interrupt-controller; 37*4882a593Smuzhiyun #gpio-cells = <2>; 38*4882a593Smuzhiyun gpio-controller; 39*4882a593Smuzhiyun }; 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun ethernet@2490000 { 42*4882a593Smuzhiyun compatible = "nvidia,tegra186-eqos", 43*4882a593Smuzhiyun "snps,dwc-qos-ethernet-4.10"; 44*4882a593Smuzhiyun reg = <0x0 0x02490000 0x0 0x10000>; 45*4882a593Smuzhiyun interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>, /* common */ 46*4882a593Smuzhiyun <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>, /* power */ 47*4882a593Smuzhiyun <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>, /* rx0 */ 48*4882a593Smuzhiyun <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>, /* tx0 */ 49*4882a593Smuzhiyun <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>, /* rx1 */ 50*4882a593Smuzhiyun <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>, /* tx1 */ 51*4882a593Smuzhiyun <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>, /* rx2 */ 52*4882a593Smuzhiyun <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, /* tx2 */ 53*4882a593Smuzhiyun <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>, /* rx3 */ 54*4882a593Smuzhiyun <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; /* tx3 */ 55*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_AXI_CBB>, 56*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_EQOS_AXI>, 57*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_EQOS_RX>, 58*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_EQOS_TX>, 59*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_EQOS_PTP_REF>; 60*4882a593Smuzhiyun clock-names = "master_bus", "slave_bus", "rx", "tx", "ptp_ref"; 61*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_EQOS>; 62*4882a593Smuzhiyun reset-names = "eqos"; 63*4882a593Smuzhiyun interconnects = <&mc TEGRA186_MEMORY_CLIENT_EQOSR &emc>, 64*4882a593Smuzhiyun <&mc TEGRA186_MEMORY_CLIENT_EQOSW &emc>; 65*4882a593Smuzhiyun interconnect-names = "dma-mem", "write"; 66*4882a593Smuzhiyun iommus = <&smmu TEGRA186_SID_EQOS>; 67*4882a593Smuzhiyun status = "disabled"; 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun snps,write-requests = <1>; 70*4882a593Smuzhiyun snps,read-requests = <3>; 71*4882a593Smuzhiyun snps,burst-map = <0x7>; 72*4882a593Smuzhiyun snps,txpbl = <32>; 73*4882a593Smuzhiyun snps,rxpbl = <8>; 74*4882a593Smuzhiyun }; 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun aconnect { 77*4882a593Smuzhiyun compatible = "nvidia,tegra186-aconnect", 78*4882a593Smuzhiyun "nvidia,tegra210-aconnect"; 79*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_APE>, 80*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_APB2APE>; 81*4882a593Smuzhiyun clock-names = "ape", "apb2ape"; 82*4882a593Smuzhiyun power-domains = <&bpmp TEGRA186_POWER_DOMAIN_AUD>; 83*4882a593Smuzhiyun #address-cells = <1>; 84*4882a593Smuzhiyun #size-cells = <1>; 85*4882a593Smuzhiyun ranges = <0x02900000 0x0 0x02900000 0x200000>; 86*4882a593Smuzhiyun status = "disabled"; 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun adma: dma-controller@2930000 { 89*4882a593Smuzhiyun compatible = "nvidia,tegra186-adma"; 90*4882a593Smuzhiyun reg = <0x02930000 0x20000>; 91*4882a593Smuzhiyun interrupt-parent = <&agic>; 92*4882a593Smuzhiyun interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 93*4882a593Smuzhiyun <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 94*4882a593Smuzhiyun <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 95*4882a593Smuzhiyun <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 96*4882a593Smuzhiyun <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 97*4882a593Smuzhiyun <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 98*4882a593Smuzhiyun <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 99*4882a593Smuzhiyun <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 100*4882a593Smuzhiyun <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 101*4882a593Smuzhiyun <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, 102*4882a593Smuzhiyun <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, 103*4882a593Smuzhiyun <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 104*4882a593Smuzhiyun <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 105*4882a593Smuzhiyun <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>, 106*4882a593Smuzhiyun <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>, 107*4882a593Smuzhiyun <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>, 108*4882a593Smuzhiyun <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, 109*4882a593Smuzhiyun <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, 110*4882a593Smuzhiyun <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, 111*4882a593Smuzhiyun <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, 112*4882a593Smuzhiyun <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>, 113*4882a593Smuzhiyun <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>, 114*4882a593Smuzhiyun <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>, 115*4882a593Smuzhiyun <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>, 116*4882a593Smuzhiyun <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>, 117*4882a593Smuzhiyun <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>, 118*4882a593Smuzhiyun <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>, 119*4882a593Smuzhiyun <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>, 120*4882a593Smuzhiyun <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>, 121*4882a593Smuzhiyun <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>, 122*4882a593Smuzhiyun <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>, 123*4882a593Smuzhiyun <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 124*4882a593Smuzhiyun #dma-cells = <1>; 125*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_AHUB>; 126*4882a593Smuzhiyun clock-names = "d_audio"; 127*4882a593Smuzhiyun status = "disabled"; 128*4882a593Smuzhiyun }; 129*4882a593Smuzhiyun 130*4882a593Smuzhiyun agic: interrupt-controller@2a40000 { 131*4882a593Smuzhiyun compatible = "nvidia,tegra186-agic", 132*4882a593Smuzhiyun "nvidia,tegra210-agic"; 133*4882a593Smuzhiyun #interrupt-cells = <3>; 134*4882a593Smuzhiyun interrupt-controller; 135*4882a593Smuzhiyun reg = <0x02a41000 0x1000>, 136*4882a593Smuzhiyun <0x02a42000 0x2000>; 137*4882a593Smuzhiyun interrupts = <GIC_SPI 145 138*4882a593Smuzhiyun (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 139*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_APE>; 140*4882a593Smuzhiyun clock-names = "clk"; 141*4882a593Smuzhiyun status = "disabled"; 142*4882a593Smuzhiyun }; 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun tegra_ahub: ahub@2900800 { 145*4882a593Smuzhiyun compatible = "nvidia,tegra186-ahub"; 146*4882a593Smuzhiyun reg = <0x02900800 0x800>; 147*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_AHUB>; 148*4882a593Smuzhiyun clock-names = "ahub"; 149*4882a593Smuzhiyun assigned-clocks = <&bpmp TEGRA186_CLK_AHUB>; 150*4882a593Smuzhiyun assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 151*4882a593Smuzhiyun #address-cells = <1>; 152*4882a593Smuzhiyun #size-cells = <1>; 153*4882a593Smuzhiyun ranges = <0x02900800 0x02900800 0x11800>; 154*4882a593Smuzhiyun status = "disabled"; 155*4882a593Smuzhiyun 156*4882a593Smuzhiyun tegra_admaif: admaif@290f000 { 157*4882a593Smuzhiyun compatible = "nvidia,tegra186-admaif"; 158*4882a593Smuzhiyun reg = <0x0290f000 0x1000>; 159*4882a593Smuzhiyun dmas = <&adma 1>, <&adma 1>, 160*4882a593Smuzhiyun <&adma 2>, <&adma 2>, 161*4882a593Smuzhiyun <&adma 3>, <&adma 3>, 162*4882a593Smuzhiyun <&adma 4>, <&adma 4>, 163*4882a593Smuzhiyun <&adma 5>, <&adma 5>, 164*4882a593Smuzhiyun <&adma 6>, <&adma 6>, 165*4882a593Smuzhiyun <&adma 7>, <&adma 7>, 166*4882a593Smuzhiyun <&adma 8>, <&adma 8>, 167*4882a593Smuzhiyun <&adma 9>, <&adma 9>, 168*4882a593Smuzhiyun <&adma 10>, <&adma 10>, 169*4882a593Smuzhiyun <&adma 11>, <&adma 11>, 170*4882a593Smuzhiyun <&adma 12>, <&adma 12>, 171*4882a593Smuzhiyun <&adma 13>, <&adma 13>, 172*4882a593Smuzhiyun <&adma 14>, <&adma 14>, 173*4882a593Smuzhiyun <&adma 15>, <&adma 15>, 174*4882a593Smuzhiyun <&adma 16>, <&adma 16>, 175*4882a593Smuzhiyun <&adma 17>, <&adma 17>, 176*4882a593Smuzhiyun <&adma 18>, <&adma 18>, 177*4882a593Smuzhiyun <&adma 19>, <&adma 19>, 178*4882a593Smuzhiyun <&adma 20>, <&adma 20>; 179*4882a593Smuzhiyun dma-names = "rx1", "tx1", 180*4882a593Smuzhiyun "rx2", "tx2", 181*4882a593Smuzhiyun "rx3", "tx3", 182*4882a593Smuzhiyun "rx4", "tx4", 183*4882a593Smuzhiyun "rx5", "tx5", 184*4882a593Smuzhiyun "rx6", "tx6", 185*4882a593Smuzhiyun "rx7", "tx7", 186*4882a593Smuzhiyun "rx8", "tx8", 187*4882a593Smuzhiyun "rx9", "tx9", 188*4882a593Smuzhiyun "rx10", "tx10", 189*4882a593Smuzhiyun "rx11", "tx11", 190*4882a593Smuzhiyun "rx12", "tx12", 191*4882a593Smuzhiyun "rx13", "tx13", 192*4882a593Smuzhiyun "rx14", "tx14", 193*4882a593Smuzhiyun "rx15", "tx15", 194*4882a593Smuzhiyun "rx16", "tx16", 195*4882a593Smuzhiyun "rx17", "tx17", 196*4882a593Smuzhiyun "rx18", "tx18", 197*4882a593Smuzhiyun "rx19", "tx19", 198*4882a593Smuzhiyun "rx20", "tx20"; 199*4882a593Smuzhiyun status = "disabled"; 200*4882a593Smuzhiyun }; 201*4882a593Smuzhiyun 202*4882a593Smuzhiyun tegra_i2s1: i2s@2901000 { 203*4882a593Smuzhiyun compatible = "nvidia,tegra186-i2s", 204*4882a593Smuzhiyun "nvidia,tegra210-i2s"; 205*4882a593Smuzhiyun reg = <0x2901000 0x100>; 206*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_I2S1>, 207*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_I2S1_SYNC_INPUT>; 208*4882a593Smuzhiyun clock-names = "i2s", "sync_input"; 209*4882a593Smuzhiyun assigned-clocks = <&bpmp TEGRA186_CLK_I2S1>; 210*4882a593Smuzhiyun assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 211*4882a593Smuzhiyun assigned-clock-rates = <1536000>; 212*4882a593Smuzhiyun sound-name-prefix = "I2S1"; 213*4882a593Smuzhiyun status = "disabled"; 214*4882a593Smuzhiyun }; 215*4882a593Smuzhiyun 216*4882a593Smuzhiyun tegra_i2s2: i2s@2901100 { 217*4882a593Smuzhiyun compatible = "nvidia,tegra186-i2s", 218*4882a593Smuzhiyun "nvidia,tegra210-i2s"; 219*4882a593Smuzhiyun reg = <0x2901100 0x100>; 220*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_I2S2>, 221*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_I2S2_SYNC_INPUT>; 222*4882a593Smuzhiyun clock-names = "i2s", "sync_input"; 223*4882a593Smuzhiyun assigned-clocks = <&bpmp TEGRA186_CLK_I2S2>; 224*4882a593Smuzhiyun assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 225*4882a593Smuzhiyun assigned-clock-rates = <1536000>; 226*4882a593Smuzhiyun sound-name-prefix = "I2S2"; 227*4882a593Smuzhiyun status = "disabled"; 228*4882a593Smuzhiyun }; 229*4882a593Smuzhiyun 230*4882a593Smuzhiyun tegra_i2s3: i2s@2901200 { 231*4882a593Smuzhiyun compatible = "nvidia,tegra186-i2s", 232*4882a593Smuzhiyun "nvidia,tegra210-i2s"; 233*4882a593Smuzhiyun reg = <0x2901200 0x100>; 234*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_I2S3>, 235*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_I2S3_SYNC_INPUT>; 236*4882a593Smuzhiyun clock-names = "i2s", "sync_input"; 237*4882a593Smuzhiyun assigned-clocks = <&bpmp TEGRA186_CLK_I2S3>; 238*4882a593Smuzhiyun assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 239*4882a593Smuzhiyun assigned-clock-rates = <1536000>; 240*4882a593Smuzhiyun sound-name-prefix = "I2S3"; 241*4882a593Smuzhiyun status = "disabled"; 242*4882a593Smuzhiyun }; 243*4882a593Smuzhiyun 244*4882a593Smuzhiyun tegra_i2s4: i2s@2901300 { 245*4882a593Smuzhiyun compatible = "nvidia,tegra186-i2s", 246*4882a593Smuzhiyun "nvidia,tegra210-i2s"; 247*4882a593Smuzhiyun reg = <0x2901300 0x100>; 248*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_I2S4>, 249*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_I2S4_SYNC_INPUT>; 250*4882a593Smuzhiyun clock-names = "i2s", "sync_input"; 251*4882a593Smuzhiyun assigned-clocks = <&bpmp TEGRA186_CLK_I2S4>; 252*4882a593Smuzhiyun assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 253*4882a593Smuzhiyun assigned-clock-rates = <1536000>; 254*4882a593Smuzhiyun sound-name-prefix = "I2S4"; 255*4882a593Smuzhiyun status = "disabled"; 256*4882a593Smuzhiyun }; 257*4882a593Smuzhiyun 258*4882a593Smuzhiyun tegra_i2s5: i2s@2901400 { 259*4882a593Smuzhiyun compatible = "nvidia,tegra186-i2s", 260*4882a593Smuzhiyun "nvidia,tegra210-i2s"; 261*4882a593Smuzhiyun reg = <0x2901400 0x100>; 262*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_I2S5>, 263*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_I2S5_SYNC_INPUT>; 264*4882a593Smuzhiyun clock-names = "i2s", "sync_input"; 265*4882a593Smuzhiyun assigned-clocks = <&bpmp TEGRA186_CLK_I2S5>; 266*4882a593Smuzhiyun assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 267*4882a593Smuzhiyun assigned-clock-rates = <1536000>; 268*4882a593Smuzhiyun sound-name-prefix = "I2S5"; 269*4882a593Smuzhiyun status = "disabled"; 270*4882a593Smuzhiyun }; 271*4882a593Smuzhiyun 272*4882a593Smuzhiyun tegra_i2s6: i2s@2901500 { 273*4882a593Smuzhiyun compatible = "nvidia,tegra186-i2s", 274*4882a593Smuzhiyun "nvidia,tegra210-i2s"; 275*4882a593Smuzhiyun reg = <0x2901500 0x100>; 276*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_I2S6>, 277*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_I2S6_SYNC_INPUT>; 278*4882a593Smuzhiyun clock-names = "i2s", "sync_input"; 279*4882a593Smuzhiyun assigned-clocks = <&bpmp TEGRA186_CLK_I2S6>; 280*4882a593Smuzhiyun assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 281*4882a593Smuzhiyun assigned-clock-rates = <1536000>; 282*4882a593Smuzhiyun sound-name-prefix = "I2S6"; 283*4882a593Smuzhiyun status = "disabled"; 284*4882a593Smuzhiyun }; 285*4882a593Smuzhiyun 286*4882a593Smuzhiyun tegra_dmic1: dmic@2904000 { 287*4882a593Smuzhiyun compatible = "nvidia,tegra210-dmic"; 288*4882a593Smuzhiyun reg = <0x2904000 0x100>; 289*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_DMIC1>; 290*4882a593Smuzhiyun clock-names = "dmic"; 291*4882a593Smuzhiyun assigned-clocks = <&bpmp TEGRA186_CLK_DMIC1>; 292*4882a593Smuzhiyun assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 293*4882a593Smuzhiyun assigned-clock-rates = <3072000>; 294*4882a593Smuzhiyun sound-name-prefix = "DMIC1"; 295*4882a593Smuzhiyun status = "disabled"; 296*4882a593Smuzhiyun }; 297*4882a593Smuzhiyun 298*4882a593Smuzhiyun tegra_dmic2: dmic@2904100 { 299*4882a593Smuzhiyun compatible = "nvidia,tegra210-dmic"; 300*4882a593Smuzhiyun reg = <0x2904100 0x100>; 301*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_DMIC2>; 302*4882a593Smuzhiyun clock-names = "dmic"; 303*4882a593Smuzhiyun assigned-clocks = <&bpmp TEGRA186_CLK_DMIC2>; 304*4882a593Smuzhiyun assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 305*4882a593Smuzhiyun assigned-clock-rates = <3072000>; 306*4882a593Smuzhiyun sound-name-prefix = "DMIC2"; 307*4882a593Smuzhiyun status = "disabled"; 308*4882a593Smuzhiyun }; 309*4882a593Smuzhiyun 310*4882a593Smuzhiyun tegra_dmic3: dmic@2904200 { 311*4882a593Smuzhiyun compatible = "nvidia,tegra210-dmic"; 312*4882a593Smuzhiyun reg = <0x2904200 0x100>; 313*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_DMIC3>; 314*4882a593Smuzhiyun clock-names = "dmic"; 315*4882a593Smuzhiyun assigned-clocks = <&bpmp TEGRA186_CLK_DMIC3>; 316*4882a593Smuzhiyun assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 317*4882a593Smuzhiyun assigned-clock-rates = <3072000>; 318*4882a593Smuzhiyun sound-name-prefix = "DMIC3"; 319*4882a593Smuzhiyun status = "disabled"; 320*4882a593Smuzhiyun }; 321*4882a593Smuzhiyun 322*4882a593Smuzhiyun tegra_dmic4: dmic@2904300 { 323*4882a593Smuzhiyun compatible = "nvidia,tegra210-dmic"; 324*4882a593Smuzhiyun reg = <0x2904300 0x100>; 325*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_DMIC4>; 326*4882a593Smuzhiyun clock-names = "dmic"; 327*4882a593Smuzhiyun assigned-clocks = <&bpmp TEGRA186_CLK_DMIC4>; 328*4882a593Smuzhiyun assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 329*4882a593Smuzhiyun assigned-clock-rates = <3072000>; 330*4882a593Smuzhiyun sound-name-prefix = "DMIC4"; 331*4882a593Smuzhiyun status = "disabled"; 332*4882a593Smuzhiyun }; 333*4882a593Smuzhiyun 334*4882a593Smuzhiyun tegra_dspk1: dspk@2905000 { 335*4882a593Smuzhiyun compatible = "nvidia,tegra186-dspk"; 336*4882a593Smuzhiyun reg = <0x2905000 0x100>; 337*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_DSPK1>; 338*4882a593Smuzhiyun clock-names = "dspk"; 339*4882a593Smuzhiyun assigned-clocks = <&bpmp TEGRA186_CLK_DSPK1>; 340*4882a593Smuzhiyun assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 341*4882a593Smuzhiyun assigned-clock-rates = <12288000>; 342*4882a593Smuzhiyun sound-name-prefix = "DSPK1"; 343*4882a593Smuzhiyun status = "disabled"; 344*4882a593Smuzhiyun }; 345*4882a593Smuzhiyun 346*4882a593Smuzhiyun tegra_dspk2: dspk@2905100 { 347*4882a593Smuzhiyun compatible = "nvidia,tegra186-dspk"; 348*4882a593Smuzhiyun reg = <0x2905100 0x100>; 349*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_DSPK2>; 350*4882a593Smuzhiyun clock-names = "dspk"; 351*4882a593Smuzhiyun assigned-clocks = <&bpmp TEGRA186_CLK_DSPK2>; 352*4882a593Smuzhiyun assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 353*4882a593Smuzhiyun assigned-clock-rates = <12288000>; 354*4882a593Smuzhiyun sound-name-prefix = "DSPK2"; 355*4882a593Smuzhiyun status = "disabled"; 356*4882a593Smuzhiyun }; 357*4882a593Smuzhiyun }; 358*4882a593Smuzhiyun }; 359*4882a593Smuzhiyun 360*4882a593Smuzhiyun mc: memory-controller@2c00000 { 361*4882a593Smuzhiyun compatible = "nvidia,tegra186-mc"; 362*4882a593Smuzhiyun reg = <0x0 0x02c00000 0x0 0xb0000>; 363*4882a593Smuzhiyun interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>; 364*4882a593Smuzhiyun status = "disabled"; 365*4882a593Smuzhiyun 366*4882a593Smuzhiyun #interconnect-cells = <1>; 367*4882a593Smuzhiyun #address-cells = <2>; 368*4882a593Smuzhiyun #size-cells = <2>; 369*4882a593Smuzhiyun 370*4882a593Smuzhiyun ranges = <0x0 0x02c00000 0x0 0x02c00000 0x0 0xb0000>; 371*4882a593Smuzhiyun 372*4882a593Smuzhiyun /* 373*4882a593Smuzhiyun * Memory clients have access to all 40 bits that the memory 374*4882a593Smuzhiyun * controller can address. 375*4882a593Smuzhiyun */ 376*4882a593Smuzhiyun dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x0>; 377*4882a593Smuzhiyun 378*4882a593Smuzhiyun emc: external-memory-controller@2c60000 { 379*4882a593Smuzhiyun compatible = "nvidia,tegra186-emc"; 380*4882a593Smuzhiyun reg = <0x0 0x02c60000 0x0 0x50000>; 381*4882a593Smuzhiyun interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>; 382*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_EMC>; 383*4882a593Smuzhiyun clock-names = "emc"; 384*4882a593Smuzhiyun 385*4882a593Smuzhiyun #interconnect-cells = <0>; 386*4882a593Smuzhiyun 387*4882a593Smuzhiyun nvidia,bpmp = <&bpmp>; 388*4882a593Smuzhiyun }; 389*4882a593Smuzhiyun }; 390*4882a593Smuzhiyun 391*4882a593Smuzhiyun uarta: serial@3100000 { 392*4882a593Smuzhiyun compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart"; 393*4882a593Smuzhiyun reg = <0x0 0x03100000 0x0 0x40>; 394*4882a593Smuzhiyun reg-shift = <2>; 395*4882a593Smuzhiyun interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; 396*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_UARTA>; 397*4882a593Smuzhiyun clock-names = "serial"; 398*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_UARTA>; 399*4882a593Smuzhiyun reset-names = "serial"; 400*4882a593Smuzhiyun status = "disabled"; 401*4882a593Smuzhiyun }; 402*4882a593Smuzhiyun 403*4882a593Smuzhiyun uartb: serial@3110000 { 404*4882a593Smuzhiyun compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart"; 405*4882a593Smuzhiyun reg = <0x0 0x03110000 0x0 0x40>; 406*4882a593Smuzhiyun reg-shift = <2>; 407*4882a593Smuzhiyun interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; 408*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_UARTB>; 409*4882a593Smuzhiyun clock-names = "serial"; 410*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_UARTB>; 411*4882a593Smuzhiyun reset-names = "serial"; 412*4882a593Smuzhiyun status = "disabled"; 413*4882a593Smuzhiyun }; 414*4882a593Smuzhiyun 415*4882a593Smuzhiyun uartd: serial@3130000 { 416*4882a593Smuzhiyun compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart"; 417*4882a593Smuzhiyun reg = <0x0 0x03130000 0x0 0x40>; 418*4882a593Smuzhiyun reg-shift = <2>; 419*4882a593Smuzhiyun interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; 420*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_UARTD>; 421*4882a593Smuzhiyun clock-names = "serial"; 422*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_UARTD>; 423*4882a593Smuzhiyun reset-names = "serial"; 424*4882a593Smuzhiyun status = "disabled"; 425*4882a593Smuzhiyun }; 426*4882a593Smuzhiyun 427*4882a593Smuzhiyun uarte: serial@3140000 { 428*4882a593Smuzhiyun compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart"; 429*4882a593Smuzhiyun reg = <0x0 0x03140000 0x0 0x40>; 430*4882a593Smuzhiyun reg-shift = <2>; 431*4882a593Smuzhiyun interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; 432*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_UARTE>; 433*4882a593Smuzhiyun clock-names = "serial"; 434*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_UARTE>; 435*4882a593Smuzhiyun reset-names = "serial"; 436*4882a593Smuzhiyun status = "disabled"; 437*4882a593Smuzhiyun }; 438*4882a593Smuzhiyun 439*4882a593Smuzhiyun uartf: serial@3150000 { 440*4882a593Smuzhiyun compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart"; 441*4882a593Smuzhiyun reg = <0x0 0x03150000 0x0 0x40>; 442*4882a593Smuzhiyun reg-shift = <2>; 443*4882a593Smuzhiyun interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 444*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_UARTF>; 445*4882a593Smuzhiyun clock-names = "serial"; 446*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_UARTF>; 447*4882a593Smuzhiyun reset-names = "serial"; 448*4882a593Smuzhiyun status = "disabled"; 449*4882a593Smuzhiyun }; 450*4882a593Smuzhiyun 451*4882a593Smuzhiyun gen1_i2c: i2c@3160000 { 452*4882a593Smuzhiyun compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c"; 453*4882a593Smuzhiyun reg = <0x0 0x03160000 0x0 0x10000>; 454*4882a593Smuzhiyun interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 455*4882a593Smuzhiyun #address-cells = <1>; 456*4882a593Smuzhiyun #size-cells = <0>; 457*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_I2C1>; 458*4882a593Smuzhiyun clock-names = "div-clk"; 459*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_I2C1>; 460*4882a593Smuzhiyun reset-names = "i2c"; 461*4882a593Smuzhiyun status = "disabled"; 462*4882a593Smuzhiyun }; 463*4882a593Smuzhiyun 464*4882a593Smuzhiyun cam_i2c: i2c@3180000 { 465*4882a593Smuzhiyun compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c"; 466*4882a593Smuzhiyun reg = <0x0 0x03180000 0x0 0x10000>; 467*4882a593Smuzhiyun interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 468*4882a593Smuzhiyun #address-cells = <1>; 469*4882a593Smuzhiyun #size-cells = <0>; 470*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_I2C3>; 471*4882a593Smuzhiyun clock-names = "div-clk"; 472*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_I2C3>; 473*4882a593Smuzhiyun reset-names = "i2c"; 474*4882a593Smuzhiyun status = "disabled"; 475*4882a593Smuzhiyun }; 476*4882a593Smuzhiyun 477*4882a593Smuzhiyun /* shares pads with dpaux1 */ 478*4882a593Smuzhiyun dp_aux_ch1_i2c: i2c@3190000 { 479*4882a593Smuzhiyun compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c"; 480*4882a593Smuzhiyun reg = <0x0 0x03190000 0x0 0x10000>; 481*4882a593Smuzhiyun interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 482*4882a593Smuzhiyun #address-cells = <1>; 483*4882a593Smuzhiyun #size-cells = <0>; 484*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_I2C4>; 485*4882a593Smuzhiyun clock-names = "div-clk"; 486*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_I2C4>; 487*4882a593Smuzhiyun reset-names = "i2c"; 488*4882a593Smuzhiyun pinctrl-names = "default", "idle"; 489*4882a593Smuzhiyun pinctrl-0 = <&state_dpaux1_i2c>; 490*4882a593Smuzhiyun pinctrl-1 = <&state_dpaux1_off>; 491*4882a593Smuzhiyun status = "disabled"; 492*4882a593Smuzhiyun }; 493*4882a593Smuzhiyun 494*4882a593Smuzhiyun /* controlled by BPMP, should not be enabled */ 495*4882a593Smuzhiyun pwr_i2c: i2c@31a0000 { 496*4882a593Smuzhiyun compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c"; 497*4882a593Smuzhiyun reg = <0x0 0x031a0000 0x0 0x10000>; 498*4882a593Smuzhiyun interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 499*4882a593Smuzhiyun #address-cells = <1>; 500*4882a593Smuzhiyun #size-cells = <0>; 501*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_I2C5>; 502*4882a593Smuzhiyun clock-names = "div-clk"; 503*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_I2C5>; 504*4882a593Smuzhiyun reset-names = "i2c"; 505*4882a593Smuzhiyun status = "disabled"; 506*4882a593Smuzhiyun }; 507*4882a593Smuzhiyun 508*4882a593Smuzhiyun /* shares pads with dpaux0 */ 509*4882a593Smuzhiyun dp_aux_ch0_i2c: i2c@31b0000 { 510*4882a593Smuzhiyun compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c"; 511*4882a593Smuzhiyun reg = <0x0 0x031b0000 0x0 0x10000>; 512*4882a593Smuzhiyun interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 513*4882a593Smuzhiyun #address-cells = <1>; 514*4882a593Smuzhiyun #size-cells = <0>; 515*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_I2C6>; 516*4882a593Smuzhiyun clock-names = "div-clk"; 517*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_I2C6>; 518*4882a593Smuzhiyun reset-names = "i2c"; 519*4882a593Smuzhiyun pinctrl-names = "default", "idle"; 520*4882a593Smuzhiyun pinctrl-0 = <&state_dpaux_i2c>; 521*4882a593Smuzhiyun pinctrl-1 = <&state_dpaux_off>; 522*4882a593Smuzhiyun status = "disabled"; 523*4882a593Smuzhiyun }; 524*4882a593Smuzhiyun 525*4882a593Smuzhiyun gen7_i2c: i2c@31c0000 { 526*4882a593Smuzhiyun compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c"; 527*4882a593Smuzhiyun reg = <0x0 0x031c0000 0x0 0x10000>; 528*4882a593Smuzhiyun interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 529*4882a593Smuzhiyun #address-cells = <1>; 530*4882a593Smuzhiyun #size-cells = <0>; 531*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_I2C7>; 532*4882a593Smuzhiyun clock-names = "div-clk"; 533*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_I2C7>; 534*4882a593Smuzhiyun reset-names = "i2c"; 535*4882a593Smuzhiyun status = "disabled"; 536*4882a593Smuzhiyun }; 537*4882a593Smuzhiyun 538*4882a593Smuzhiyun gen9_i2c: i2c@31e0000 { 539*4882a593Smuzhiyun compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c"; 540*4882a593Smuzhiyun reg = <0x0 0x031e0000 0x0 0x10000>; 541*4882a593Smuzhiyun interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 542*4882a593Smuzhiyun #address-cells = <1>; 543*4882a593Smuzhiyun #size-cells = <0>; 544*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_I2C9>; 545*4882a593Smuzhiyun clock-names = "div-clk"; 546*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_I2C9>; 547*4882a593Smuzhiyun reset-names = "i2c"; 548*4882a593Smuzhiyun status = "disabled"; 549*4882a593Smuzhiyun }; 550*4882a593Smuzhiyun 551*4882a593Smuzhiyun sdmmc1: mmc@3400000 { 552*4882a593Smuzhiyun compatible = "nvidia,tegra186-sdhci"; 553*4882a593Smuzhiyun reg = <0x0 0x03400000 0x0 0x10000>; 554*4882a593Smuzhiyun interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 555*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_SDMMC1>, 556*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>; 557*4882a593Smuzhiyun clock-names = "sdhci", "tmclk"; 558*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_SDMMC1>; 559*4882a593Smuzhiyun reset-names = "sdhci"; 560*4882a593Smuzhiyun interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCRA &emc>, 561*4882a593Smuzhiyun <&mc TEGRA186_MEMORY_CLIENT_SDMMCWA &emc>; 562*4882a593Smuzhiyun interconnect-names = "dma-mem", "write"; 563*4882a593Smuzhiyun iommus = <&smmu TEGRA186_SID_SDMMC1>; 564*4882a593Smuzhiyun pinctrl-names = "sdmmc-3v3", "sdmmc-1v8"; 565*4882a593Smuzhiyun pinctrl-0 = <&sdmmc1_3v3>; 566*4882a593Smuzhiyun pinctrl-1 = <&sdmmc1_1v8>; 567*4882a593Smuzhiyun nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>; 568*4882a593Smuzhiyun nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x06>; 569*4882a593Smuzhiyun nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x07>; 570*4882a593Smuzhiyun nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>; 571*4882a593Smuzhiyun nvidia,pad-autocal-pull-up-offset-sdr104 = <0x03>; 572*4882a593Smuzhiyun nvidia,pad-autocal-pull-down-offset-sdr104 = <0x05>; 573*4882a593Smuzhiyun nvidia,default-tap = <0x5>; 574*4882a593Smuzhiyun nvidia,default-trim = <0xb>; 575*4882a593Smuzhiyun assigned-clocks = <&bpmp TEGRA186_CLK_SDMMC1>, 576*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_PLLP_OUT0>; 577*4882a593Smuzhiyun assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLP_OUT0>; 578*4882a593Smuzhiyun status = "disabled"; 579*4882a593Smuzhiyun }; 580*4882a593Smuzhiyun 581*4882a593Smuzhiyun sdmmc2: mmc@3420000 { 582*4882a593Smuzhiyun compatible = "nvidia,tegra186-sdhci"; 583*4882a593Smuzhiyun reg = <0x0 0x03420000 0x0 0x10000>; 584*4882a593Smuzhiyun interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 585*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_SDMMC2>, 586*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>; 587*4882a593Smuzhiyun clock-names = "sdhci", "tmclk"; 588*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_SDMMC2>; 589*4882a593Smuzhiyun reset-names = "sdhci"; 590*4882a593Smuzhiyun interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCRAA &emc>, 591*4882a593Smuzhiyun <&mc TEGRA186_MEMORY_CLIENT_SDMMCWAA &emc>; 592*4882a593Smuzhiyun interconnect-names = "dma-mem", "write"; 593*4882a593Smuzhiyun iommus = <&smmu TEGRA186_SID_SDMMC2>; 594*4882a593Smuzhiyun pinctrl-names = "sdmmc-3v3", "sdmmc-1v8"; 595*4882a593Smuzhiyun pinctrl-0 = <&sdmmc2_3v3>; 596*4882a593Smuzhiyun pinctrl-1 = <&sdmmc2_1v8>; 597*4882a593Smuzhiyun nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>; 598*4882a593Smuzhiyun nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x06>; 599*4882a593Smuzhiyun nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x07>; 600*4882a593Smuzhiyun nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>; 601*4882a593Smuzhiyun nvidia,default-tap = <0x5>; 602*4882a593Smuzhiyun nvidia,default-trim = <0xb>; 603*4882a593Smuzhiyun status = "disabled"; 604*4882a593Smuzhiyun }; 605*4882a593Smuzhiyun 606*4882a593Smuzhiyun sdmmc3: mmc@3440000 { 607*4882a593Smuzhiyun compatible = "nvidia,tegra186-sdhci"; 608*4882a593Smuzhiyun reg = <0x0 0x03440000 0x0 0x10000>; 609*4882a593Smuzhiyun interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 610*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_SDMMC3>, 611*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>; 612*4882a593Smuzhiyun clock-names = "sdhci", "tmclk"; 613*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_SDMMC3>; 614*4882a593Smuzhiyun reset-names = "sdhci"; 615*4882a593Smuzhiyun interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCR &emc>, 616*4882a593Smuzhiyun <&mc TEGRA186_MEMORY_CLIENT_SDMMCW &emc>; 617*4882a593Smuzhiyun interconnect-names = "dma-mem", "write"; 618*4882a593Smuzhiyun iommus = <&smmu TEGRA186_SID_SDMMC3>; 619*4882a593Smuzhiyun pinctrl-names = "sdmmc-3v3", "sdmmc-1v8"; 620*4882a593Smuzhiyun pinctrl-0 = <&sdmmc3_3v3>; 621*4882a593Smuzhiyun pinctrl-1 = <&sdmmc3_1v8>; 622*4882a593Smuzhiyun nvidia,pad-autocal-pull-up-offset-1v8 = <0x00>; 623*4882a593Smuzhiyun nvidia,pad-autocal-pull-down-offset-1v8 = <0x7a>; 624*4882a593Smuzhiyun nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>; 625*4882a593Smuzhiyun nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x06>; 626*4882a593Smuzhiyun nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x07>; 627*4882a593Smuzhiyun nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>; 628*4882a593Smuzhiyun nvidia,default-tap = <0x5>; 629*4882a593Smuzhiyun nvidia,default-trim = <0xb>; 630*4882a593Smuzhiyun status = "disabled"; 631*4882a593Smuzhiyun }; 632*4882a593Smuzhiyun 633*4882a593Smuzhiyun sdmmc4: mmc@3460000 { 634*4882a593Smuzhiyun compatible = "nvidia,tegra186-sdhci"; 635*4882a593Smuzhiyun reg = <0x0 0x03460000 0x0 0x10000>; 636*4882a593Smuzhiyun interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 637*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_SDMMC4>, 638*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>; 639*4882a593Smuzhiyun clock-names = "sdhci", "tmclk"; 640*4882a593Smuzhiyun assigned-clocks = <&bpmp TEGRA186_CLK_SDMMC4>, 641*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_PLLC4_VCO>; 642*4882a593Smuzhiyun assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLC4_VCO>; 643*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_SDMMC4>; 644*4882a593Smuzhiyun reset-names = "sdhci"; 645*4882a593Smuzhiyun interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCRAB &emc>, 646*4882a593Smuzhiyun <&mc TEGRA186_MEMORY_CLIENT_SDMMCWAB &emc>; 647*4882a593Smuzhiyun interconnect-names = "dma-mem", "write"; 648*4882a593Smuzhiyun iommus = <&smmu TEGRA186_SID_SDMMC4>; 649*4882a593Smuzhiyun nvidia,pad-autocal-pull-up-offset-hs400 = <0x05>; 650*4882a593Smuzhiyun nvidia,pad-autocal-pull-down-offset-hs400 = <0x05>; 651*4882a593Smuzhiyun nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x0a>; 652*4882a593Smuzhiyun nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x0a>; 653*4882a593Smuzhiyun nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x0a>; 654*4882a593Smuzhiyun nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x0a>; 655*4882a593Smuzhiyun nvidia,default-tap = <0x9>; 656*4882a593Smuzhiyun nvidia,default-trim = <0x5>; 657*4882a593Smuzhiyun nvidia,dqs-trim = <63>; 658*4882a593Smuzhiyun mmc-hs400-1_8v; 659*4882a593Smuzhiyun supports-cqe; 660*4882a593Smuzhiyun status = "disabled"; 661*4882a593Smuzhiyun }; 662*4882a593Smuzhiyun 663*4882a593Smuzhiyun hda@3510000 { 664*4882a593Smuzhiyun compatible = "nvidia,tegra186-hda", "nvidia,tegra30-hda"; 665*4882a593Smuzhiyun reg = <0x0 0x03510000 0x0 0x10000>; 666*4882a593Smuzhiyun interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>; 667*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_HDA>, 668*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_HDA2HDMICODEC>, 669*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_HDA2CODEC_2X>; 670*4882a593Smuzhiyun clock-names = "hda", "hda2hdmi", "hda2codec_2x"; 671*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_HDA>, 672*4882a593Smuzhiyun <&bpmp TEGRA186_RESET_HDA2HDMICODEC>, 673*4882a593Smuzhiyun <&bpmp TEGRA186_RESET_HDA2CODEC_2X>; 674*4882a593Smuzhiyun reset-names = "hda", "hda2hdmi", "hda2codec_2x"; 675*4882a593Smuzhiyun power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 676*4882a593Smuzhiyun interconnects = <&mc TEGRA186_MEMORY_CLIENT_HDAR &emc>, 677*4882a593Smuzhiyun <&mc TEGRA186_MEMORY_CLIENT_HDAW &emc>; 678*4882a593Smuzhiyun interconnect-names = "dma-mem", "write"; 679*4882a593Smuzhiyun iommus = <&smmu TEGRA186_SID_HDA>; 680*4882a593Smuzhiyun status = "disabled"; 681*4882a593Smuzhiyun }; 682*4882a593Smuzhiyun 683*4882a593Smuzhiyun padctl: padctl@3520000 { 684*4882a593Smuzhiyun compatible = "nvidia,tegra186-xusb-padctl"; 685*4882a593Smuzhiyun reg = <0x0 0x03520000 0x0 0x1000>, 686*4882a593Smuzhiyun <0x0 0x03540000 0x0 0x1000>; 687*4882a593Smuzhiyun reg-names = "padctl", "ao"; 688*4882a593Smuzhiyun 689*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_XUSB_PADCTL>; 690*4882a593Smuzhiyun reset-names = "padctl"; 691*4882a593Smuzhiyun 692*4882a593Smuzhiyun status = "disabled"; 693*4882a593Smuzhiyun 694*4882a593Smuzhiyun pads { 695*4882a593Smuzhiyun usb2 { 696*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_USB2_TRK>; 697*4882a593Smuzhiyun clock-names = "trk"; 698*4882a593Smuzhiyun status = "disabled"; 699*4882a593Smuzhiyun 700*4882a593Smuzhiyun lanes { 701*4882a593Smuzhiyun usb2-0 { 702*4882a593Smuzhiyun status = "disabled"; 703*4882a593Smuzhiyun #phy-cells = <0>; 704*4882a593Smuzhiyun }; 705*4882a593Smuzhiyun 706*4882a593Smuzhiyun usb2-1 { 707*4882a593Smuzhiyun status = "disabled"; 708*4882a593Smuzhiyun #phy-cells = <0>; 709*4882a593Smuzhiyun }; 710*4882a593Smuzhiyun 711*4882a593Smuzhiyun usb2-2 { 712*4882a593Smuzhiyun status = "disabled"; 713*4882a593Smuzhiyun #phy-cells = <0>; 714*4882a593Smuzhiyun }; 715*4882a593Smuzhiyun }; 716*4882a593Smuzhiyun }; 717*4882a593Smuzhiyun 718*4882a593Smuzhiyun hsic { 719*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_HSIC_TRK>; 720*4882a593Smuzhiyun clock-names = "trk"; 721*4882a593Smuzhiyun status = "disabled"; 722*4882a593Smuzhiyun 723*4882a593Smuzhiyun lanes { 724*4882a593Smuzhiyun hsic-0 { 725*4882a593Smuzhiyun status = "disabled"; 726*4882a593Smuzhiyun #phy-cells = <0>; 727*4882a593Smuzhiyun }; 728*4882a593Smuzhiyun }; 729*4882a593Smuzhiyun }; 730*4882a593Smuzhiyun 731*4882a593Smuzhiyun usb3 { 732*4882a593Smuzhiyun status = "disabled"; 733*4882a593Smuzhiyun 734*4882a593Smuzhiyun lanes { 735*4882a593Smuzhiyun usb3-0 { 736*4882a593Smuzhiyun status = "disabled"; 737*4882a593Smuzhiyun #phy-cells = <0>; 738*4882a593Smuzhiyun }; 739*4882a593Smuzhiyun 740*4882a593Smuzhiyun usb3-1 { 741*4882a593Smuzhiyun status = "disabled"; 742*4882a593Smuzhiyun #phy-cells = <0>; 743*4882a593Smuzhiyun }; 744*4882a593Smuzhiyun 745*4882a593Smuzhiyun usb3-2 { 746*4882a593Smuzhiyun status = "disabled"; 747*4882a593Smuzhiyun #phy-cells = <0>; 748*4882a593Smuzhiyun }; 749*4882a593Smuzhiyun }; 750*4882a593Smuzhiyun }; 751*4882a593Smuzhiyun }; 752*4882a593Smuzhiyun 753*4882a593Smuzhiyun ports { 754*4882a593Smuzhiyun usb2-0 { 755*4882a593Smuzhiyun status = "disabled"; 756*4882a593Smuzhiyun }; 757*4882a593Smuzhiyun 758*4882a593Smuzhiyun usb2-1 { 759*4882a593Smuzhiyun status = "disabled"; 760*4882a593Smuzhiyun }; 761*4882a593Smuzhiyun 762*4882a593Smuzhiyun usb2-2 { 763*4882a593Smuzhiyun status = "disabled"; 764*4882a593Smuzhiyun }; 765*4882a593Smuzhiyun 766*4882a593Smuzhiyun hsic-0 { 767*4882a593Smuzhiyun status = "disabled"; 768*4882a593Smuzhiyun }; 769*4882a593Smuzhiyun 770*4882a593Smuzhiyun usb3-0 { 771*4882a593Smuzhiyun status = "disabled"; 772*4882a593Smuzhiyun }; 773*4882a593Smuzhiyun 774*4882a593Smuzhiyun usb3-1 { 775*4882a593Smuzhiyun status = "disabled"; 776*4882a593Smuzhiyun }; 777*4882a593Smuzhiyun 778*4882a593Smuzhiyun usb3-2 { 779*4882a593Smuzhiyun status = "disabled"; 780*4882a593Smuzhiyun }; 781*4882a593Smuzhiyun }; 782*4882a593Smuzhiyun }; 783*4882a593Smuzhiyun 784*4882a593Smuzhiyun usb@3530000 { 785*4882a593Smuzhiyun compatible = "nvidia,tegra186-xusb"; 786*4882a593Smuzhiyun reg = <0x0 0x03530000 0x0 0x8000>, 787*4882a593Smuzhiyun <0x0 0x03538000 0x0 0x1000>; 788*4882a593Smuzhiyun reg-names = "hcd", "fpci"; 789*4882a593Smuzhiyun interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>, 790*4882a593Smuzhiyun <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>; 791*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_XUSB_HOST>, 792*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_XUSB_FALCON>, 793*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_XUSB_SS>, 794*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_XUSB_CORE_SS>, 795*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_CLK_M>, 796*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_XUSB_FS>, 797*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_PLLU>, 798*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_CLK_M>, 799*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_PLLE>; 800*4882a593Smuzhiyun clock-names = "xusb_host", "xusb_falcon_src", "xusb_ss", 801*4882a593Smuzhiyun "xusb_ss_src", "xusb_hs_src", "xusb_fs_src", 802*4882a593Smuzhiyun "pll_u_480m", "clk_m", "pll_e"; 803*4882a593Smuzhiyun power-domains = <&bpmp TEGRA186_POWER_DOMAIN_XUSBC>, 804*4882a593Smuzhiyun <&bpmp TEGRA186_POWER_DOMAIN_XUSBA>; 805*4882a593Smuzhiyun power-domain-names = "xusb_host", "xusb_ss"; 806*4882a593Smuzhiyun interconnects = <&mc TEGRA186_MEMORY_CLIENT_XUSB_HOSTR &emc>, 807*4882a593Smuzhiyun <&mc TEGRA186_MEMORY_CLIENT_XUSB_HOSTW &emc>; 808*4882a593Smuzhiyun interconnect-names = "dma-mem", "write"; 809*4882a593Smuzhiyun iommus = <&smmu TEGRA186_SID_XUSB_HOST>; 810*4882a593Smuzhiyun #address-cells = <1>; 811*4882a593Smuzhiyun #size-cells = <0>; 812*4882a593Smuzhiyun status = "disabled"; 813*4882a593Smuzhiyun 814*4882a593Smuzhiyun nvidia,xusb-padctl = <&padctl>; 815*4882a593Smuzhiyun }; 816*4882a593Smuzhiyun 817*4882a593Smuzhiyun usb@3550000 { 818*4882a593Smuzhiyun compatible = "nvidia,tegra186-xudc"; 819*4882a593Smuzhiyun reg = <0x0 0x03550000 0x0 0x8000>, 820*4882a593Smuzhiyun <0x0 0x03558000 0x0 0x1000>; 821*4882a593Smuzhiyun reg-names = "base", "fpci"; 822*4882a593Smuzhiyun interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>; 823*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_XUSB_CORE_DEV>, 824*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_XUSB_SS>, 825*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_XUSB_CORE_SS>, 826*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_XUSB_FS>; 827*4882a593Smuzhiyun clock-names = "dev", "ss", "ss_src", "fs_src"; 828*4882a593Smuzhiyun iommus = <&smmu TEGRA186_SID_XUSB_DEV>; 829*4882a593Smuzhiyun power-domains = <&bpmp TEGRA186_POWER_DOMAIN_XUSBB>, 830*4882a593Smuzhiyun <&bpmp TEGRA186_POWER_DOMAIN_XUSBA>; 831*4882a593Smuzhiyun power-domain-names = "dev", "ss"; 832*4882a593Smuzhiyun nvidia,xusb-padctl = <&padctl>; 833*4882a593Smuzhiyun status = "disabled"; 834*4882a593Smuzhiyun }; 835*4882a593Smuzhiyun 836*4882a593Smuzhiyun fuse@3820000 { 837*4882a593Smuzhiyun compatible = "nvidia,tegra186-efuse"; 838*4882a593Smuzhiyun reg = <0x0 0x03820000 0x0 0x10000>; 839*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_FUSE>; 840*4882a593Smuzhiyun clock-names = "fuse"; 841*4882a593Smuzhiyun }; 842*4882a593Smuzhiyun 843*4882a593Smuzhiyun gic: interrupt-controller@3881000 { 844*4882a593Smuzhiyun compatible = "arm,gic-400"; 845*4882a593Smuzhiyun #interrupt-cells = <3>; 846*4882a593Smuzhiyun interrupt-controller; 847*4882a593Smuzhiyun reg = <0x0 0x03881000 0x0 0x1000>, 848*4882a593Smuzhiyun <0x0 0x03882000 0x0 0x2000>; 849*4882a593Smuzhiyun interrupts = <GIC_PPI 9 850*4882a593Smuzhiyun (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 851*4882a593Smuzhiyun interrupt-parent = <&gic>; 852*4882a593Smuzhiyun }; 853*4882a593Smuzhiyun 854*4882a593Smuzhiyun cec@3960000 { 855*4882a593Smuzhiyun compatible = "nvidia,tegra186-cec"; 856*4882a593Smuzhiyun reg = <0x0 0x03960000 0x0 0x10000>; 857*4882a593Smuzhiyun interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>; 858*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_CEC>; 859*4882a593Smuzhiyun clock-names = "cec"; 860*4882a593Smuzhiyun status = "disabled"; 861*4882a593Smuzhiyun }; 862*4882a593Smuzhiyun 863*4882a593Smuzhiyun hsp_top0: hsp@3c00000 { 864*4882a593Smuzhiyun compatible = "nvidia,tegra186-hsp"; 865*4882a593Smuzhiyun reg = <0x0 0x03c00000 0x0 0xa0000>; 866*4882a593Smuzhiyun interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>; 867*4882a593Smuzhiyun interrupt-names = "doorbell"; 868*4882a593Smuzhiyun #mbox-cells = <2>; 869*4882a593Smuzhiyun status = "disabled"; 870*4882a593Smuzhiyun }; 871*4882a593Smuzhiyun 872*4882a593Smuzhiyun gen2_i2c: i2c@c240000 { 873*4882a593Smuzhiyun compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c"; 874*4882a593Smuzhiyun reg = <0x0 0x0c240000 0x0 0x10000>; 875*4882a593Smuzhiyun interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 876*4882a593Smuzhiyun #address-cells = <1>; 877*4882a593Smuzhiyun #size-cells = <0>; 878*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_I2C2>; 879*4882a593Smuzhiyun clock-names = "div-clk"; 880*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_I2C2>; 881*4882a593Smuzhiyun reset-names = "i2c"; 882*4882a593Smuzhiyun status = "disabled"; 883*4882a593Smuzhiyun }; 884*4882a593Smuzhiyun 885*4882a593Smuzhiyun gen8_i2c: i2c@c250000 { 886*4882a593Smuzhiyun compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c"; 887*4882a593Smuzhiyun reg = <0x0 0x0c250000 0x0 0x10000>; 888*4882a593Smuzhiyun interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 889*4882a593Smuzhiyun #address-cells = <1>; 890*4882a593Smuzhiyun #size-cells = <0>; 891*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_I2C8>; 892*4882a593Smuzhiyun clock-names = "div-clk"; 893*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_I2C8>; 894*4882a593Smuzhiyun reset-names = "i2c"; 895*4882a593Smuzhiyun status = "disabled"; 896*4882a593Smuzhiyun }; 897*4882a593Smuzhiyun 898*4882a593Smuzhiyun uartc: serial@c280000 { 899*4882a593Smuzhiyun compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart"; 900*4882a593Smuzhiyun reg = <0x0 0x0c280000 0x0 0x40>; 901*4882a593Smuzhiyun reg-shift = <2>; 902*4882a593Smuzhiyun interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 903*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_UARTC>; 904*4882a593Smuzhiyun clock-names = "serial"; 905*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_UARTC>; 906*4882a593Smuzhiyun reset-names = "serial"; 907*4882a593Smuzhiyun status = "disabled"; 908*4882a593Smuzhiyun }; 909*4882a593Smuzhiyun 910*4882a593Smuzhiyun uartg: serial@c290000 { 911*4882a593Smuzhiyun compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart"; 912*4882a593Smuzhiyun reg = <0x0 0x0c290000 0x0 0x40>; 913*4882a593Smuzhiyun reg-shift = <2>; 914*4882a593Smuzhiyun interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; 915*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_UARTG>; 916*4882a593Smuzhiyun clock-names = "serial"; 917*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_UARTG>; 918*4882a593Smuzhiyun reset-names = "serial"; 919*4882a593Smuzhiyun status = "disabled"; 920*4882a593Smuzhiyun }; 921*4882a593Smuzhiyun 922*4882a593Smuzhiyun rtc: rtc@c2a0000 { 923*4882a593Smuzhiyun compatible = "nvidia,tegra186-rtc", "nvidia,tegra20-rtc"; 924*4882a593Smuzhiyun reg = <0 0x0c2a0000 0 0x10000>; 925*4882a593Smuzhiyun interrupt-parent = <&pmc>; 926*4882a593Smuzhiyun interrupts = <73 IRQ_TYPE_LEVEL_HIGH>; 927*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_CLK_32K>; 928*4882a593Smuzhiyun clock-names = "rtc"; 929*4882a593Smuzhiyun status = "disabled"; 930*4882a593Smuzhiyun }; 931*4882a593Smuzhiyun 932*4882a593Smuzhiyun gpio_aon: gpio@c2f0000 { 933*4882a593Smuzhiyun compatible = "nvidia,tegra186-gpio-aon"; 934*4882a593Smuzhiyun reg-names = "security", "gpio"; 935*4882a593Smuzhiyun reg = <0x0 0xc2f0000 0x0 0x1000>, 936*4882a593Smuzhiyun <0x0 0xc2f1000 0x0 0x1000>; 937*4882a593Smuzhiyun interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 938*4882a593Smuzhiyun gpio-controller; 939*4882a593Smuzhiyun #gpio-cells = <2>; 940*4882a593Smuzhiyun interrupt-controller; 941*4882a593Smuzhiyun #interrupt-cells = <2>; 942*4882a593Smuzhiyun }; 943*4882a593Smuzhiyun 944*4882a593Smuzhiyun pmc: pmc@c360000 { 945*4882a593Smuzhiyun compatible = "nvidia,tegra186-pmc"; 946*4882a593Smuzhiyun reg = <0 0x0c360000 0 0x10000>, 947*4882a593Smuzhiyun <0 0x0c370000 0 0x10000>, 948*4882a593Smuzhiyun <0 0x0c380000 0 0x10000>, 949*4882a593Smuzhiyun <0 0x0c390000 0 0x10000>; 950*4882a593Smuzhiyun reg-names = "pmc", "wake", "aotag", "scratch"; 951*4882a593Smuzhiyun 952*4882a593Smuzhiyun #interrupt-cells = <2>; 953*4882a593Smuzhiyun interrupt-controller; 954*4882a593Smuzhiyun 955*4882a593Smuzhiyun sdmmc1_3v3: sdmmc1-3v3 { 956*4882a593Smuzhiyun pins = "sdmmc1-hv"; 957*4882a593Smuzhiyun power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>; 958*4882a593Smuzhiyun }; 959*4882a593Smuzhiyun 960*4882a593Smuzhiyun sdmmc1_1v8: sdmmc1-1v8 { 961*4882a593Smuzhiyun pins = "sdmmc1-hv"; 962*4882a593Smuzhiyun power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>; 963*4882a593Smuzhiyun }; 964*4882a593Smuzhiyun 965*4882a593Smuzhiyun sdmmc2_3v3: sdmmc2-3v3 { 966*4882a593Smuzhiyun pins = "sdmmc2-hv"; 967*4882a593Smuzhiyun power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>; 968*4882a593Smuzhiyun }; 969*4882a593Smuzhiyun 970*4882a593Smuzhiyun sdmmc2_1v8: sdmmc2-1v8 { 971*4882a593Smuzhiyun pins = "sdmmc2-hv"; 972*4882a593Smuzhiyun power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>; 973*4882a593Smuzhiyun }; 974*4882a593Smuzhiyun 975*4882a593Smuzhiyun sdmmc3_3v3: sdmmc3-3v3 { 976*4882a593Smuzhiyun pins = "sdmmc3-hv"; 977*4882a593Smuzhiyun power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>; 978*4882a593Smuzhiyun }; 979*4882a593Smuzhiyun 980*4882a593Smuzhiyun sdmmc3_1v8: sdmmc3-1v8 { 981*4882a593Smuzhiyun pins = "sdmmc3-hv"; 982*4882a593Smuzhiyun power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>; 983*4882a593Smuzhiyun }; 984*4882a593Smuzhiyun }; 985*4882a593Smuzhiyun 986*4882a593Smuzhiyun ccplex@e000000 { 987*4882a593Smuzhiyun compatible = "nvidia,tegra186-ccplex-cluster"; 988*4882a593Smuzhiyun reg = <0x0 0x0e000000 0x0 0x400000>; 989*4882a593Smuzhiyun 990*4882a593Smuzhiyun nvidia,bpmp = <&bpmp>; 991*4882a593Smuzhiyun }; 992*4882a593Smuzhiyun 993*4882a593Smuzhiyun pcie@10003000 { 994*4882a593Smuzhiyun compatible = "nvidia,tegra186-pcie"; 995*4882a593Smuzhiyun power-domains = <&bpmp TEGRA186_POWER_DOMAIN_PCX>; 996*4882a593Smuzhiyun device_type = "pci"; 997*4882a593Smuzhiyun reg = <0x0 0x10003000 0x0 0x00000800>, /* PADS registers */ 998*4882a593Smuzhiyun <0x0 0x10003800 0x0 0x00000800>, /* AFI registers */ 999*4882a593Smuzhiyun <0x0 0x40000000 0x0 0x10000000>; /* configuration space */ 1000*4882a593Smuzhiyun reg-names = "pads", "afi", "cs"; 1001*4882a593Smuzhiyun 1002*4882a593Smuzhiyun interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */ 1003*4882a593Smuzhiyun <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */ 1004*4882a593Smuzhiyun interrupt-names = "intr", "msi"; 1005*4882a593Smuzhiyun 1006*4882a593Smuzhiyun #interrupt-cells = <1>; 1007*4882a593Smuzhiyun interrupt-map-mask = <0 0 0 0>; 1008*4882a593Smuzhiyun interrupt-map = <0 0 0 0 &gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 1009*4882a593Smuzhiyun 1010*4882a593Smuzhiyun bus-range = <0x00 0xff>; 1011*4882a593Smuzhiyun #address-cells = <3>; 1012*4882a593Smuzhiyun #size-cells = <2>; 1013*4882a593Smuzhiyun 1014*4882a593Smuzhiyun ranges = <0x02000000 0 0x10000000 0x0 0x10000000 0 0x00001000>, /* port 0 configuration space */ 1015*4882a593Smuzhiyun <0x02000000 0 0x10001000 0x0 0x10001000 0 0x00001000>,/* port 1 configuration space */ 1016*4882a593Smuzhiyun <0x02000000 0 0x10004000 0x0 0x10004000 0 0x00001000>, /* port 2 configuration space */ 1017*4882a593Smuzhiyun <0x01000000 0 0x0 0x0 0x50000000 0 0x00010000>, /* downstream I/O (64 KiB) */ 1018*4882a593Smuzhiyun <0x02000000 0 0x50100000 0x0 0x50100000 0 0x07f00000>, /* non-prefetchable memory (127 MiB) */ 1019*4882a593Smuzhiyun <0x42000000 0 0x58000000 0x0 0x58000000 0 0x28000000>; /* prefetchable memory (640 MiB) */ 1020*4882a593Smuzhiyun 1021*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_PCIE>, 1022*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_AFI>, 1023*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_PLLE>; 1024*4882a593Smuzhiyun clock-names = "pex", "afi", "pll_e"; 1025*4882a593Smuzhiyun 1026*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_PCIE>, 1027*4882a593Smuzhiyun <&bpmp TEGRA186_RESET_AFI>, 1028*4882a593Smuzhiyun <&bpmp TEGRA186_RESET_PCIEXCLK>; 1029*4882a593Smuzhiyun reset-names = "pex", "afi", "pcie_x"; 1030*4882a593Smuzhiyun 1031*4882a593Smuzhiyun interconnects = <&mc TEGRA186_MEMORY_CLIENT_AFIR &emc>, 1032*4882a593Smuzhiyun <&mc TEGRA186_MEMORY_CLIENT_AFIW &emc>; 1033*4882a593Smuzhiyun interconnect-names = "dma-mem", "write"; 1034*4882a593Smuzhiyun 1035*4882a593Smuzhiyun iommus = <&smmu TEGRA186_SID_AFI>; 1036*4882a593Smuzhiyun iommu-map = <0x0 &smmu TEGRA186_SID_AFI 0x1000>; 1037*4882a593Smuzhiyun iommu-map-mask = <0x0>; 1038*4882a593Smuzhiyun 1039*4882a593Smuzhiyun status = "disabled"; 1040*4882a593Smuzhiyun 1041*4882a593Smuzhiyun pci@1,0 { 1042*4882a593Smuzhiyun device_type = "pci"; 1043*4882a593Smuzhiyun assigned-addresses = <0x82000800 0 0x10000000 0 0x1000>; 1044*4882a593Smuzhiyun reg = <0x000800 0 0 0 0>; 1045*4882a593Smuzhiyun status = "disabled"; 1046*4882a593Smuzhiyun 1047*4882a593Smuzhiyun #address-cells = <3>; 1048*4882a593Smuzhiyun #size-cells = <2>; 1049*4882a593Smuzhiyun ranges; 1050*4882a593Smuzhiyun 1051*4882a593Smuzhiyun nvidia,num-lanes = <2>; 1052*4882a593Smuzhiyun }; 1053*4882a593Smuzhiyun 1054*4882a593Smuzhiyun pci@2,0 { 1055*4882a593Smuzhiyun device_type = "pci"; 1056*4882a593Smuzhiyun assigned-addresses = <0x82001000 0 0x10001000 0 0x1000>; 1057*4882a593Smuzhiyun reg = <0x001000 0 0 0 0>; 1058*4882a593Smuzhiyun status = "disabled"; 1059*4882a593Smuzhiyun 1060*4882a593Smuzhiyun #address-cells = <3>; 1061*4882a593Smuzhiyun #size-cells = <2>; 1062*4882a593Smuzhiyun ranges; 1063*4882a593Smuzhiyun 1064*4882a593Smuzhiyun nvidia,num-lanes = <1>; 1065*4882a593Smuzhiyun }; 1066*4882a593Smuzhiyun 1067*4882a593Smuzhiyun pci@3,0 { 1068*4882a593Smuzhiyun device_type = "pci"; 1069*4882a593Smuzhiyun assigned-addresses = <0x82001800 0 0x10004000 0 0x1000>; 1070*4882a593Smuzhiyun reg = <0x001800 0 0 0 0>; 1071*4882a593Smuzhiyun status = "disabled"; 1072*4882a593Smuzhiyun 1073*4882a593Smuzhiyun #address-cells = <3>; 1074*4882a593Smuzhiyun #size-cells = <2>; 1075*4882a593Smuzhiyun ranges; 1076*4882a593Smuzhiyun 1077*4882a593Smuzhiyun nvidia,num-lanes = <1>; 1078*4882a593Smuzhiyun }; 1079*4882a593Smuzhiyun }; 1080*4882a593Smuzhiyun 1081*4882a593Smuzhiyun smmu: iommu@12000000 { 1082*4882a593Smuzhiyun compatible = "arm,mmu-500"; 1083*4882a593Smuzhiyun reg = <0 0x12000000 0 0x800000>; 1084*4882a593Smuzhiyun interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1085*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1086*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1087*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1088*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1089*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1090*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1091*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1092*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1093*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1094*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1095*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1096*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1097*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1098*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1099*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1100*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1101*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1102*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1103*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1104*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1105*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1106*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1107*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1108*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1109*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1110*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1111*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1112*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1113*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1114*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1115*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1116*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1117*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1118*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1119*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1120*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1121*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1122*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1123*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1124*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1125*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1126*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1127*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1128*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1129*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1130*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1131*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1132*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1133*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1134*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1135*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1136*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1137*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1138*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1139*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1140*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1141*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1142*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1143*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1144*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1145*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1146*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1147*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1148*4882a593Smuzhiyun <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>; 1149*4882a593Smuzhiyun stream-match-mask = <0x7f80>; 1150*4882a593Smuzhiyun #global-interrupts = <1>; 1151*4882a593Smuzhiyun #iommu-cells = <1>; 1152*4882a593Smuzhiyun }; 1153*4882a593Smuzhiyun 1154*4882a593Smuzhiyun host1x@13e00000 { 1155*4882a593Smuzhiyun compatible = "nvidia,tegra186-host1x"; 1156*4882a593Smuzhiyun reg = <0x0 0x13e00000 0x0 0x10000>, 1157*4882a593Smuzhiyun <0x0 0x13e10000 0x0 0x10000>; 1158*4882a593Smuzhiyun reg-names = "hypervisor", "vm"; 1159*4882a593Smuzhiyun interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>, 1160*4882a593Smuzhiyun <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>; 1161*4882a593Smuzhiyun interrupt-names = "syncpt", "host1x"; 1162*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_HOST1X>; 1163*4882a593Smuzhiyun clock-names = "host1x"; 1164*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_HOST1X>; 1165*4882a593Smuzhiyun reset-names = "host1x"; 1166*4882a593Smuzhiyun 1167*4882a593Smuzhiyun #address-cells = <1>; 1168*4882a593Smuzhiyun #size-cells = <1>; 1169*4882a593Smuzhiyun 1170*4882a593Smuzhiyun ranges = <0x15000000 0x0 0x15000000 0x01000000>; 1171*4882a593Smuzhiyun 1172*4882a593Smuzhiyun interconnects = <&mc TEGRA186_MEMORY_CLIENT_HOST1XDMAR &emc>; 1173*4882a593Smuzhiyun interconnect-names = "dma-mem"; 1174*4882a593Smuzhiyun 1175*4882a593Smuzhiyun iommus = <&smmu TEGRA186_SID_HOST1X>; 1176*4882a593Smuzhiyun 1177*4882a593Smuzhiyun dpaux1: dpaux@15040000 { 1178*4882a593Smuzhiyun compatible = "nvidia,tegra186-dpaux"; 1179*4882a593Smuzhiyun reg = <0x15040000 0x10000>; 1180*4882a593Smuzhiyun interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>; 1181*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_DPAUX1>, 1182*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_PLLDP>; 1183*4882a593Smuzhiyun clock-names = "dpaux", "parent"; 1184*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_DPAUX1>; 1185*4882a593Smuzhiyun reset-names = "dpaux"; 1186*4882a593Smuzhiyun status = "disabled"; 1187*4882a593Smuzhiyun 1188*4882a593Smuzhiyun power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 1189*4882a593Smuzhiyun 1190*4882a593Smuzhiyun state_dpaux1_aux: pinmux-aux { 1191*4882a593Smuzhiyun groups = "dpaux-io"; 1192*4882a593Smuzhiyun function = "aux"; 1193*4882a593Smuzhiyun }; 1194*4882a593Smuzhiyun 1195*4882a593Smuzhiyun state_dpaux1_i2c: pinmux-i2c { 1196*4882a593Smuzhiyun groups = "dpaux-io"; 1197*4882a593Smuzhiyun function = "i2c"; 1198*4882a593Smuzhiyun }; 1199*4882a593Smuzhiyun 1200*4882a593Smuzhiyun state_dpaux1_off: pinmux-off { 1201*4882a593Smuzhiyun groups = "dpaux-io"; 1202*4882a593Smuzhiyun function = "off"; 1203*4882a593Smuzhiyun }; 1204*4882a593Smuzhiyun 1205*4882a593Smuzhiyun i2c-bus { 1206*4882a593Smuzhiyun #address-cells = <1>; 1207*4882a593Smuzhiyun #size-cells = <0>; 1208*4882a593Smuzhiyun }; 1209*4882a593Smuzhiyun }; 1210*4882a593Smuzhiyun 1211*4882a593Smuzhiyun display-hub@15200000 { 1212*4882a593Smuzhiyun compatible = "nvidia,tegra186-display"; 1213*4882a593Smuzhiyun reg = <0x15200000 0x00040000>; 1214*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_MISC>, 1215*4882a593Smuzhiyun <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP0>, 1216*4882a593Smuzhiyun <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP1>, 1217*4882a593Smuzhiyun <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP2>, 1218*4882a593Smuzhiyun <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP3>, 1219*4882a593Smuzhiyun <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP4>, 1220*4882a593Smuzhiyun <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP5>; 1221*4882a593Smuzhiyun reset-names = "misc", "wgrp0", "wgrp1", "wgrp2", 1222*4882a593Smuzhiyun "wgrp3", "wgrp4", "wgrp5"; 1223*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_DISP>, 1224*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_NVDISPLAY_DSC>, 1225*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_NVDISPLAYHUB>; 1226*4882a593Smuzhiyun clock-names = "disp", "dsc", "hub"; 1227*4882a593Smuzhiyun status = "disabled"; 1228*4882a593Smuzhiyun 1229*4882a593Smuzhiyun power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 1230*4882a593Smuzhiyun 1231*4882a593Smuzhiyun #address-cells = <1>; 1232*4882a593Smuzhiyun #size-cells = <1>; 1233*4882a593Smuzhiyun 1234*4882a593Smuzhiyun ranges = <0x15200000 0x15200000 0x40000>; 1235*4882a593Smuzhiyun 1236*4882a593Smuzhiyun display@15200000 { 1237*4882a593Smuzhiyun compatible = "nvidia,tegra186-dc"; 1238*4882a593Smuzhiyun reg = <0x15200000 0x10000>; 1239*4882a593Smuzhiyun interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; 1240*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P0>; 1241*4882a593Smuzhiyun clock-names = "dc"; 1242*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD0>; 1243*4882a593Smuzhiyun reset-names = "dc"; 1244*4882a593Smuzhiyun 1245*4882a593Smuzhiyun power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 1246*4882a593Smuzhiyun interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR &emc>, 1247*4882a593Smuzhiyun <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 &emc>; 1248*4882a593Smuzhiyun interconnect-names = "dma-mem", "read-1"; 1249*4882a593Smuzhiyun iommus = <&smmu TEGRA186_SID_NVDISPLAY>; 1250*4882a593Smuzhiyun 1251*4882a593Smuzhiyun nvidia,outputs = <&dsia &dsib &sor0 &sor1>; 1252*4882a593Smuzhiyun nvidia,head = <0>; 1253*4882a593Smuzhiyun }; 1254*4882a593Smuzhiyun 1255*4882a593Smuzhiyun display@15210000 { 1256*4882a593Smuzhiyun compatible = "nvidia,tegra186-dc"; 1257*4882a593Smuzhiyun reg = <0x15210000 0x10000>; 1258*4882a593Smuzhiyun interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; 1259*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P1>; 1260*4882a593Smuzhiyun clock-names = "dc"; 1261*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD1>; 1262*4882a593Smuzhiyun reset-names = "dc"; 1263*4882a593Smuzhiyun 1264*4882a593Smuzhiyun power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISPB>; 1265*4882a593Smuzhiyun interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR &emc>, 1266*4882a593Smuzhiyun <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 &emc>; 1267*4882a593Smuzhiyun interconnect-names = "dma-mem", "read-1"; 1268*4882a593Smuzhiyun iommus = <&smmu TEGRA186_SID_NVDISPLAY>; 1269*4882a593Smuzhiyun 1270*4882a593Smuzhiyun nvidia,outputs = <&dsia &dsib &sor0 &sor1>; 1271*4882a593Smuzhiyun nvidia,head = <1>; 1272*4882a593Smuzhiyun }; 1273*4882a593Smuzhiyun 1274*4882a593Smuzhiyun display@15220000 { 1275*4882a593Smuzhiyun compatible = "nvidia,tegra186-dc"; 1276*4882a593Smuzhiyun reg = <0x15220000 0x10000>; 1277*4882a593Smuzhiyun interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>; 1278*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P2>; 1279*4882a593Smuzhiyun clock-names = "dc"; 1280*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD2>; 1281*4882a593Smuzhiyun reset-names = "dc"; 1282*4882a593Smuzhiyun 1283*4882a593Smuzhiyun power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISPC>; 1284*4882a593Smuzhiyun interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR &emc>, 1285*4882a593Smuzhiyun <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 &emc>; 1286*4882a593Smuzhiyun interconnect-names = "dma-mem", "read-1"; 1287*4882a593Smuzhiyun iommus = <&smmu TEGRA186_SID_NVDISPLAY>; 1288*4882a593Smuzhiyun 1289*4882a593Smuzhiyun nvidia,outputs = <&sor0 &sor1>; 1290*4882a593Smuzhiyun nvidia,head = <2>; 1291*4882a593Smuzhiyun }; 1292*4882a593Smuzhiyun }; 1293*4882a593Smuzhiyun 1294*4882a593Smuzhiyun dsia: dsi@15300000 { 1295*4882a593Smuzhiyun compatible = "nvidia,tegra186-dsi"; 1296*4882a593Smuzhiyun reg = <0x15300000 0x10000>; 1297*4882a593Smuzhiyun interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 1298*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_DSI>, 1299*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_DSIA_LP>, 1300*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_PLLD>; 1301*4882a593Smuzhiyun clock-names = "dsi", "lp", "parent"; 1302*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_DSI>; 1303*4882a593Smuzhiyun reset-names = "dsi"; 1304*4882a593Smuzhiyun status = "disabled"; 1305*4882a593Smuzhiyun 1306*4882a593Smuzhiyun power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 1307*4882a593Smuzhiyun }; 1308*4882a593Smuzhiyun 1309*4882a593Smuzhiyun vic@15340000 { 1310*4882a593Smuzhiyun compatible = "nvidia,tegra186-vic"; 1311*4882a593Smuzhiyun reg = <0x15340000 0x40000>; 1312*4882a593Smuzhiyun interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>; 1313*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_VIC>; 1314*4882a593Smuzhiyun clock-names = "vic"; 1315*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_VIC>; 1316*4882a593Smuzhiyun reset-names = "vic"; 1317*4882a593Smuzhiyun 1318*4882a593Smuzhiyun power-domains = <&bpmp TEGRA186_POWER_DOMAIN_VIC>; 1319*4882a593Smuzhiyun interconnects = <&mc TEGRA186_MEMORY_CLIENT_VICSRD &emc>, 1320*4882a593Smuzhiyun <&mc TEGRA186_MEMORY_CLIENT_VICSWR &emc>; 1321*4882a593Smuzhiyun interconnect-names = "dma-mem", "write"; 1322*4882a593Smuzhiyun iommus = <&smmu TEGRA186_SID_VIC>; 1323*4882a593Smuzhiyun }; 1324*4882a593Smuzhiyun 1325*4882a593Smuzhiyun dsib: dsi@15400000 { 1326*4882a593Smuzhiyun compatible = "nvidia,tegra186-dsi"; 1327*4882a593Smuzhiyun reg = <0x15400000 0x10000>; 1328*4882a593Smuzhiyun interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 1329*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_DSIB>, 1330*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_DSIB_LP>, 1331*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_PLLD>; 1332*4882a593Smuzhiyun clock-names = "dsi", "lp", "parent"; 1333*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_DSIB>; 1334*4882a593Smuzhiyun reset-names = "dsi"; 1335*4882a593Smuzhiyun status = "disabled"; 1336*4882a593Smuzhiyun 1337*4882a593Smuzhiyun power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 1338*4882a593Smuzhiyun }; 1339*4882a593Smuzhiyun 1340*4882a593Smuzhiyun sor0: sor@15540000 { 1341*4882a593Smuzhiyun compatible = "nvidia,tegra186-sor"; 1342*4882a593Smuzhiyun reg = <0x15540000 0x10000>; 1343*4882a593Smuzhiyun interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>; 1344*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_SOR0>, 1345*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_SOR0_OUT>, 1346*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_PLLD2>, 1347*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_PLLDP>, 1348*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_SOR_SAFE>, 1349*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_SOR0_PAD_CLKOUT>; 1350*4882a593Smuzhiyun clock-names = "sor", "out", "parent", "dp", "safe", 1351*4882a593Smuzhiyun "pad"; 1352*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_SOR0>; 1353*4882a593Smuzhiyun reset-names = "sor"; 1354*4882a593Smuzhiyun pinctrl-0 = <&state_dpaux_aux>; 1355*4882a593Smuzhiyun pinctrl-1 = <&state_dpaux_i2c>; 1356*4882a593Smuzhiyun pinctrl-2 = <&state_dpaux_off>; 1357*4882a593Smuzhiyun pinctrl-names = "aux", "i2c", "off"; 1358*4882a593Smuzhiyun status = "disabled"; 1359*4882a593Smuzhiyun 1360*4882a593Smuzhiyun power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 1361*4882a593Smuzhiyun nvidia,interface = <0>; 1362*4882a593Smuzhiyun }; 1363*4882a593Smuzhiyun 1364*4882a593Smuzhiyun sor1: sor@15580000 { 1365*4882a593Smuzhiyun compatible = "nvidia,tegra186-sor"; 1366*4882a593Smuzhiyun reg = <0x15580000 0x10000>; 1367*4882a593Smuzhiyun interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>; 1368*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_SOR1>, 1369*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_SOR1_OUT>, 1370*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_PLLD3>, 1371*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_PLLDP>, 1372*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_SOR_SAFE>, 1373*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_SOR1_PAD_CLKOUT>; 1374*4882a593Smuzhiyun clock-names = "sor", "out", "parent", "dp", "safe", 1375*4882a593Smuzhiyun "pad"; 1376*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_SOR1>; 1377*4882a593Smuzhiyun reset-names = "sor"; 1378*4882a593Smuzhiyun pinctrl-0 = <&state_dpaux1_aux>; 1379*4882a593Smuzhiyun pinctrl-1 = <&state_dpaux1_i2c>; 1380*4882a593Smuzhiyun pinctrl-2 = <&state_dpaux1_off>; 1381*4882a593Smuzhiyun pinctrl-names = "aux", "i2c", "off"; 1382*4882a593Smuzhiyun status = "disabled"; 1383*4882a593Smuzhiyun 1384*4882a593Smuzhiyun power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 1385*4882a593Smuzhiyun nvidia,interface = <1>; 1386*4882a593Smuzhiyun }; 1387*4882a593Smuzhiyun 1388*4882a593Smuzhiyun dpaux: dpaux@155c0000 { 1389*4882a593Smuzhiyun compatible = "nvidia,tegra186-dpaux"; 1390*4882a593Smuzhiyun reg = <0x155c0000 0x10000>; 1391*4882a593Smuzhiyun interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>; 1392*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_DPAUX>, 1393*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_PLLDP>; 1394*4882a593Smuzhiyun clock-names = "dpaux", "parent"; 1395*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_DPAUX>; 1396*4882a593Smuzhiyun reset-names = "dpaux"; 1397*4882a593Smuzhiyun status = "disabled"; 1398*4882a593Smuzhiyun 1399*4882a593Smuzhiyun power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 1400*4882a593Smuzhiyun 1401*4882a593Smuzhiyun state_dpaux_aux: pinmux-aux { 1402*4882a593Smuzhiyun groups = "dpaux-io"; 1403*4882a593Smuzhiyun function = "aux"; 1404*4882a593Smuzhiyun }; 1405*4882a593Smuzhiyun 1406*4882a593Smuzhiyun state_dpaux_i2c: pinmux-i2c { 1407*4882a593Smuzhiyun groups = "dpaux-io"; 1408*4882a593Smuzhiyun function = "i2c"; 1409*4882a593Smuzhiyun }; 1410*4882a593Smuzhiyun 1411*4882a593Smuzhiyun state_dpaux_off: pinmux-off { 1412*4882a593Smuzhiyun groups = "dpaux-io"; 1413*4882a593Smuzhiyun function = "off"; 1414*4882a593Smuzhiyun }; 1415*4882a593Smuzhiyun 1416*4882a593Smuzhiyun i2c-bus { 1417*4882a593Smuzhiyun #address-cells = <1>; 1418*4882a593Smuzhiyun #size-cells = <0>; 1419*4882a593Smuzhiyun }; 1420*4882a593Smuzhiyun }; 1421*4882a593Smuzhiyun 1422*4882a593Smuzhiyun padctl@15880000 { 1423*4882a593Smuzhiyun compatible = "nvidia,tegra186-dsi-padctl"; 1424*4882a593Smuzhiyun reg = <0x15880000 0x10000>; 1425*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_DSI>; 1426*4882a593Smuzhiyun reset-names = "dsi"; 1427*4882a593Smuzhiyun status = "disabled"; 1428*4882a593Smuzhiyun }; 1429*4882a593Smuzhiyun 1430*4882a593Smuzhiyun dsic: dsi@15900000 { 1431*4882a593Smuzhiyun compatible = "nvidia,tegra186-dsi"; 1432*4882a593Smuzhiyun reg = <0x15900000 0x10000>; 1433*4882a593Smuzhiyun interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 1434*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_DSIC>, 1435*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_DSIC_LP>, 1436*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_PLLD>; 1437*4882a593Smuzhiyun clock-names = "dsi", "lp", "parent"; 1438*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_DSIC>; 1439*4882a593Smuzhiyun reset-names = "dsi"; 1440*4882a593Smuzhiyun status = "disabled"; 1441*4882a593Smuzhiyun 1442*4882a593Smuzhiyun power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 1443*4882a593Smuzhiyun }; 1444*4882a593Smuzhiyun 1445*4882a593Smuzhiyun dsid: dsi@15940000 { 1446*4882a593Smuzhiyun compatible = "nvidia,tegra186-dsi"; 1447*4882a593Smuzhiyun reg = <0x15940000 0x10000>; 1448*4882a593Smuzhiyun interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 1449*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_DSID>, 1450*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_DSID_LP>, 1451*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_PLLD>; 1452*4882a593Smuzhiyun clock-names = "dsi", "lp", "parent"; 1453*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_DSID>; 1454*4882a593Smuzhiyun reset-names = "dsi"; 1455*4882a593Smuzhiyun status = "disabled"; 1456*4882a593Smuzhiyun 1457*4882a593Smuzhiyun power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 1458*4882a593Smuzhiyun }; 1459*4882a593Smuzhiyun }; 1460*4882a593Smuzhiyun 1461*4882a593Smuzhiyun gpu@17000000 { 1462*4882a593Smuzhiyun compatible = "nvidia,gp10b"; 1463*4882a593Smuzhiyun reg = <0x0 0x17000000 0x0 0x1000000>, 1464*4882a593Smuzhiyun <0x0 0x18000000 0x0 0x1000000>; 1465*4882a593Smuzhiyun interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 1466*4882a593Smuzhiyun <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 1467*4882a593Smuzhiyun interrupt-names = "stall", "nonstall"; 1468*4882a593Smuzhiyun 1469*4882a593Smuzhiyun clocks = <&bpmp TEGRA186_CLK_GPCCLK>, 1470*4882a593Smuzhiyun <&bpmp TEGRA186_CLK_GPU>; 1471*4882a593Smuzhiyun clock-names = "gpu", "pwr"; 1472*4882a593Smuzhiyun resets = <&bpmp TEGRA186_RESET_GPU>; 1473*4882a593Smuzhiyun reset-names = "gpu"; 1474*4882a593Smuzhiyun status = "disabled"; 1475*4882a593Smuzhiyun 1476*4882a593Smuzhiyun power-domains = <&bpmp TEGRA186_POWER_DOMAIN_GPU>; 1477*4882a593Smuzhiyun interconnects = <&mc TEGRA186_MEMORY_CLIENT_GPUSRD &emc>, 1478*4882a593Smuzhiyun <&mc TEGRA186_MEMORY_CLIENT_GPUSWR &emc>, 1479*4882a593Smuzhiyun <&mc TEGRA186_MEMORY_CLIENT_GPUSRD2 &emc>, 1480*4882a593Smuzhiyun <&mc TEGRA186_MEMORY_CLIENT_GPUSWR2 &emc>; 1481*4882a593Smuzhiyun interconnect-names = "dma-mem", "write-0", "read-1", "write-1"; 1482*4882a593Smuzhiyun }; 1483*4882a593Smuzhiyun 1484*4882a593Smuzhiyun sram@30000000 { 1485*4882a593Smuzhiyun compatible = "nvidia,tegra186-sysram", "mmio-sram"; 1486*4882a593Smuzhiyun reg = <0x0 0x30000000 0x0 0x50000>; 1487*4882a593Smuzhiyun #address-cells = <1>; 1488*4882a593Smuzhiyun #size-cells = <1>; 1489*4882a593Smuzhiyun ranges = <0x0 0x0 0x30000000 0x50000>; 1490*4882a593Smuzhiyun 1491*4882a593Smuzhiyun cpu_bpmp_tx: sram@4e000 { 1492*4882a593Smuzhiyun reg = <0x4e000 0x1000>; 1493*4882a593Smuzhiyun label = "cpu-bpmp-tx"; 1494*4882a593Smuzhiyun pool; 1495*4882a593Smuzhiyun }; 1496*4882a593Smuzhiyun 1497*4882a593Smuzhiyun cpu_bpmp_rx: sram@4f000 { 1498*4882a593Smuzhiyun reg = <0x4f000 0x1000>; 1499*4882a593Smuzhiyun label = "cpu-bpmp-rx"; 1500*4882a593Smuzhiyun pool; 1501*4882a593Smuzhiyun }; 1502*4882a593Smuzhiyun }; 1503*4882a593Smuzhiyun 1504*4882a593Smuzhiyun bpmp: bpmp { 1505*4882a593Smuzhiyun compatible = "nvidia,tegra186-bpmp"; 1506*4882a593Smuzhiyun interconnects = <&mc TEGRA186_MEMORY_CLIENT_BPMPR &emc>, 1507*4882a593Smuzhiyun <&mc TEGRA186_MEMORY_CLIENT_BPMPW &emc>, 1508*4882a593Smuzhiyun <&mc TEGRA186_MEMORY_CLIENT_BPMPDMAR &emc>, 1509*4882a593Smuzhiyun <&mc TEGRA186_MEMORY_CLIENT_BPMPDMAW &emc>; 1510*4882a593Smuzhiyun interconnect-names = "read", "write", "dma-mem", "dma-write"; 1511*4882a593Smuzhiyun iommus = <&smmu TEGRA186_SID_BPMP>; 1512*4882a593Smuzhiyun mboxes = <&hsp_top0 TEGRA_HSP_MBOX_TYPE_DB 1513*4882a593Smuzhiyun TEGRA_HSP_DB_MASTER_BPMP>; 1514*4882a593Smuzhiyun shmem = <&cpu_bpmp_tx &cpu_bpmp_rx>; 1515*4882a593Smuzhiyun #clock-cells = <1>; 1516*4882a593Smuzhiyun #reset-cells = <1>; 1517*4882a593Smuzhiyun #power-domain-cells = <1>; 1518*4882a593Smuzhiyun 1519*4882a593Smuzhiyun bpmp_i2c: i2c { 1520*4882a593Smuzhiyun compatible = "nvidia,tegra186-bpmp-i2c"; 1521*4882a593Smuzhiyun nvidia,bpmp-bus-id = <5>; 1522*4882a593Smuzhiyun #address-cells = <1>; 1523*4882a593Smuzhiyun #size-cells = <0>; 1524*4882a593Smuzhiyun status = "disabled"; 1525*4882a593Smuzhiyun }; 1526*4882a593Smuzhiyun 1527*4882a593Smuzhiyun bpmp_thermal: thermal { 1528*4882a593Smuzhiyun compatible = "nvidia,tegra186-bpmp-thermal"; 1529*4882a593Smuzhiyun #thermal-sensor-cells = <1>; 1530*4882a593Smuzhiyun }; 1531*4882a593Smuzhiyun }; 1532*4882a593Smuzhiyun 1533*4882a593Smuzhiyun cpus { 1534*4882a593Smuzhiyun #address-cells = <1>; 1535*4882a593Smuzhiyun #size-cells = <0>; 1536*4882a593Smuzhiyun 1537*4882a593Smuzhiyun cpu@0 { 1538*4882a593Smuzhiyun compatible = "nvidia,tegra186-denver"; 1539*4882a593Smuzhiyun device_type = "cpu"; 1540*4882a593Smuzhiyun i-cache-size = <0x20000>; 1541*4882a593Smuzhiyun i-cache-line-size = <64>; 1542*4882a593Smuzhiyun i-cache-sets = <512>; 1543*4882a593Smuzhiyun d-cache-size = <0x10000>; 1544*4882a593Smuzhiyun d-cache-line-size = <64>; 1545*4882a593Smuzhiyun d-cache-sets = <256>; 1546*4882a593Smuzhiyun next-level-cache = <&L2_DENVER>; 1547*4882a593Smuzhiyun reg = <0x000>; 1548*4882a593Smuzhiyun }; 1549*4882a593Smuzhiyun 1550*4882a593Smuzhiyun cpu@1 { 1551*4882a593Smuzhiyun compatible = "nvidia,tegra186-denver"; 1552*4882a593Smuzhiyun device_type = "cpu"; 1553*4882a593Smuzhiyun i-cache-size = <0x20000>; 1554*4882a593Smuzhiyun i-cache-line-size = <64>; 1555*4882a593Smuzhiyun i-cache-sets = <512>; 1556*4882a593Smuzhiyun d-cache-size = <0x10000>; 1557*4882a593Smuzhiyun d-cache-line-size = <64>; 1558*4882a593Smuzhiyun d-cache-sets = <256>; 1559*4882a593Smuzhiyun next-level-cache = <&L2_DENVER>; 1560*4882a593Smuzhiyun reg = <0x001>; 1561*4882a593Smuzhiyun }; 1562*4882a593Smuzhiyun 1563*4882a593Smuzhiyun cpu@2 { 1564*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 1565*4882a593Smuzhiyun device_type = "cpu"; 1566*4882a593Smuzhiyun i-cache-size = <0xC000>; 1567*4882a593Smuzhiyun i-cache-line-size = <64>; 1568*4882a593Smuzhiyun i-cache-sets = <256>; 1569*4882a593Smuzhiyun d-cache-size = <0x8000>; 1570*4882a593Smuzhiyun d-cache-line-size = <64>; 1571*4882a593Smuzhiyun d-cache-sets = <256>; 1572*4882a593Smuzhiyun next-level-cache = <&L2_A57>; 1573*4882a593Smuzhiyun reg = <0x100>; 1574*4882a593Smuzhiyun }; 1575*4882a593Smuzhiyun 1576*4882a593Smuzhiyun cpu@3 { 1577*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 1578*4882a593Smuzhiyun device_type = "cpu"; 1579*4882a593Smuzhiyun i-cache-size = <0xC000>; 1580*4882a593Smuzhiyun i-cache-line-size = <64>; 1581*4882a593Smuzhiyun i-cache-sets = <256>; 1582*4882a593Smuzhiyun d-cache-size = <0x8000>; 1583*4882a593Smuzhiyun d-cache-line-size = <64>; 1584*4882a593Smuzhiyun d-cache-sets = <256>; 1585*4882a593Smuzhiyun next-level-cache = <&L2_A57>; 1586*4882a593Smuzhiyun reg = <0x101>; 1587*4882a593Smuzhiyun }; 1588*4882a593Smuzhiyun 1589*4882a593Smuzhiyun cpu@4 { 1590*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 1591*4882a593Smuzhiyun device_type = "cpu"; 1592*4882a593Smuzhiyun i-cache-size = <0xC000>; 1593*4882a593Smuzhiyun i-cache-line-size = <64>; 1594*4882a593Smuzhiyun i-cache-sets = <256>; 1595*4882a593Smuzhiyun d-cache-size = <0x8000>; 1596*4882a593Smuzhiyun d-cache-line-size = <64>; 1597*4882a593Smuzhiyun d-cache-sets = <256>; 1598*4882a593Smuzhiyun next-level-cache = <&L2_A57>; 1599*4882a593Smuzhiyun reg = <0x102>; 1600*4882a593Smuzhiyun }; 1601*4882a593Smuzhiyun 1602*4882a593Smuzhiyun cpu@5 { 1603*4882a593Smuzhiyun compatible = "arm,cortex-a57"; 1604*4882a593Smuzhiyun device_type = "cpu"; 1605*4882a593Smuzhiyun i-cache-size = <0xC000>; 1606*4882a593Smuzhiyun i-cache-line-size = <64>; 1607*4882a593Smuzhiyun i-cache-sets = <256>; 1608*4882a593Smuzhiyun d-cache-size = <0x8000>; 1609*4882a593Smuzhiyun d-cache-line-size = <64>; 1610*4882a593Smuzhiyun d-cache-sets = <256>; 1611*4882a593Smuzhiyun next-level-cache = <&L2_A57>; 1612*4882a593Smuzhiyun reg = <0x103>; 1613*4882a593Smuzhiyun }; 1614*4882a593Smuzhiyun 1615*4882a593Smuzhiyun L2_DENVER: l2-cache0 { 1616*4882a593Smuzhiyun compatible = "cache"; 1617*4882a593Smuzhiyun cache-unified; 1618*4882a593Smuzhiyun cache-level = <2>; 1619*4882a593Smuzhiyun cache-size = <0x200000>; 1620*4882a593Smuzhiyun cache-line-size = <64>; 1621*4882a593Smuzhiyun cache-sets = <2048>; 1622*4882a593Smuzhiyun }; 1623*4882a593Smuzhiyun 1624*4882a593Smuzhiyun L2_A57: l2-cache1 { 1625*4882a593Smuzhiyun compatible = "cache"; 1626*4882a593Smuzhiyun cache-unified; 1627*4882a593Smuzhiyun cache-level = <2>; 1628*4882a593Smuzhiyun cache-size = <0x200000>; 1629*4882a593Smuzhiyun cache-line-size = <64>; 1630*4882a593Smuzhiyun cache-sets = <2048>; 1631*4882a593Smuzhiyun }; 1632*4882a593Smuzhiyun }; 1633*4882a593Smuzhiyun 1634*4882a593Smuzhiyun thermal-zones { 1635*4882a593Smuzhiyun a57 { 1636*4882a593Smuzhiyun polling-delay = <0>; 1637*4882a593Smuzhiyun polling-delay-passive = <1000>; 1638*4882a593Smuzhiyun 1639*4882a593Smuzhiyun thermal-sensors = 1640*4882a593Smuzhiyun <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_CPU>; 1641*4882a593Smuzhiyun 1642*4882a593Smuzhiyun trips { 1643*4882a593Smuzhiyun critical { 1644*4882a593Smuzhiyun temperature = <101000>; 1645*4882a593Smuzhiyun hysteresis = <0>; 1646*4882a593Smuzhiyun type = "critical"; 1647*4882a593Smuzhiyun }; 1648*4882a593Smuzhiyun }; 1649*4882a593Smuzhiyun 1650*4882a593Smuzhiyun cooling-maps { 1651*4882a593Smuzhiyun }; 1652*4882a593Smuzhiyun }; 1653*4882a593Smuzhiyun 1654*4882a593Smuzhiyun denver { 1655*4882a593Smuzhiyun polling-delay = <0>; 1656*4882a593Smuzhiyun polling-delay-passive = <1000>; 1657*4882a593Smuzhiyun 1658*4882a593Smuzhiyun thermal-sensors = 1659*4882a593Smuzhiyun <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_AUX>; 1660*4882a593Smuzhiyun 1661*4882a593Smuzhiyun trips { 1662*4882a593Smuzhiyun critical { 1663*4882a593Smuzhiyun temperature = <101000>; 1664*4882a593Smuzhiyun hysteresis = <0>; 1665*4882a593Smuzhiyun type = "critical"; 1666*4882a593Smuzhiyun }; 1667*4882a593Smuzhiyun }; 1668*4882a593Smuzhiyun 1669*4882a593Smuzhiyun cooling-maps { 1670*4882a593Smuzhiyun }; 1671*4882a593Smuzhiyun }; 1672*4882a593Smuzhiyun 1673*4882a593Smuzhiyun gpu { 1674*4882a593Smuzhiyun polling-delay = <0>; 1675*4882a593Smuzhiyun polling-delay-passive = <1000>; 1676*4882a593Smuzhiyun 1677*4882a593Smuzhiyun thermal-sensors = 1678*4882a593Smuzhiyun <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_GPU>; 1679*4882a593Smuzhiyun 1680*4882a593Smuzhiyun trips { 1681*4882a593Smuzhiyun critical { 1682*4882a593Smuzhiyun temperature = <101000>; 1683*4882a593Smuzhiyun hysteresis = <0>; 1684*4882a593Smuzhiyun type = "critical"; 1685*4882a593Smuzhiyun }; 1686*4882a593Smuzhiyun }; 1687*4882a593Smuzhiyun 1688*4882a593Smuzhiyun cooling-maps { 1689*4882a593Smuzhiyun }; 1690*4882a593Smuzhiyun }; 1691*4882a593Smuzhiyun 1692*4882a593Smuzhiyun pll { 1693*4882a593Smuzhiyun polling-delay = <0>; 1694*4882a593Smuzhiyun polling-delay-passive = <1000>; 1695*4882a593Smuzhiyun 1696*4882a593Smuzhiyun thermal-sensors = 1697*4882a593Smuzhiyun <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_PLLX>; 1698*4882a593Smuzhiyun 1699*4882a593Smuzhiyun trips { 1700*4882a593Smuzhiyun critical { 1701*4882a593Smuzhiyun temperature = <101000>; 1702*4882a593Smuzhiyun hysteresis = <0>; 1703*4882a593Smuzhiyun type = "critical"; 1704*4882a593Smuzhiyun }; 1705*4882a593Smuzhiyun }; 1706*4882a593Smuzhiyun 1707*4882a593Smuzhiyun cooling-maps { 1708*4882a593Smuzhiyun }; 1709*4882a593Smuzhiyun }; 1710*4882a593Smuzhiyun 1711*4882a593Smuzhiyun always_on { 1712*4882a593Smuzhiyun polling-delay = <0>; 1713*4882a593Smuzhiyun polling-delay-passive = <1000>; 1714*4882a593Smuzhiyun 1715*4882a593Smuzhiyun thermal-sensors = 1716*4882a593Smuzhiyun <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_AO>; 1717*4882a593Smuzhiyun 1718*4882a593Smuzhiyun trips { 1719*4882a593Smuzhiyun critical { 1720*4882a593Smuzhiyun temperature = <101000>; 1721*4882a593Smuzhiyun hysteresis = <0>; 1722*4882a593Smuzhiyun type = "critical"; 1723*4882a593Smuzhiyun }; 1724*4882a593Smuzhiyun }; 1725*4882a593Smuzhiyun 1726*4882a593Smuzhiyun cooling-maps { 1727*4882a593Smuzhiyun }; 1728*4882a593Smuzhiyun }; 1729*4882a593Smuzhiyun }; 1730*4882a593Smuzhiyun 1731*4882a593Smuzhiyun timer { 1732*4882a593Smuzhiyun compatible = "arm,armv8-timer"; 1733*4882a593Smuzhiyun interrupts = <GIC_PPI 13 1734*4882a593Smuzhiyun (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 1735*4882a593Smuzhiyun <GIC_PPI 14 1736*4882a593Smuzhiyun (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 1737*4882a593Smuzhiyun <GIC_PPI 11 1738*4882a593Smuzhiyun (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 1739*4882a593Smuzhiyun <GIC_PPI 10 1740*4882a593Smuzhiyun (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 1741*4882a593Smuzhiyun interrupt-parent = <&gic>; 1742*4882a593Smuzhiyun always-on; 1743*4882a593Smuzhiyun }; 1744*4882a593Smuzhiyun}; 1745