1 // SPDX-License-Identifier: GPL-2.0 1 // SPDX-License-Identifier: GPL-2.0 2 #include <dt-bindings/clock/tegra186-clock.h> 2 #include <dt-bindings/clock/tegra186-clock.h> 3 #include <dt-bindings/gpio/tegra186-gpio.h> 3 #include <dt-bindings/gpio/tegra186-gpio.h> 4 #include <dt-bindings/interrupt-controller/arm 4 #include <dt-bindings/interrupt-controller/arm-gic.h> 5 #include <dt-bindings/mailbox/tegra186-hsp.h> 5 #include <dt-bindings/mailbox/tegra186-hsp.h> 6 #include <dt-bindings/memory/tegra186-mc.h> 6 #include <dt-bindings/memory/tegra186-mc.h> 7 #include <dt-bindings/pinctrl/pinctrl-tegra-io 7 #include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h> 8 #include <dt-bindings/power/tegra186-powergate 8 #include <dt-bindings/power/tegra186-powergate.h> 9 #include <dt-bindings/reset/tegra186-reset.h> 9 #include <dt-bindings/reset/tegra186-reset.h> 10 #include <dt-bindings/thermal/tegra186-bpmp-th 10 #include <dt-bindings/thermal/tegra186-bpmp-thermal.h> 11 11 12 / { 12 / { 13 compatible = "nvidia,tegra186"; 13 compatible = "nvidia,tegra186"; 14 interrupt-parent = <&gic>; 14 interrupt-parent = <&gic>; 15 #address-cells = <2>; 15 #address-cells = <2>; 16 #size-cells = <2>; 16 #size-cells = <2>; 17 17 18 misc@100000 { 18 misc@100000 { 19 compatible = "nvidia,tegra186- 19 compatible = "nvidia,tegra186-misc"; 20 reg = <0x0 0x00100000 0x0 0xf0 20 reg = <0x0 0x00100000 0x0 0xf000>, 21 <0x0 0x0010f000 0x0 0x10 21 <0x0 0x0010f000 0x0 0x1000>; 22 }; 22 }; 23 23 24 gpio: gpio@2200000 { 24 gpio: gpio@2200000 { 25 compatible = "nvidia,tegra186- 25 compatible = "nvidia,tegra186-gpio"; 26 reg-names = "security", "gpio" 26 reg-names = "security", "gpio"; 27 reg = <0x0 0x2200000 0x0 0x100 27 reg = <0x0 0x2200000 0x0 0x10000>, 28 <0x0 0x2210000 0x0 0x100 28 <0x0 0x2210000 0x0 0x10000>; 29 interrupts = <GIC_SPI 47 IRQ_ 29 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>, 30 <GIC_SPI 50 IRQ_ 30 <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>, 31 <GIC_SPI 53 IRQ_ 31 <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, 32 <GIC_SPI 56 IRQ_ 32 <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, 33 <GIC_SPI 59 IRQ_ 33 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 34 <GIC_SPI 180 IRQ_ 34 <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>; 35 #interrupt-cells = <2>; 35 #interrupt-cells = <2>; 36 interrupt-controller; 36 interrupt-controller; 37 #gpio-cells = <2>; 37 #gpio-cells = <2>; 38 gpio-controller; 38 gpio-controller; 39 }; 39 }; 40 40 41 ethernet@2490000 { 41 ethernet@2490000 { 42 compatible = "nvidia,tegra186- 42 compatible = "nvidia,tegra186-eqos", 43 "snps,dwc-qos-eth 43 "snps,dwc-qos-ethernet-4.10"; 44 reg = <0x0 0x02490000 0x0 0x10 44 reg = <0x0 0x02490000 0x0 0x10000>; 45 interrupts = <GIC_SPI 194 IRQ_ 45 interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>, /* common */ 46 <GIC_SPI 195 IRQ_ 46 <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>, /* power */ 47 <GIC_SPI 190 IRQ_ 47 <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>, /* rx0 */ 48 <GIC_SPI 186 IRQ_ 48 <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>, /* tx0 */ 49 <GIC_SPI 191 IRQ_ 49 <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>, /* rx1 */ 50 <GIC_SPI 187 IRQ_ 50 <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>, /* tx1 */ 51 <GIC_SPI 192 IRQ_ 51 <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>, /* rx2 */ 52 <GIC_SPI 188 IRQ_ 52 <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, /* tx2 */ 53 <GIC_SPI 193 IRQ_ 53 <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>, /* rx3 */ 54 <GIC_SPI 189 IRQ_ 54 <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; /* tx3 */ 55 clocks = <&bpmp TEGRA186_CLK_A 55 clocks = <&bpmp TEGRA186_CLK_AXI_CBB>, 56 <&bpmp TEGRA186_CLK_E 56 <&bpmp TEGRA186_CLK_EQOS_AXI>, 57 <&bpmp TEGRA186_CLK_E 57 <&bpmp TEGRA186_CLK_EQOS_RX>, 58 <&bpmp TEGRA186_CLK_E 58 <&bpmp TEGRA186_CLK_EQOS_TX>, 59 <&bpmp TEGRA186_CLK_E 59 <&bpmp TEGRA186_CLK_EQOS_PTP_REF>; 60 clock-names = "master_bus", "s 60 clock-names = "master_bus", "slave_bus", "rx", "tx", "ptp_ref"; 61 resets = <&bpmp TEGRA186_RESET 61 resets = <&bpmp TEGRA186_RESET_EQOS>; 62 reset-names = "eqos"; 62 reset-names = "eqos"; 63 interconnects = <&mc TEGRA186_ 63 interconnects = <&mc TEGRA186_MEMORY_CLIENT_EQOSR &emc>, 64 <&mc TEGRA186_ 64 <&mc TEGRA186_MEMORY_CLIENT_EQOSW &emc>; 65 interconnect-names = "dma-mem" 65 interconnect-names = "dma-mem", "write"; 66 iommus = <&smmu TEGRA186_SID_E 66 iommus = <&smmu TEGRA186_SID_EQOS>; 67 status = "disabled"; 67 status = "disabled"; 68 68 69 snps,write-requests = <1>; 69 snps,write-requests = <1>; 70 snps,read-requests = <3>; 70 snps,read-requests = <3>; 71 snps,burst-map = <0x7>; 71 snps,burst-map = <0x7>; 72 snps,txpbl = <32>; 72 snps,txpbl = <32>; 73 snps,rxpbl = <8>; 73 snps,rxpbl = <8>; 74 }; 74 }; 75 75 76 gpcdma: dma-controller@2600000 { << 77 compatible = "nvidia,tegra186- << 78 reg = <0x0 0x2600000 0x0 0x210 << 79 resets = <&bpmp TEGRA186_RESET << 80 reset-names = "gpcdma"; << 81 interrupts = <GIC_SPI 75 IRQ_T << 82 <GIC_SPI 76 IRQ_T << 83 <GIC_SPI 77 IRQ_T << 84 <GIC_SPI 78 IRQ_T << 85 <GIC_SPI 79 IRQ_T << 86 <GIC_SPI 80 IRQ_T << 87 <GIC_SPI 81 IRQ_T << 88 <GIC_SPI 82 IRQ_T << 89 <GIC_SPI 83 IRQ_T << 90 <GIC_SPI 84 IRQ_T << 91 <GIC_SPI 85 IRQ_T << 92 <GIC_SPI 86 IRQ_T << 93 <GIC_SPI 87 IRQ_T << 94 <GIC_SPI 88 IRQ_T << 95 <GIC_SPI 89 IRQ_T << 96 <GIC_SPI 90 IRQ_T << 97 <GIC_SPI 91 IRQ_T << 98 <GIC_SPI 92 IRQ_T << 99 <GIC_SPI 93 IRQ_T << 100 <GIC_SPI 94 IRQ_T << 101 <GIC_SPI 95 IRQ_T << 102 <GIC_SPI 96 IRQ_T << 103 <GIC_SPI 97 IRQ_T << 104 <GIC_SPI 98 IRQ_T << 105 <GIC_SPI 99 IRQ_T << 106 <GIC_SPI 100 IRQ_ << 107 <GIC_SPI 101 IRQ_ << 108 <GIC_SPI 102 IRQ_ << 109 <GIC_SPI 103 IRQ_ << 110 <GIC_SPI 104 IRQ_ << 111 <GIC_SPI 105 IRQ_ << 112 <GIC_SPI 106 IRQ_ << 113 #dma-cells = <1>; << 114 iommus = <&smmu TEGRA186_SID_G << 115 dma-coherent; << 116 dma-channel-mask = <0xfffffffe << 117 status = "okay"; << 118 }; << 119 << 120 aconnect@2900000 { 76 aconnect@2900000 { 121 compatible = "nvidia,tegra186- 77 compatible = "nvidia,tegra186-aconnect", 122 "nvidia,tegra210- 78 "nvidia,tegra210-aconnect"; 123 clocks = <&bpmp TEGRA186_CLK_A 79 clocks = <&bpmp TEGRA186_CLK_APE>, 124 <&bpmp TEGRA186_CLK_A 80 <&bpmp TEGRA186_CLK_APB2APE>; 125 clock-names = "ape", "apb2ape" 81 clock-names = "ape", "apb2ape"; 126 power-domains = <&bpmp TEGRA18 82 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_AUD>; 127 #address-cells = <1>; 83 #address-cells = <1>; 128 #size-cells = <1>; 84 #size-cells = <1>; 129 ranges = <0x02900000 0x0 0x029 85 ranges = <0x02900000 0x0 0x02900000 0x200000>; 130 status = "disabled"; 86 status = "disabled"; 131 87 >> 88 adma: dma-controller@2930000 { >> 89 compatible = "nvidia,tegra186-adma"; >> 90 reg = <0x02930000 0x20000>; >> 91 interrupt-parent = <&agic>; >> 92 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, >> 93 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, >> 94 <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, >> 95 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, >> 96 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, >> 97 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, >> 98 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, >> 99 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, >> 100 <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, >> 101 <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, >> 102 <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, >> 103 <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, >> 104 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, >> 105 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>, >> 106 <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>, >> 107 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>, >> 108 <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, >> 109 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, >> 110 <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, >> 111 <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, >> 112 <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>, >> 113 <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>, >> 114 <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>, >> 115 <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>, >> 116 <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>, >> 117 <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>, >> 118 <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>, >> 119 <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>, >> 120 <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>, >> 121 <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>, >> 122 <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>, >> 123 <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; >> 124 #dma-cells = <1>; >> 125 clocks = <&bpmp TEGRA186_CLK_AHUB>; >> 126 clock-names = "d_audio"; >> 127 status = "disabled"; >> 128 }; >> 129 >> 130 agic: interrupt-controller@2a40000 { >> 131 compatible = "nvidia,tegra186-agic", >> 132 "nvidia,tegra210-agic"; >> 133 #interrupt-cells = <3>; >> 134 interrupt-controller; >> 135 reg = <0x02a41000 0x1000>, >> 136 <0x02a42000 0x2000>; >> 137 interrupts = <GIC_SPI 145 >> 138 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; >> 139 clocks = <&bpmp TEGRA186_CLK_APE>; >> 140 clock-names = "clk"; >> 141 status = "disabled"; >> 142 }; >> 143 132 tegra_ahub: ahub@2900800 { 144 tegra_ahub: ahub@2900800 { 133 compatible = "nvidia,t 145 compatible = "nvidia,tegra186-ahub"; 134 reg = <0x02900800 0x80 146 reg = <0x02900800 0x800>; 135 clocks = <&bpmp TEGRA1 147 clocks = <&bpmp TEGRA186_CLK_AHUB>; 136 clock-names = "ahub"; 148 clock-names = "ahub"; 137 assigned-clocks = <&bp 149 assigned-clocks = <&bpmp TEGRA186_CLK_AHUB>; 138 assigned-clock-parents !! 150 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 139 assigned-clock-rates = << 140 #address-cells = <1>; 151 #address-cells = <1>; 141 #size-cells = <1>; 152 #size-cells = <1>; 142 ranges = <0x02900800 0 153 ranges = <0x02900800 0x02900800 0x11800>; 143 status = "disabled"; 154 status = "disabled"; 144 155 >> 156 tegra_admaif: admaif@290f000 { >> 157 compatible = "nvidia,tegra186-admaif"; >> 158 reg = <0x0290f000 0x1000>; >> 159 dmas = <&adma 1>, <&adma 1>, >> 160 <&adma 2>, <&adma 2>, >> 161 <&adma 3>, <&adma 3>, >> 162 <&adma 4>, <&adma 4>, >> 163 <&adma 5>, <&adma 5>, >> 164 <&adma 6>, <&adma 6>, >> 165 <&adma 7>, <&adma 7>, >> 166 <&adma 8>, <&adma 8>, >> 167 <&adma 9>, <&adma 9>, >> 168 <&adma 10>, <&adma 10>, >> 169 <&adma 11>, <&adma 11>, >> 170 <&adma 12>, <&adma 12>, >> 171 <&adma 13>, <&adma 13>, >> 172 <&adma 14>, <&adma 14>, >> 173 <&adma 15>, <&adma 15>, >> 174 <&adma 16>, <&adma 16>, >> 175 <&adma 17>, <&adma 17>, >> 176 <&adma 18>, <&adma 18>, >> 177 <&adma 19>, <&adma 19>, >> 178 <&adma 20>, <&adma 20>; >> 179 dma-names = "rx1", "tx1", >> 180 "rx2", "tx2", >> 181 "rx3", "tx3", >> 182 "rx4", "tx4", >> 183 "rx5", "tx5", >> 184 "rx6", "tx6", >> 185 "rx7", "tx7", >> 186 "rx8", "tx8", >> 187 "rx9", "tx9", >> 188 "rx10", "tx10", >> 189 "rx11", "tx11", >> 190 "rx12", "tx12", >> 191 "rx13", "tx13", >> 192 "rx14", "tx14", >> 193 "rx15", "tx15", >> 194 "rx16", "tx16", >> 195 "rx17", "tx17", >> 196 "rx18", "tx18", >> 197 "rx19", "tx19", >> 198 "rx20", "tx20"; >> 199 status = "disabled"; >> 200 }; >> 201 145 tegra_i2s1: i2s@290100 202 tegra_i2s1: i2s@2901000 { 146 compatible = " 203 compatible = "nvidia,tegra186-i2s", 147 " 204 "nvidia,tegra210-i2s"; 148 reg = <0x29010 205 reg = <0x2901000 0x100>; 149 clocks = <&bpm 206 clocks = <&bpmp TEGRA186_CLK_I2S1>, 150 <&bpm 207 <&bpmp TEGRA186_CLK_I2S1_SYNC_INPUT>; 151 clock-names = 208 clock-names = "i2s", "sync_input"; 152 assigned-clock 209 assigned-clocks = <&bpmp TEGRA186_CLK_I2S1>; 153 assigned-clock 210 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 154 assigned-clock 211 assigned-clock-rates = <1536000>; 155 sound-name-pre 212 sound-name-prefix = "I2S1"; 156 status = "disa 213 status = "disabled"; 157 }; 214 }; 158 215 159 tegra_i2s2: i2s@290110 216 tegra_i2s2: i2s@2901100 { 160 compatible = " 217 compatible = "nvidia,tegra186-i2s", 161 " 218 "nvidia,tegra210-i2s"; 162 reg = <0x29011 219 reg = <0x2901100 0x100>; 163 clocks = <&bpm 220 clocks = <&bpmp TEGRA186_CLK_I2S2>, 164 <&bpm 221 <&bpmp TEGRA186_CLK_I2S2_SYNC_INPUT>; 165 clock-names = 222 clock-names = "i2s", "sync_input"; 166 assigned-clock 223 assigned-clocks = <&bpmp TEGRA186_CLK_I2S2>; 167 assigned-clock 224 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 168 assigned-clock 225 assigned-clock-rates = <1536000>; 169 sound-name-pre 226 sound-name-prefix = "I2S2"; 170 status = "disa 227 status = "disabled"; 171 }; 228 }; 172 229 173 tegra_i2s3: i2s@290120 230 tegra_i2s3: i2s@2901200 { 174 compatible = " 231 compatible = "nvidia,tegra186-i2s", 175 " 232 "nvidia,tegra210-i2s"; 176 reg = <0x29012 233 reg = <0x2901200 0x100>; 177 clocks = <&bpm 234 clocks = <&bpmp TEGRA186_CLK_I2S3>, 178 <&bpm 235 <&bpmp TEGRA186_CLK_I2S3_SYNC_INPUT>; 179 clock-names = 236 clock-names = "i2s", "sync_input"; 180 assigned-clock 237 assigned-clocks = <&bpmp TEGRA186_CLK_I2S3>; 181 assigned-clock 238 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 182 assigned-clock 239 assigned-clock-rates = <1536000>; 183 sound-name-pre 240 sound-name-prefix = "I2S3"; 184 status = "disa 241 status = "disabled"; 185 }; 242 }; 186 243 187 tegra_i2s4: i2s@290130 244 tegra_i2s4: i2s@2901300 { 188 compatible = " 245 compatible = "nvidia,tegra186-i2s", 189 " 246 "nvidia,tegra210-i2s"; 190 reg = <0x29013 247 reg = <0x2901300 0x100>; 191 clocks = <&bpm 248 clocks = <&bpmp TEGRA186_CLK_I2S4>, 192 <&bpm 249 <&bpmp TEGRA186_CLK_I2S4_SYNC_INPUT>; 193 clock-names = 250 clock-names = "i2s", "sync_input"; 194 assigned-clock 251 assigned-clocks = <&bpmp TEGRA186_CLK_I2S4>; 195 assigned-clock 252 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 196 assigned-clock 253 assigned-clock-rates = <1536000>; 197 sound-name-pre 254 sound-name-prefix = "I2S4"; 198 status = "disa 255 status = "disabled"; 199 }; 256 }; 200 257 201 tegra_i2s5: i2s@290140 258 tegra_i2s5: i2s@2901400 { 202 compatible = " 259 compatible = "nvidia,tegra186-i2s", 203 " 260 "nvidia,tegra210-i2s"; 204 reg = <0x29014 261 reg = <0x2901400 0x100>; 205 clocks = <&bpm 262 clocks = <&bpmp TEGRA186_CLK_I2S5>, 206 <&bpm 263 <&bpmp TEGRA186_CLK_I2S5_SYNC_INPUT>; 207 clock-names = 264 clock-names = "i2s", "sync_input"; 208 assigned-clock 265 assigned-clocks = <&bpmp TEGRA186_CLK_I2S5>; 209 assigned-clock 266 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 210 assigned-clock 267 assigned-clock-rates = <1536000>; 211 sound-name-pre 268 sound-name-prefix = "I2S5"; 212 status = "disa 269 status = "disabled"; 213 }; 270 }; 214 271 215 tegra_i2s6: i2s@290150 272 tegra_i2s6: i2s@2901500 { 216 compatible = " 273 compatible = "nvidia,tegra186-i2s", 217 " 274 "nvidia,tegra210-i2s"; 218 reg = <0x29015 275 reg = <0x2901500 0x100>; 219 clocks = <&bpm 276 clocks = <&bpmp TEGRA186_CLK_I2S6>, 220 <&bpm 277 <&bpmp TEGRA186_CLK_I2S6_SYNC_INPUT>; 221 clock-names = 278 clock-names = "i2s", "sync_input"; 222 assigned-clock 279 assigned-clocks = <&bpmp TEGRA186_CLK_I2S6>; 223 assigned-clock 280 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 224 assigned-clock 281 assigned-clock-rates = <1536000>; 225 sound-name-pre 282 sound-name-prefix = "I2S6"; 226 status = "disa 283 status = "disabled"; 227 }; 284 }; 228 285 229 tegra_sfc1: sfc@290200 << 230 compatible = " << 231 " << 232 reg = <0x29020 << 233 sound-name-pre << 234 status = "disa << 235 }; << 236 << 237 tegra_sfc2: sfc@290220 << 238 compatible = " << 239 " << 240 reg = <0x29022 << 241 sound-name-pre << 242 status = "disa << 243 }; << 244 << 245 tegra_sfc3: sfc@290240 << 246 compatible = " << 247 " << 248 reg = <0x29024 << 249 sound-name-pre << 250 status = "disa << 251 }; << 252 << 253 tegra_sfc4: sfc@290260 << 254 compatible = " << 255 " << 256 reg = <0x29026 << 257 sound-name-pre << 258 status = "disa << 259 }; << 260 << 261 tegra_amx1: amx@290300 << 262 compatible = " << 263 " << 264 reg = <0x29030 << 265 sound-name-pre << 266 status = "disa << 267 }; << 268 << 269 tegra_amx2: amx@290310 << 270 compatible = " << 271 " << 272 reg = <0x29031 << 273 sound-name-pre << 274 status = "disa << 275 }; << 276 << 277 tegra_amx3: amx@290320 << 278 compatible = " << 279 " << 280 reg = <0x29032 << 281 sound-name-pre << 282 status = "disa << 283 }; << 284 << 285 tegra_amx4: amx@290330 << 286 compatible = " << 287 " << 288 reg = <0x29033 << 289 sound-name-pre << 290 status = "disa << 291 }; << 292 << 293 tegra_adx1: adx@290380 << 294 compatible = " << 295 " << 296 reg = <0x29038 << 297 sound-name-pre << 298 status = "disa << 299 }; << 300 << 301 tegra_adx2: adx@290390 << 302 compatible = " << 303 " << 304 reg = <0x29039 << 305 sound-name-pre << 306 status = "disa << 307 }; << 308 << 309 tegra_adx3: adx@2903a0 << 310 compatible = " << 311 " << 312 reg = <0x2903a << 313 sound-name-pre << 314 status = "disa << 315 }; << 316 << 317 tegra_adx4: adx@2903b0 << 318 compatible = " << 319 " << 320 reg = <0x2903b << 321 sound-name-pre << 322 status = "disa << 323 }; << 324 << 325 tegra_dmic1: dmic@2904 286 tegra_dmic1: dmic@2904000 { 326 compatible = " 287 compatible = "nvidia,tegra210-dmic"; 327 reg = <0x29040 288 reg = <0x2904000 0x100>; 328 clocks = <&bpm 289 clocks = <&bpmp TEGRA186_CLK_DMIC1>; 329 clock-names = 290 clock-names = "dmic"; 330 assigned-clock 291 assigned-clocks = <&bpmp TEGRA186_CLK_DMIC1>; 331 assigned-clock 292 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 332 assigned-clock 293 assigned-clock-rates = <3072000>; 333 sound-name-pre 294 sound-name-prefix = "DMIC1"; 334 status = "disa 295 status = "disabled"; 335 }; 296 }; 336 297 337 tegra_dmic2: dmic@2904 298 tegra_dmic2: dmic@2904100 { 338 compatible = " 299 compatible = "nvidia,tegra210-dmic"; 339 reg = <0x29041 300 reg = <0x2904100 0x100>; 340 clocks = <&bpm 301 clocks = <&bpmp TEGRA186_CLK_DMIC2>; 341 clock-names = 302 clock-names = "dmic"; 342 assigned-clock 303 assigned-clocks = <&bpmp TEGRA186_CLK_DMIC2>; 343 assigned-clock 304 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 344 assigned-clock 305 assigned-clock-rates = <3072000>; 345 sound-name-pre 306 sound-name-prefix = "DMIC2"; 346 status = "disa 307 status = "disabled"; 347 }; 308 }; 348 309 349 tegra_dmic3: dmic@2904 310 tegra_dmic3: dmic@2904200 { 350 compatible = " 311 compatible = "nvidia,tegra210-dmic"; 351 reg = <0x29042 312 reg = <0x2904200 0x100>; 352 clocks = <&bpm 313 clocks = <&bpmp TEGRA186_CLK_DMIC3>; 353 clock-names = 314 clock-names = "dmic"; 354 assigned-clock 315 assigned-clocks = <&bpmp TEGRA186_CLK_DMIC3>; 355 assigned-clock 316 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 356 assigned-clock 317 assigned-clock-rates = <3072000>; 357 sound-name-pre 318 sound-name-prefix = "DMIC3"; 358 status = "disa 319 status = "disabled"; 359 }; 320 }; 360 321 361 tegra_dmic4: dmic@2904 322 tegra_dmic4: dmic@2904300 { 362 compatible = " 323 compatible = "nvidia,tegra210-dmic"; 363 reg = <0x29043 324 reg = <0x2904300 0x100>; 364 clocks = <&bpm 325 clocks = <&bpmp TEGRA186_CLK_DMIC4>; 365 clock-names = 326 clock-names = "dmic"; 366 assigned-clock 327 assigned-clocks = <&bpmp TEGRA186_CLK_DMIC4>; 367 assigned-clock 328 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 368 assigned-clock 329 assigned-clock-rates = <3072000>; 369 sound-name-pre 330 sound-name-prefix = "DMIC4"; 370 status = "disa 331 status = "disabled"; 371 }; 332 }; 372 333 373 tegra_dspk1: dspk@2905 334 tegra_dspk1: dspk@2905000 { 374 compatible = " 335 compatible = "nvidia,tegra186-dspk"; 375 reg = <0x29050 336 reg = <0x2905000 0x100>; 376 clocks = <&bpm 337 clocks = <&bpmp TEGRA186_CLK_DSPK1>; 377 clock-names = 338 clock-names = "dspk"; 378 assigned-clock 339 assigned-clocks = <&bpmp TEGRA186_CLK_DSPK1>; 379 assigned-clock 340 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 380 assigned-clock 341 assigned-clock-rates = <12288000>; 381 sound-name-pre 342 sound-name-prefix = "DSPK1"; 382 status = "disa 343 status = "disabled"; 383 }; 344 }; 384 345 385 tegra_dspk2: dspk@2905 346 tegra_dspk2: dspk@2905100 { 386 compatible = " 347 compatible = "nvidia,tegra186-dspk"; 387 reg = <0x29051 348 reg = <0x2905100 0x100>; 388 clocks = <&bpm 349 clocks = <&bpmp TEGRA186_CLK_DSPK2>; 389 clock-names = 350 clock-names = "dspk"; 390 assigned-clock 351 assigned-clocks = <&bpmp TEGRA186_CLK_DSPK2>; 391 assigned-clock 352 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 392 assigned-clock 353 assigned-clock-rates = <12288000>; 393 sound-name-pre 354 sound-name-prefix = "DSPK2"; 394 status = "disa 355 status = "disabled"; 395 }; 356 }; 396 << 397 tegra_ope1: processing << 398 compatible = " << 399 " << 400 reg = <0x29080 << 401 #address-cells << 402 #size-cells = << 403 ranges; << 404 sound-name-pre << 405 status = "disa << 406 << 407 equalizer@2908 << 408 compat << 409 << 410 reg = << 411 }; << 412 << 413 dynamic-range- << 414 compat << 415 << 416 reg = << 417 }; << 418 }; << 419 << 420 tegra_mvc1: mvc@290a00 << 421 compatible = " << 422 " << 423 reg = <0x290a0 << 424 sound-name-pre << 425 status = "disa << 426 }; << 427 << 428 tegra_mvc2: mvc@290a20 << 429 compatible = " << 430 " << 431 reg = <0x290a2 << 432 sound-name-pre << 433 status = "disa << 434 }; << 435 << 436 tegra_amixer: amixer@2 << 437 compatible = " << 438 " << 439 reg = <0x290bb << 440 sound-name-pre << 441 status = "disa << 442 }; << 443 << 444 tegra_admaif: admaif@2 << 445 compatible = " << 446 reg = <0x0290f << 447 dmas = <&adma << 448 <&adma << 449 <&adma << 450 <&adma << 451 <&adma << 452 <&adma << 453 <&adma << 454 <&adma << 455 <&adma << 456 <&adma << 457 <&adma << 458 <&adma << 459 <&adma << 460 <&adma << 461 <&adma << 462 <&adma << 463 <&adma << 464 <&adma << 465 <&adma << 466 <&adma << 467 dma-names = "r << 468 "r << 469 "r << 470 "r << 471 "r << 472 "r << 473 "r << 474 "r << 475 "r << 476 "r << 477 "r << 478 "r << 479 "r << 480 "r << 481 "r << 482 "r << 483 "r << 484 "r << 485 "r << 486 "r << 487 status = "disa << 488 }; << 489 << 490 tegra_asrc: asrc@29100 << 491 compatible = " << 492 reg = <0x29100 << 493 sound-name-pre << 494 status = "disa << 495 }; << 496 }; << 497 << 498 adma: dma-controller@2930000 { << 499 compatible = "nvidia,t << 500 reg = <0x02930000 0x20 << 501 interrupt-parent = <&a << 502 interrupts = <GIC_SPI << 503 <GIC_SPI << 504 <GIC_SPI << 505 <GIC_SPI << 506 <GIC_SPI << 507 <GIC_SPI << 508 <GIC_SPI << 509 <GIC_SPI << 510 <GIC_SPI << 511 <GIC_SPI << 512 <GIC_SPI << 513 <GIC_SPI << 514 <GIC_SPI << 515 <GIC_SPI << 516 <GIC_SPI << 517 <GIC_SPI << 518 <GIC_SPI << 519 <GIC_SPI << 520 <GIC_SPI << 521 <GIC_SPI << 522 <GIC_SPI << 523 <GIC_SPI << 524 <GIC_SPI << 525 <GIC_SPI << 526 <GIC_SPI << 527 <GIC_SPI << 528 <GIC_SPI << 529 <GIC_SPI << 530 <GIC_SPI << 531 <GIC_SPI << 532 <GIC_SPI << 533 <GIC_SPI << 534 #dma-cells = <1>; << 535 clocks = <&bpmp TEGRA1 << 536 clock-names = "d_audio << 537 status = "disabled"; << 538 }; << 539 << 540 agic: interrupt-controller@2a4 << 541 compatible = "nvidia,t << 542 "nvidia,t << 543 #interrupt-cells = <3> << 544 interrupt-controller; << 545 reg = <0x02a41000 0x10 << 546 <0x02a42000 0x20 << 547 interrupts = <GIC_SPI << 548 (GIC_CPU_MASK_ << 549 clocks = <&bpmp TEGRA1 << 550 clock-names = "clk"; << 551 status = "disabled"; << 552 }; 357 }; 553 }; 358 }; 554 359 555 mc: memory-controller@2c00000 { 360 mc: memory-controller@2c00000 { 556 compatible = "nvidia,tegra186- 361 compatible = "nvidia,tegra186-mc"; 557 reg = <0x0 0x02c00000 0x0 0x10 !! 362 reg = <0x0 0x02c00000 0x0 0xb0000>; 558 <0x0 0x02c10000 0x0 0x10 << 559 <0x0 0x02c20000 0x0 0x10 << 560 <0x0 0x02c30000 0x0 0x10 << 561 <0x0 0x02c40000 0x0 0x10 << 562 <0x0 0x02c50000 0x0 0x10 << 563 reg-names = "sid", "broadcast" << 564 interrupts = <GIC_SPI 223 IRQ_ 363 interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>; 565 status = "disabled"; 364 status = "disabled"; 566 365 567 #interconnect-cells = <1>; 366 #interconnect-cells = <1>; 568 #address-cells = <2>; 367 #address-cells = <2>; 569 #size-cells = <2>; 368 #size-cells = <2>; 570 369 571 ranges = <0x0 0x02c00000 0x0 0 370 ranges = <0x0 0x02c00000 0x0 0x02c00000 0x0 0xb0000>; 572 371 573 /* 372 /* 574 * Memory clients have access 373 * Memory clients have access to all 40 bits that the memory 575 * controller can address. 374 * controller can address. 576 */ 375 */ 577 dma-ranges = <0x0 0x0 0x0 0x0 376 dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x0>; 578 377 579 emc: external-memory-controlle 378 emc: external-memory-controller@2c60000 { 580 compatible = "nvidia,t 379 compatible = "nvidia,tegra186-emc"; 581 reg = <0x0 0x02c60000 380 reg = <0x0 0x02c60000 0x0 0x50000>; 582 interrupts = <GIC_SPI 381 interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>; 583 clocks = <&bpmp TEGRA1 382 clocks = <&bpmp TEGRA186_CLK_EMC>; 584 clock-names = "emc"; 383 clock-names = "emc"; 585 384 586 #interconnect-cells = 385 #interconnect-cells = <0>; 587 386 588 nvidia,bpmp = <&bpmp>; 387 nvidia,bpmp = <&bpmp>; 589 }; 388 }; 590 }; 389 }; 591 390 592 timer@3010000 { << 593 compatible = "nvidia,tegra186- << 594 reg = <0x0 0x03010000 0x0 0x00 << 595 interrupts = <GIC_SPI 0 IRQ_TY << 596 <GIC_SPI 1 IRQ_TY << 597 <GIC_SPI 2 IRQ_TY << 598 <GIC_SPI 3 IRQ_TY << 599 <GIC_SPI 4 IRQ_TY << 600 <GIC_SPI 5 IRQ_TY << 601 <GIC_SPI 6 IRQ_TY << 602 <GIC_SPI 7 IRQ_TY << 603 <GIC_SPI 8 IRQ_TY << 604 <GIC_SPI 9 IRQ_TY << 605 status = "okay"; << 606 }; << 607 << 608 uarta: serial@3100000 { 391 uarta: serial@3100000 { 609 compatible = "nvidia,tegra186- 392 compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart"; 610 reg = <0x0 0x03100000 0x0 0x40 393 reg = <0x0 0x03100000 0x0 0x40>; 611 reg-shift = <2>; 394 reg-shift = <2>; 612 interrupts = <GIC_SPI 112 IRQ_ 395 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; 613 clocks = <&bpmp TEGRA186_CLK_U 396 clocks = <&bpmp TEGRA186_CLK_UARTA>; >> 397 clock-names = "serial"; 614 resets = <&bpmp TEGRA186_RESET 398 resets = <&bpmp TEGRA186_RESET_UARTA>; >> 399 reset-names = "serial"; 615 status = "disabled"; 400 status = "disabled"; 616 }; 401 }; 617 402 618 uartb: serial@3110000 { 403 uartb: serial@3110000 { 619 compatible = "nvidia,tegra186- 404 compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart"; 620 reg = <0x0 0x03110000 0x0 0x40 405 reg = <0x0 0x03110000 0x0 0x40>; 621 reg-shift = <2>; 406 reg-shift = <2>; 622 interrupts = <GIC_SPI 113 IRQ_ 407 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; 623 clocks = <&bpmp TEGRA186_CLK_U 408 clocks = <&bpmp TEGRA186_CLK_UARTB>; 624 clock-names = "serial"; 409 clock-names = "serial"; 625 resets = <&bpmp TEGRA186_RESET 410 resets = <&bpmp TEGRA186_RESET_UARTB>; 626 reset-names = "serial"; 411 reset-names = "serial"; 627 status = "disabled"; 412 status = "disabled"; 628 }; 413 }; 629 414 630 uartd: serial@3130000 { 415 uartd: serial@3130000 { 631 compatible = "nvidia,tegra186- 416 compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart"; 632 reg = <0x0 0x03130000 0x0 0x40 417 reg = <0x0 0x03130000 0x0 0x40>; 633 reg-shift = <2>; 418 reg-shift = <2>; 634 interrupts = <GIC_SPI 115 IRQ_ 419 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; 635 clocks = <&bpmp TEGRA186_CLK_U 420 clocks = <&bpmp TEGRA186_CLK_UARTD>; 636 clock-names = "serial"; 421 clock-names = "serial"; 637 resets = <&bpmp TEGRA186_RESET 422 resets = <&bpmp TEGRA186_RESET_UARTD>; 638 reset-names = "serial"; 423 reset-names = "serial"; 639 status = "disabled"; 424 status = "disabled"; 640 }; 425 }; 641 426 642 uarte: serial@3140000 { 427 uarte: serial@3140000 { 643 compatible = "nvidia,tegra186- 428 compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart"; 644 reg = <0x0 0x03140000 0x0 0x40 429 reg = <0x0 0x03140000 0x0 0x40>; 645 reg-shift = <2>; 430 reg-shift = <2>; 646 interrupts = <GIC_SPI 116 IRQ_ 431 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; 647 clocks = <&bpmp TEGRA186_CLK_U 432 clocks = <&bpmp TEGRA186_CLK_UARTE>; 648 clock-names = "serial"; 433 clock-names = "serial"; 649 resets = <&bpmp TEGRA186_RESET 434 resets = <&bpmp TEGRA186_RESET_UARTE>; 650 reset-names = "serial"; 435 reset-names = "serial"; 651 status = "disabled"; 436 status = "disabled"; 652 }; 437 }; 653 438 654 uartf: serial@3150000 { 439 uartf: serial@3150000 { 655 compatible = "nvidia,tegra186- 440 compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart"; 656 reg = <0x0 0x03150000 0x0 0x40 441 reg = <0x0 0x03150000 0x0 0x40>; 657 reg-shift = <2>; 442 reg-shift = <2>; 658 interrupts = <GIC_SPI 117 IRQ_ 443 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 659 clocks = <&bpmp TEGRA186_CLK_U 444 clocks = <&bpmp TEGRA186_CLK_UARTF>; 660 clock-names = "serial"; 445 clock-names = "serial"; 661 resets = <&bpmp TEGRA186_RESET 446 resets = <&bpmp TEGRA186_RESET_UARTF>; 662 reset-names = "serial"; 447 reset-names = "serial"; 663 status = "disabled"; 448 status = "disabled"; 664 }; 449 }; 665 450 666 gen1_i2c: i2c@3160000 { 451 gen1_i2c: i2c@3160000 { 667 compatible = "nvidia,tegra186- !! 452 compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c"; 668 reg = <0x0 0x03160000 0x0 0x10 453 reg = <0x0 0x03160000 0x0 0x10000>; 669 interrupts = <GIC_SPI 25 IRQ_T 454 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 670 #address-cells = <1>; 455 #address-cells = <1>; 671 #size-cells = <0>; 456 #size-cells = <0>; 672 clocks = <&bpmp TEGRA186_CLK_I 457 clocks = <&bpmp TEGRA186_CLK_I2C1>; 673 clock-names = "div-clk"; 458 clock-names = "div-clk"; 674 resets = <&bpmp TEGRA186_RESET 459 resets = <&bpmp TEGRA186_RESET_I2C1>; 675 reset-names = "i2c"; 460 reset-names = "i2c"; 676 dmas = <&gpcdma 21>, <&gpcdma << 677 dma-names = "rx", "tx"; << 678 status = "disabled"; 461 status = "disabled"; 679 }; 462 }; 680 463 681 cam_i2c: i2c@3180000 { 464 cam_i2c: i2c@3180000 { 682 compatible = "nvidia,tegra186- !! 465 compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c"; 683 reg = <0x0 0x03180000 0x0 0x10 466 reg = <0x0 0x03180000 0x0 0x10000>; 684 interrupts = <GIC_SPI 27 IRQ_T 467 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 685 #address-cells = <1>; 468 #address-cells = <1>; 686 #size-cells = <0>; 469 #size-cells = <0>; 687 clocks = <&bpmp TEGRA186_CLK_I 470 clocks = <&bpmp TEGRA186_CLK_I2C3>; 688 clock-names = "div-clk"; 471 clock-names = "div-clk"; 689 resets = <&bpmp TEGRA186_RESET 472 resets = <&bpmp TEGRA186_RESET_I2C3>; 690 reset-names = "i2c"; 473 reset-names = "i2c"; 691 dmas = <&gpcdma 23>, <&gpcdma << 692 dma-names = "rx", "tx"; << 693 status = "disabled"; 474 status = "disabled"; 694 }; 475 }; 695 476 696 /* shares pads with dpaux1 */ 477 /* shares pads with dpaux1 */ 697 dp_aux_ch1_i2c: i2c@3190000 { 478 dp_aux_ch1_i2c: i2c@3190000 { 698 compatible = "nvidia,tegra186- !! 479 compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c"; 699 reg = <0x0 0x03190000 0x0 0x10 480 reg = <0x0 0x03190000 0x0 0x10000>; 700 interrupts = <GIC_SPI 28 IRQ_T 481 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 701 #address-cells = <1>; 482 #address-cells = <1>; 702 #size-cells = <0>; 483 #size-cells = <0>; 703 clocks = <&bpmp TEGRA186_CLK_I 484 clocks = <&bpmp TEGRA186_CLK_I2C4>; 704 clock-names = "div-clk"; 485 clock-names = "div-clk"; 705 resets = <&bpmp TEGRA186_RESET 486 resets = <&bpmp TEGRA186_RESET_I2C4>; 706 reset-names = "i2c"; 487 reset-names = "i2c"; 707 pinctrl-names = "default", "id 488 pinctrl-names = "default", "idle"; 708 pinctrl-0 = <&state_dpaux1_i2c 489 pinctrl-0 = <&state_dpaux1_i2c>; 709 pinctrl-1 = <&state_dpaux1_off 490 pinctrl-1 = <&state_dpaux1_off>; 710 dmas = <&gpcdma 26>, <&gpcdma << 711 dma-names = "rx", "tx"; << 712 status = "disabled"; 491 status = "disabled"; 713 }; 492 }; 714 493 715 /* controlled by BPMP, should not be e 494 /* controlled by BPMP, should not be enabled */ 716 pwr_i2c: i2c@31a0000 { 495 pwr_i2c: i2c@31a0000 { 717 compatible = "nvidia,tegra186- !! 496 compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c"; 718 reg = <0x0 0x031a0000 0x0 0x10 497 reg = <0x0 0x031a0000 0x0 0x10000>; 719 interrupts = <GIC_SPI 29 IRQ_T 498 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 720 #address-cells = <1>; 499 #address-cells = <1>; 721 #size-cells = <0>; 500 #size-cells = <0>; 722 clocks = <&bpmp TEGRA186_CLK_I 501 clocks = <&bpmp TEGRA186_CLK_I2C5>; 723 clock-names = "div-clk"; 502 clock-names = "div-clk"; 724 resets = <&bpmp TEGRA186_RESET 503 resets = <&bpmp TEGRA186_RESET_I2C5>; 725 reset-names = "i2c"; 504 reset-names = "i2c"; 726 status = "disabled"; 505 status = "disabled"; 727 }; 506 }; 728 507 729 /* shares pads with dpaux0 */ 508 /* shares pads with dpaux0 */ 730 dp_aux_ch0_i2c: i2c@31b0000 { 509 dp_aux_ch0_i2c: i2c@31b0000 { 731 compatible = "nvidia,tegra186- !! 510 compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c"; 732 reg = <0x0 0x031b0000 0x0 0x10 511 reg = <0x0 0x031b0000 0x0 0x10000>; 733 interrupts = <GIC_SPI 30 IRQ_T 512 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 734 #address-cells = <1>; 513 #address-cells = <1>; 735 #size-cells = <0>; 514 #size-cells = <0>; 736 clocks = <&bpmp TEGRA186_CLK_I 515 clocks = <&bpmp TEGRA186_CLK_I2C6>; 737 clock-names = "div-clk"; 516 clock-names = "div-clk"; 738 resets = <&bpmp TEGRA186_RESET 517 resets = <&bpmp TEGRA186_RESET_I2C6>; 739 reset-names = "i2c"; 518 reset-names = "i2c"; 740 pinctrl-names = "default", "id 519 pinctrl-names = "default", "idle"; 741 pinctrl-0 = <&state_dpaux_i2c> 520 pinctrl-0 = <&state_dpaux_i2c>; 742 pinctrl-1 = <&state_dpaux_off> 521 pinctrl-1 = <&state_dpaux_off>; 743 dmas = <&gpcdma 30>, <&gpcdma << 744 dma-names = "rx", "tx"; << 745 status = "disabled"; 522 status = "disabled"; 746 }; 523 }; 747 524 748 gen7_i2c: i2c@31c0000 { 525 gen7_i2c: i2c@31c0000 { 749 compatible = "nvidia,tegra186- !! 526 compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c"; 750 reg = <0x0 0x031c0000 0x0 0x10 527 reg = <0x0 0x031c0000 0x0 0x10000>; 751 interrupts = <GIC_SPI 31 IRQ_T 528 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 752 #address-cells = <1>; 529 #address-cells = <1>; 753 #size-cells = <0>; 530 #size-cells = <0>; 754 clocks = <&bpmp TEGRA186_CLK_I 531 clocks = <&bpmp TEGRA186_CLK_I2C7>; 755 clock-names = "div-clk"; 532 clock-names = "div-clk"; 756 resets = <&bpmp TEGRA186_RESET 533 resets = <&bpmp TEGRA186_RESET_I2C7>; 757 reset-names = "i2c"; 534 reset-names = "i2c"; 758 dmas = <&gpcdma 27>, <&gpcdma << 759 dma-names = "rx", "tx"; << 760 status = "disabled"; 535 status = "disabled"; 761 }; 536 }; 762 537 763 gen9_i2c: i2c@31e0000 { 538 gen9_i2c: i2c@31e0000 { 764 compatible = "nvidia,tegra186- !! 539 compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c"; 765 reg = <0x0 0x031e0000 0x0 0x10 540 reg = <0x0 0x031e0000 0x0 0x10000>; 766 interrupts = <GIC_SPI 33 IRQ_T 541 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 767 #address-cells = <1>; 542 #address-cells = <1>; 768 #size-cells = <0>; 543 #size-cells = <0>; 769 clocks = <&bpmp TEGRA186_CLK_I 544 clocks = <&bpmp TEGRA186_CLK_I2C9>; 770 clock-names = "div-clk"; 545 clock-names = "div-clk"; 771 resets = <&bpmp TEGRA186_RESET 546 resets = <&bpmp TEGRA186_RESET_I2C9>; 772 reset-names = "i2c"; 547 reset-names = "i2c"; 773 dmas = <&gpcdma 31>, <&gpcdma << 774 dma-names = "rx", "tx"; << 775 status = "disabled"; 548 status = "disabled"; 776 }; 549 }; 777 550 778 pwm1: pwm@3280000 { 551 pwm1: pwm@3280000 { 779 compatible = "nvidia,tegra186- 552 compatible = "nvidia,tegra186-pwm"; 780 reg = <0x0 0x3280000 0x0 0x100 553 reg = <0x0 0x3280000 0x0 0x10000>; 781 clocks = <&bpmp TEGRA186_CLK_P 554 clocks = <&bpmp TEGRA186_CLK_PWM1>; >> 555 clock-names = "pwm"; 782 resets = <&bpmp TEGRA186_RESET 556 resets = <&bpmp TEGRA186_RESET_PWM1>; 783 reset-names = "pwm"; 557 reset-names = "pwm"; 784 status = "disabled"; 558 status = "disabled"; 785 #pwm-cells = <2>; 559 #pwm-cells = <2>; 786 }; 560 }; 787 561 788 pwm2: pwm@3290000 { 562 pwm2: pwm@3290000 { 789 compatible = "nvidia,tegra186- 563 compatible = "nvidia,tegra186-pwm"; 790 reg = <0x0 0x3290000 0x0 0x100 564 reg = <0x0 0x3290000 0x0 0x10000>; 791 clocks = <&bpmp TEGRA186_CLK_P 565 clocks = <&bpmp TEGRA186_CLK_PWM2>; >> 566 clock-names = "pwm"; 792 resets = <&bpmp TEGRA186_RESET 567 resets = <&bpmp TEGRA186_RESET_PWM2>; 793 reset-names = "pwm"; 568 reset-names = "pwm"; 794 status = "disabled"; 569 status = "disabled"; 795 #pwm-cells = <2>; 570 #pwm-cells = <2>; 796 }; 571 }; 797 572 798 pwm3: pwm@32a0000 { 573 pwm3: pwm@32a0000 { 799 compatible = "nvidia,tegra186- 574 compatible = "nvidia,tegra186-pwm"; 800 reg = <0x0 0x32a0000 0x0 0x100 575 reg = <0x0 0x32a0000 0x0 0x10000>; 801 clocks = <&bpmp TEGRA186_CLK_P 576 clocks = <&bpmp TEGRA186_CLK_PWM3>; >> 577 clock-names = "pwm"; 802 resets = <&bpmp TEGRA186_RESET 578 resets = <&bpmp TEGRA186_RESET_PWM3>; 803 reset-names = "pwm"; 579 reset-names = "pwm"; 804 status = "disabled"; 580 status = "disabled"; 805 #pwm-cells = <2>; 581 #pwm-cells = <2>; 806 }; 582 }; 807 583 808 pwm5: pwm@32c0000 { 584 pwm5: pwm@32c0000 { 809 compatible = "nvidia,tegra186- 585 compatible = "nvidia,tegra186-pwm"; 810 reg = <0x0 0x32c0000 0x0 0x100 586 reg = <0x0 0x32c0000 0x0 0x10000>; 811 clocks = <&bpmp TEGRA186_CLK_P 587 clocks = <&bpmp TEGRA186_CLK_PWM5>; >> 588 clock-names = "pwm"; 812 resets = <&bpmp TEGRA186_RESET 589 resets = <&bpmp TEGRA186_RESET_PWM5>; 813 reset-names = "pwm"; 590 reset-names = "pwm"; 814 status = "disabled"; 591 status = "disabled"; 815 #pwm-cells = <2>; 592 #pwm-cells = <2>; 816 }; 593 }; 817 594 818 pwm6: pwm@32d0000 { 595 pwm6: pwm@32d0000 { 819 compatible = "nvidia,tegra186- 596 compatible = "nvidia,tegra186-pwm"; 820 reg = <0x0 0x32d0000 0x0 0x100 597 reg = <0x0 0x32d0000 0x0 0x10000>; 821 clocks = <&bpmp TEGRA186_CLK_P 598 clocks = <&bpmp TEGRA186_CLK_PWM6>; >> 599 clock-names = "pwm"; 822 resets = <&bpmp TEGRA186_RESET 600 resets = <&bpmp TEGRA186_RESET_PWM6>; 823 reset-names = "pwm"; 601 reset-names = "pwm"; 824 status = "disabled"; 602 status = "disabled"; 825 #pwm-cells = <2>; 603 #pwm-cells = <2>; 826 }; 604 }; 827 605 828 pwm7: pwm@32e0000 { 606 pwm7: pwm@32e0000 { 829 compatible = "nvidia,tegra186- 607 compatible = "nvidia,tegra186-pwm"; 830 reg = <0x0 0x32e0000 0x0 0x100 608 reg = <0x0 0x32e0000 0x0 0x10000>; 831 clocks = <&bpmp TEGRA186_CLK_P 609 clocks = <&bpmp TEGRA186_CLK_PWM7>; >> 610 clock-names = "pwm"; 832 resets = <&bpmp TEGRA186_RESET 611 resets = <&bpmp TEGRA186_RESET_PWM7>; 833 reset-names = "pwm"; 612 reset-names = "pwm"; 834 status = "disabled"; 613 status = "disabled"; 835 #pwm-cells = <2>; 614 #pwm-cells = <2>; 836 }; 615 }; 837 616 838 pwm8: pwm@32f0000 { 617 pwm8: pwm@32f0000 { 839 compatible = "nvidia,tegra186- 618 compatible = "nvidia,tegra186-pwm"; 840 reg = <0x0 0x32f0000 0x0 0x100 619 reg = <0x0 0x32f0000 0x0 0x10000>; 841 clocks = <&bpmp TEGRA186_CLK_P 620 clocks = <&bpmp TEGRA186_CLK_PWM8>; >> 621 clock-names = "pwm"; 842 resets = <&bpmp TEGRA186_RESET 622 resets = <&bpmp TEGRA186_RESET_PWM8>; 843 reset-names = "pwm"; 623 reset-names = "pwm"; 844 status = "disabled"; 624 status = "disabled"; 845 #pwm-cells = <2>; 625 #pwm-cells = <2>; 846 }; 626 }; 847 627 848 sdmmc1: mmc@3400000 { 628 sdmmc1: mmc@3400000 { 849 compatible = "nvidia,tegra186- 629 compatible = "nvidia,tegra186-sdhci"; 850 reg = <0x0 0x03400000 0x0 0x10 630 reg = <0x0 0x03400000 0x0 0x10000>; 851 interrupts = <GIC_SPI 62 IRQ_T 631 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 852 clocks = <&bpmp TEGRA186_CLK_S 632 clocks = <&bpmp TEGRA186_CLK_SDMMC1>, 853 <&bpmp TEGRA186_CLK_S 633 <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>; 854 clock-names = "sdhci", "tmclk" 634 clock-names = "sdhci", "tmclk"; 855 resets = <&bpmp TEGRA186_RESET 635 resets = <&bpmp TEGRA186_RESET_SDMMC1>; 856 reset-names = "sdhci"; 636 reset-names = "sdhci"; 857 interconnects = <&mc TEGRA186_ 637 interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCRA &emc>, 858 <&mc TEGRA186_ 638 <&mc TEGRA186_MEMORY_CLIENT_SDMMCWA &emc>; 859 interconnect-names = "dma-mem" 639 interconnect-names = "dma-mem", "write"; 860 iommus = <&smmu TEGRA186_SID_S 640 iommus = <&smmu TEGRA186_SID_SDMMC1>; 861 pinctrl-names = "sdmmc-3v3", " 641 pinctrl-names = "sdmmc-3v3", "sdmmc-1v8"; 862 pinctrl-0 = <&sdmmc1_3v3>; 642 pinctrl-0 = <&sdmmc1_3v3>; 863 pinctrl-1 = <&sdmmc1_1v8>; 643 pinctrl-1 = <&sdmmc1_1v8>; 864 nvidia,pad-autocal-pull-up-off 644 nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>; 865 nvidia,pad-autocal-pull-down-o 645 nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x06>; 866 nvidia,pad-autocal-pull-up-off 646 nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x07>; 867 nvidia,pad-autocal-pull-down-o 647 nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>; 868 nvidia,pad-autocal-pull-up-off 648 nvidia,pad-autocal-pull-up-offset-sdr104 = <0x03>; 869 nvidia,pad-autocal-pull-down-o 649 nvidia,pad-autocal-pull-down-offset-sdr104 = <0x05>; 870 nvidia,default-tap = <0x5>; 650 nvidia,default-tap = <0x5>; 871 nvidia,default-trim = <0xb>; 651 nvidia,default-trim = <0xb>; 872 assigned-clocks = <&bpmp TEGRA 652 assigned-clocks = <&bpmp TEGRA186_CLK_SDMMC1>, 873 <&bpmp TEGRA 653 <&bpmp TEGRA186_CLK_PLLP_OUT0>; 874 assigned-clock-parents = <&bpm 654 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLP_OUT0>; 875 status = "disabled"; 655 status = "disabled"; 876 }; 656 }; 877 657 878 sdmmc2: mmc@3420000 { 658 sdmmc2: mmc@3420000 { 879 compatible = "nvidia,tegra186- 659 compatible = "nvidia,tegra186-sdhci"; 880 reg = <0x0 0x03420000 0x0 0x10 660 reg = <0x0 0x03420000 0x0 0x10000>; 881 interrupts = <GIC_SPI 63 IRQ_T 661 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 882 clocks = <&bpmp TEGRA186_CLK_S 662 clocks = <&bpmp TEGRA186_CLK_SDMMC2>, 883 <&bpmp TEGRA186_CLK_S 663 <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>; 884 clock-names = "sdhci", "tmclk" 664 clock-names = "sdhci", "tmclk"; 885 resets = <&bpmp TEGRA186_RESET 665 resets = <&bpmp TEGRA186_RESET_SDMMC2>; 886 reset-names = "sdhci"; 666 reset-names = "sdhci"; 887 interconnects = <&mc TEGRA186_ 667 interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCRAA &emc>, 888 <&mc TEGRA186_ 668 <&mc TEGRA186_MEMORY_CLIENT_SDMMCWAA &emc>; 889 interconnect-names = "dma-mem" 669 interconnect-names = "dma-mem", "write"; 890 iommus = <&smmu TEGRA186_SID_S 670 iommus = <&smmu TEGRA186_SID_SDMMC2>; 891 pinctrl-names = "sdmmc-3v3", " 671 pinctrl-names = "sdmmc-3v3", "sdmmc-1v8"; 892 pinctrl-0 = <&sdmmc2_3v3>; 672 pinctrl-0 = <&sdmmc2_3v3>; 893 pinctrl-1 = <&sdmmc2_1v8>; 673 pinctrl-1 = <&sdmmc2_1v8>; 894 nvidia,pad-autocal-pull-up-off 674 nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>; 895 nvidia,pad-autocal-pull-down-o 675 nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x06>; 896 nvidia,pad-autocal-pull-up-off 676 nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x07>; 897 nvidia,pad-autocal-pull-down-o 677 nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>; 898 nvidia,default-tap = <0x5>; 678 nvidia,default-tap = <0x5>; 899 nvidia,default-trim = <0xb>; 679 nvidia,default-trim = <0xb>; 900 status = "disabled"; 680 status = "disabled"; 901 }; 681 }; 902 682 903 sdmmc3: mmc@3440000 { 683 sdmmc3: mmc@3440000 { 904 compatible = "nvidia,tegra186- 684 compatible = "nvidia,tegra186-sdhci"; 905 reg = <0x0 0x03440000 0x0 0x10 685 reg = <0x0 0x03440000 0x0 0x10000>; 906 interrupts = <GIC_SPI 64 IRQ_T 686 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 907 clocks = <&bpmp TEGRA186_CLK_S 687 clocks = <&bpmp TEGRA186_CLK_SDMMC3>, 908 <&bpmp TEGRA186_CLK_S 688 <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>; 909 clock-names = "sdhci", "tmclk" 689 clock-names = "sdhci", "tmclk"; 910 resets = <&bpmp TEGRA186_RESET 690 resets = <&bpmp TEGRA186_RESET_SDMMC3>; 911 reset-names = "sdhci"; 691 reset-names = "sdhci"; 912 interconnects = <&mc TEGRA186_ 692 interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCR &emc>, 913 <&mc TEGRA186_ 693 <&mc TEGRA186_MEMORY_CLIENT_SDMMCW &emc>; 914 interconnect-names = "dma-mem" 694 interconnect-names = "dma-mem", "write"; 915 iommus = <&smmu TEGRA186_SID_S 695 iommus = <&smmu TEGRA186_SID_SDMMC3>; 916 pinctrl-names = "sdmmc-3v3", " 696 pinctrl-names = "sdmmc-3v3", "sdmmc-1v8"; 917 pinctrl-0 = <&sdmmc3_3v3>; 697 pinctrl-0 = <&sdmmc3_3v3>; 918 pinctrl-1 = <&sdmmc3_1v8>; 698 pinctrl-1 = <&sdmmc3_1v8>; 919 nvidia,pad-autocal-pull-up-off 699 nvidia,pad-autocal-pull-up-offset-1v8 = <0x00>; 920 nvidia,pad-autocal-pull-down-o 700 nvidia,pad-autocal-pull-down-offset-1v8 = <0x7a>; 921 nvidia,pad-autocal-pull-up-off 701 nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>; 922 nvidia,pad-autocal-pull-down-o 702 nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x06>; 923 nvidia,pad-autocal-pull-up-off 703 nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x07>; 924 nvidia,pad-autocal-pull-down-o 704 nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>; 925 nvidia,default-tap = <0x5>; 705 nvidia,default-tap = <0x5>; 926 nvidia,default-trim = <0xb>; 706 nvidia,default-trim = <0xb>; 927 status = "disabled"; 707 status = "disabled"; 928 }; 708 }; 929 709 930 sdmmc4: mmc@3460000 { 710 sdmmc4: mmc@3460000 { 931 compatible = "nvidia,tegra186- 711 compatible = "nvidia,tegra186-sdhci"; 932 reg = <0x0 0x03460000 0x0 0x10 712 reg = <0x0 0x03460000 0x0 0x10000>; 933 interrupts = <GIC_SPI 65 IRQ_T 713 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 934 clocks = <&bpmp TEGRA186_CLK_S 714 clocks = <&bpmp TEGRA186_CLK_SDMMC4>, 935 <&bpmp TEGRA186_CLK_S 715 <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>; 936 clock-names = "sdhci", "tmclk" 716 clock-names = "sdhci", "tmclk"; 937 assigned-clocks = <&bpmp TEGRA 717 assigned-clocks = <&bpmp TEGRA186_CLK_SDMMC4>, 938 <&bpmp TEGRA 718 <&bpmp TEGRA186_CLK_PLLC4_VCO>; 939 assigned-clock-parents = <&bpm 719 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLC4_VCO>; 940 resets = <&bpmp TEGRA186_RESET 720 resets = <&bpmp TEGRA186_RESET_SDMMC4>; 941 reset-names = "sdhci"; 721 reset-names = "sdhci"; 942 interconnects = <&mc TEGRA186_ 722 interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCRAB &emc>, 943 <&mc TEGRA186_ 723 <&mc TEGRA186_MEMORY_CLIENT_SDMMCWAB &emc>; 944 interconnect-names = "dma-mem" 724 interconnect-names = "dma-mem", "write"; 945 iommus = <&smmu TEGRA186_SID_S 725 iommus = <&smmu TEGRA186_SID_SDMMC4>; 946 nvidia,pad-autocal-pull-up-off 726 nvidia,pad-autocal-pull-up-offset-hs400 = <0x05>; 947 nvidia,pad-autocal-pull-down-o 727 nvidia,pad-autocal-pull-down-offset-hs400 = <0x05>; 948 nvidia,pad-autocal-pull-up-off 728 nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x0a>; 949 nvidia,pad-autocal-pull-down-o 729 nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x0a>; 950 nvidia,pad-autocal-pull-up-off 730 nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x0a>; 951 nvidia,pad-autocal-pull-down-o 731 nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x0a>; 952 nvidia,default-tap = <0x9>; 732 nvidia,default-tap = <0x9>; 953 nvidia,default-trim = <0x5>; 733 nvidia,default-trim = <0x5>; 954 nvidia,dqs-trim = <63>; 734 nvidia,dqs-trim = <63>; 955 mmc-hs400-1_8v; 735 mmc-hs400-1_8v; 956 supports-cqe; 736 supports-cqe; 957 status = "disabled"; 737 status = "disabled"; 958 }; 738 }; 959 739 960 sata@3507000 { << 961 compatible = "nvidia,tegra186- << 962 reg = <0x0 0x03507000 0x0 0x00 << 963 <0x0 0x03500000 0x0 0x00 << 964 <0x0 0x03A90000 0x0 0x00 << 965 interrupts = <GIC_SPI 197 IRQ_ << 966 << 967 power-domains = <&bpmp TEGRA18 << 968 interconnects = <&mc TEGRA186_ << 969 <&mc TEGRA186_ << 970 interconnect-names = "dma-mem" << 971 iommus = <&smmu TEGRA186_SID_S << 972 << 973 clocks = <&bpmp TEGRA186_CLK_S << 974 <&bpmp TEGRA186_CLK_S << 975 clock-names = "sata", "sata-oo << 976 assigned-clocks = <&bpmp TEGRA << 977 <&bpmp TEGRA << 978 assigned-clock-parents = <&bpm << 979 <&bpm << 980 assigned-clock-rates = <102000 << 981 <204000 << 982 resets = <&bpmp TEGRA186_RESET << 983 <&bpmp TEGRA186_RESET_ << 984 reset-names = "sata", "sata-co << 985 status = "disabled"; << 986 }; << 987 << 988 hda@3510000 { 740 hda@3510000 { 989 compatible = "nvidia,tegra186- 741 compatible = "nvidia,tegra186-hda", "nvidia,tegra30-hda"; 990 reg = <0x0 0x03510000 0x0 0x10 742 reg = <0x0 0x03510000 0x0 0x10000>; 991 interrupts = <GIC_SPI 161 IRQ_ 743 interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>; 992 clocks = <&bpmp TEGRA186_CLK_H 744 clocks = <&bpmp TEGRA186_CLK_HDA>, 993 <&bpmp TEGRA186_CLK_H 745 <&bpmp TEGRA186_CLK_HDA2HDMICODEC>, 994 <&bpmp TEGRA186_CLK_H 746 <&bpmp TEGRA186_CLK_HDA2CODEC_2X>; 995 clock-names = "hda", "hda2hdmi 747 clock-names = "hda", "hda2hdmi", "hda2codec_2x"; 996 resets = <&bpmp TEGRA186_RESET 748 resets = <&bpmp TEGRA186_RESET_HDA>, 997 <&bpmp TEGRA186_RESET 749 <&bpmp TEGRA186_RESET_HDA2HDMICODEC>, 998 <&bpmp TEGRA186_RESET 750 <&bpmp TEGRA186_RESET_HDA2CODEC_2X>; 999 reset-names = "hda", "hda2hdmi 751 reset-names = "hda", "hda2hdmi", "hda2codec_2x"; 1000 power-domains = <&bpmp TEGRA1 752 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 1001 interconnects = <&mc TEGRA186 753 interconnects = <&mc TEGRA186_MEMORY_CLIENT_HDAR &emc>, 1002 <&mc TEGRA186 754 <&mc TEGRA186_MEMORY_CLIENT_HDAW &emc>; 1003 interconnect-names = "dma-mem 755 interconnect-names = "dma-mem", "write"; 1004 iommus = <&smmu TEGRA186_SID_ 756 iommus = <&smmu TEGRA186_SID_HDA>; 1005 status = "disabled"; 757 status = "disabled"; 1006 }; 758 }; 1007 759 1008 padctl: padctl@3520000 { 760 padctl: padctl@3520000 { 1009 compatible = "nvidia,tegra186 761 compatible = "nvidia,tegra186-xusb-padctl"; 1010 reg = <0x0 0x03520000 0x0 0x1 762 reg = <0x0 0x03520000 0x0 0x1000>, 1011 <0x0 0x03540000 0x0 0x1 763 <0x0 0x03540000 0x0 0x1000>; 1012 reg-names = "padctl", "ao"; 764 reg-names = "padctl", "ao"; 1013 interrupts = <GIC_SPI 167 IRQ 765 interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>; 1014 766 1015 resets = <&bpmp TEGRA186_RESE 767 resets = <&bpmp TEGRA186_RESET_XUSB_PADCTL>; 1016 reset-names = "padctl"; 768 reset-names = "padctl"; 1017 769 1018 status = "disabled"; 770 status = "disabled"; 1019 771 1020 pads { 772 pads { 1021 usb2 { 773 usb2 { 1022 clocks = <&bp 774 clocks = <&bpmp TEGRA186_CLK_USB2_TRK>; 1023 clock-names = 775 clock-names = "trk"; 1024 status = "dis 776 status = "disabled"; 1025 777 1026 lanes { 778 lanes { 1027 usb2- 779 usb2-0 { 1028 780 status = "disabled"; 1029 781 #phy-cells = <0>; 1030 }; 782 }; 1031 783 1032 usb2- 784 usb2-1 { 1033 785 status = "disabled"; 1034 786 #phy-cells = <0>; 1035 }; 787 }; 1036 788 1037 usb2- 789 usb2-2 { 1038 790 status = "disabled"; 1039 791 #phy-cells = <0>; 1040 }; 792 }; 1041 }; 793 }; 1042 }; 794 }; 1043 795 1044 hsic { 796 hsic { 1045 clocks = <&bp 797 clocks = <&bpmp TEGRA186_CLK_HSIC_TRK>; 1046 clock-names = 798 clock-names = "trk"; 1047 status = "dis 799 status = "disabled"; 1048 800 1049 lanes { 801 lanes { 1050 hsic- 802 hsic-0 { 1051 803 status = "disabled"; 1052 804 #phy-cells = <0>; 1053 }; 805 }; 1054 }; 806 }; 1055 }; 807 }; 1056 808 1057 usb3 { 809 usb3 { 1058 status = "dis 810 status = "disabled"; 1059 811 1060 lanes { 812 lanes { 1061 usb3- 813 usb3-0 { 1062 814 status = "disabled"; 1063 815 #phy-cells = <0>; 1064 }; 816 }; 1065 817 1066 usb3- 818 usb3-1 { 1067 819 status = "disabled"; 1068 820 #phy-cells = <0>; 1069 }; 821 }; 1070 822 1071 usb3- 823 usb3-2 { 1072 824 status = "disabled"; 1073 825 #phy-cells = <0>; 1074 }; 826 }; 1075 }; 827 }; 1076 }; 828 }; 1077 }; 829 }; 1078 830 1079 ports { 831 ports { 1080 usb2-0 { 832 usb2-0 { 1081 status = "dis 833 status = "disabled"; 1082 }; 834 }; 1083 835 1084 usb2-1 { 836 usb2-1 { 1085 status = "dis 837 status = "disabled"; 1086 }; 838 }; 1087 839 1088 usb2-2 { 840 usb2-2 { 1089 status = "dis 841 status = "disabled"; 1090 }; 842 }; 1091 843 1092 hsic-0 { 844 hsic-0 { 1093 status = "dis 845 status = "disabled"; 1094 }; 846 }; 1095 847 1096 usb3-0 { 848 usb3-0 { 1097 status = "dis 849 status = "disabled"; 1098 }; 850 }; 1099 851 1100 usb3-1 { 852 usb3-1 { 1101 status = "dis 853 status = "disabled"; 1102 }; 854 }; 1103 855 1104 usb3-2 { 856 usb3-2 { 1105 status = "dis 857 status = "disabled"; 1106 }; 858 }; 1107 }; 859 }; 1108 }; 860 }; 1109 861 1110 usb@3530000 { 862 usb@3530000 { 1111 compatible = "nvidia,tegra186 863 compatible = "nvidia,tegra186-xusb"; 1112 reg = <0x0 0x03530000 0x0 0x8 864 reg = <0x0 0x03530000 0x0 0x8000>, 1113 <0x0 0x03538000 0x0 0x1 865 <0x0 0x03538000 0x0 0x1000>; 1114 reg-names = "hcd", "fpci"; 866 reg-names = "hcd", "fpci"; 1115 interrupts = <GIC_SPI 163 IRQ 867 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>, 1116 <GIC_SPI 164 IRQ 868 <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>; 1117 clocks = <&bpmp TEGRA186_CLK_ 869 clocks = <&bpmp TEGRA186_CLK_XUSB_HOST>, 1118 <&bpmp TEGRA186_CLK_ 870 <&bpmp TEGRA186_CLK_XUSB_FALCON>, 1119 <&bpmp TEGRA186_CLK_ 871 <&bpmp TEGRA186_CLK_XUSB_SS>, 1120 <&bpmp TEGRA186_CLK_ 872 <&bpmp TEGRA186_CLK_XUSB_CORE_SS>, 1121 <&bpmp TEGRA186_CLK_ 873 <&bpmp TEGRA186_CLK_CLK_M>, 1122 <&bpmp TEGRA186_CLK_ 874 <&bpmp TEGRA186_CLK_XUSB_FS>, 1123 <&bpmp TEGRA186_CLK_ 875 <&bpmp TEGRA186_CLK_PLLU>, 1124 <&bpmp TEGRA186_CLK_ 876 <&bpmp TEGRA186_CLK_CLK_M>, 1125 <&bpmp TEGRA186_CLK_ 877 <&bpmp TEGRA186_CLK_PLLE>; 1126 clock-names = "xusb_host", "x 878 clock-names = "xusb_host", "xusb_falcon_src", "xusb_ss", 1127 "xusb_ss_src", 879 "xusb_ss_src", "xusb_hs_src", "xusb_fs_src", 1128 "pll_u_480m", " 880 "pll_u_480m", "clk_m", "pll_e"; 1129 power-domains = <&bpmp TEGRA1 881 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_XUSBC>, 1130 <&bpmp TEGRA1 882 <&bpmp TEGRA186_POWER_DOMAIN_XUSBA>; 1131 power-domain-names = "xusb_ho 883 power-domain-names = "xusb_host", "xusb_ss"; 1132 interconnects = <&mc TEGRA186 884 interconnects = <&mc TEGRA186_MEMORY_CLIENT_XUSB_HOSTR &emc>, 1133 <&mc TEGRA186 885 <&mc TEGRA186_MEMORY_CLIENT_XUSB_HOSTW &emc>; 1134 interconnect-names = "dma-mem 886 interconnect-names = "dma-mem", "write"; 1135 iommus = <&smmu TEGRA186_SID_ 887 iommus = <&smmu TEGRA186_SID_XUSB_HOST>; 1136 #address-cells = <1>; 888 #address-cells = <1>; 1137 #size-cells = <0>; 889 #size-cells = <0>; 1138 status = "disabled"; 890 status = "disabled"; 1139 891 1140 nvidia,xusb-padctl = <&padctl 892 nvidia,xusb-padctl = <&padctl>; 1141 }; 893 }; 1142 894 1143 usb@3550000 { 895 usb@3550000 { 1144 compatible = "nvidia,tegra186 896 compatible = "nvidia,tegra186-xudc"; 1145 reg = <0x0 0x03550000 0x0 0x8 897 reg = <0x0 0x03550000 0x0 0x8000>, 1146 <0x0 0x03558000 0x0 0x1 898 <0x0 0x03558000 0x0 0x1000>; 1147 reg-names = "base", "fpci"; 899 reg-names = "base", "fpci"; 1148 interrupts = <GIC_SPI 166 IRQ 900 interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>; 1149 clocks = <&bpmp TEGRA186_CLK_ 901 clocks = <&bpmp TEGRA186_CLK_XUSB_CORE_DEV>, 1150 <&bpmp TEGRA186_CLK_ 902 <&bpmp TEGRA186_CLK_XUSB_SS>, 1151 <&bpmp TEGRA186_CLK_ 903 <&bpmp TEGRA186_CLK_XUSB_CORE_SS>, 1152 <&bpmp TEGRA186_CLK_ 904 <&bpmp TEGRA186_CLK_XUSB_FS>; 1153 clock-names = "dev", "ss", "s 905 clock-names = "dev", "ss", "ss_src", "fs_src"; 1154 interconnects = <&mc TEGRA186 906 interconnects = <&mc TEGRA186_MEMORY_CLIENT_XUSB_DEVR &emc>, 1155 <&mc TEGRA186 907 <&mc TEGRA186_MEMORY_CLIENT_XUSB_DEVW &emc>; 1156 interconnect-names = "dma-mem 908 interconnect-names = "dma-mem", "write"; 1157 iommus = <&smmu TEGRA186_SID_ 909 iommus = <&smmu TEGRA186_SID_XUSB_DEV>; 1158 power-domains = <&bpmp TEGRA1 910 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_XUSBB>, 1159 <&bpmp TEGRA1 911 <&bpmp TEGRA186_POWER_DOMAIN_XUSBA>; 1160 power-domain-names = "dev", " 912 power-domain-names = "dev", "ss"; 1161 nvidia,xusb-padctl = <&padctl 913 nvidia,xusb-padctl = <&padctl>; 1162 status = "disabled"; 914 status = "disabled"; 1163 }; 915 }; 1164 916 1165 fuse@3820000 { 917 fuse@3820000 { 1166 compatible = "nvidia,tegra186 918 compatible = "nvidia,tegra186-efuse"; 1167 reg = <0x0 0x03820000 0x0 0x1 919 reg = <0x0 0x03820000 0x0 0x10000>; 1168 clocks = <&bpmp TEGRA186_CLK_ 920 clocks = <&bpmp TEGRA186_CLK_FUSE>; 1169 clock-names = "fuse"; 921 clock-names = "fuse"; 1170 }; 922 }; 1171 923 1172 gic: interrupt-controller@3881000 { 924 gic: interrupt-controller@3881000 { 1173 compatible = "arm,gic-400"; 925 compatible = "arm,gic-400"; 1174 #interrupt-cells = <3>; 926 #interrupt-cells = <3>; 1175 interrupt-controller; 927 interrupt-controller; 1176 reg = <0x0 0x03881000 0x0 0x1 928 reg = <0x0 0x03881000 0x0 0x1000>, 1177 <0x0 0x03882000 0x0 0x2 929 <0x0 0x03882000 0x0 0x2000>, 1178 <0x0 0x03884000 0x0 0x2 930 <0x0 0x03884000 0x0 0x2000>, 1179 <0x0 0x03886000 0x0 0x2 931 <0x0 0x03886000 0x0 0x2000>; 1180 interrupts = <GIC_PPI 9 932 interrupts = <GIC_PPI 9 1181 (GIC_CPU_MASK_SIMPLE( 933 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 1182 interrupt-parent = <&gic>; 934 interrupt-parent = <&gic>; 1183 }; 935 }; 1184 936 1185 cec@3960000 { 937 cec@3960000 { 1186 compatible = "nvidia,tegra186 938 compatible = "nvidia,tegra186-cec"; 1187 reg = <0x0 0x03960000 0x0 0x1 939 reg = <0x0 0x03960000 0x0 0x10000>; 1188 interrupts = <GIC_SPI 162 IRQ 940 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>; 1189 clocks = <&bpmp TEGRA186_CLK_ 941 clocks = <&bpmp TEGRA186_CLK_CEC>; 1190 clock-names = "cec"; 942 clock-names = "cec"; 1191 status = "disabled"; 943 status = "disabled"; 1192 }; 944 }; 1193 945 1194 hsp_top0: hsp@3c00000 { 946 hsp_top0: hsp@3c00000 { 1195 compatible = "nvidia,tegra186 947 compatible = "nvidia,tegra186-hsp"; 1196 reg = <0x0 0x03c00000 0x0 0xa 948 reg = <0x0 0x03c00000 0x0 0xa0000>; 1197 interrupts = <GIC_SPI 176 IRQ 949 interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>; 1198 interrupt-names = "doorbell"; 950 interrupt-names = "doorbell"; 1199 #mbox-cells = <2>; 951 #mbox-cells = <2>; 1200 status = "disabled"; 952 status = "disabled"; 1201 }; 953 }; 1202 954 1203 gen2_i2c: i2c@c240000 { 955 gen2_i2c: i2c@c240000 { 1204 compatible = "nvidia,tegra186 !! 956 compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c"; 1205 reg = <0x0 0x0c240000 0x0 0x1 957 reg = <0x0 0x0c240000 0x0 0x10000>; 1206 interrupts = <GIC_SPI 26 IRQ_ 958 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 1207 #address-cells = <1>; 959 #address-cells = <1>; 1208 #size-cells = <0>; 960 #size-cells = <0>; 1209 clocks = <&bpmp TEGRA186_CLK_ 961 clocks = <&bpmp TEGRA186_CLK_I2C2>; 1210 clock-names = "div-clk"; 962 clock-names = "div-clk"; 1211 resets = <&bpmp TEGRA186_RESE 963 resets = <&bpmp TEGRA186_RESET_I2C2>; 1212 reset-names = "i2c"; 964 reset-names = "i2c"; 1213 dmas = <&gpcdma 22>, <&gpcdma << 1214 dma-names = "rx", "tx"; << 1215 status = "disabled"; 965 status = "disabled"; 1216 }; 966 }; 1217 967 1218 gen8_i2c: i2c@c250000 { 968 gen8_i2c: i2c@c250000 { 1219 compatible = "nvidia,tegra186 !! 969 compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c"; 1220 reg = <0x0 0x0c250000 0x0 0x1 970 reg = <0x0 0x0c250000 0x0 0x10000>; 1221 interrupts = <GIC_SPI 32 IRQ_ 971 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 1222 #address-cells = <1>; 972 #address-cells = <1>; 1223 #size-cells = <0>; 973 #size-cells = <0>; 1224 clocks = <&bpmp TEGRA186_CLK_ 974 clocks = <&bpmp TEGRA186_CLK_I2C8>; 1225 clock-names = "div-clk"; 975 clock-names = "div-clk"; 1226 resets = <&bpmp TEGRA186_RESE 976 resets = <&bpmp TEGRA186_RESET_I2C8>; 1227 reset-names = "i2c"; 977 reset-names = "i2c"; 1228 dmas = <&gpcdma 0>, <&gpcdma << 1229 dma-names = "rx", "tx"; << 1230 status = "disabled"; 978 status = "disabled"; 1231 }; 979 }; 1232 980 1233 uartc: serial@c280000 { 981 uartc: serial@c280000 { 1234 compatible = "nvidia,tegra186 982 compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart"; 1235 reg = <0x0 0x0c280000 0x0 0x4 983 reg = <0x0 0x0c280000 0x0 0x40>; 1236 reg-shift = <2>; 984 reg-shift = <2>; 1237 interrupts = <GIC_SPI 114 IRQ 985 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 1238 clocks = <&bpmp TEGRA186_CLK_ 986 clocks = <&bpmp TEGRA186_CLK_UARTC>; 1239 clock-names = "serial"; 987 clock-names = "serial"; 1240 resets = <&bpmp TEGRA186_RESE 988 resets = <&bpmp TEGRA186_RESET_UARTC>; 1241 reset-names = "serial"; 989 reset-names = "serial"; 1242 status = "disabled"; 990 status = "disabled"; 1243 }; 991 }; 1244 992 1245 uartg: serial@c290000 { 993 uartg: serial@c290000 { 1246 compatible = "nvidia,tegra186 994 compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart"; 1247 reg = <0x0 0x0c290000 0x0 0x4 995 reg = <0x0 0x0c290000 0x0 0x40>; 1248 reg-shift = <2>; 996 reg-shift = <2>; 1249 interrupts = <GIC_SPI 118 IRQ 997 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; 1250 clocks = <&bpmp TEGRA186_CLK_ 998 clocks = <&bpmp TEGRA186_CLK_UARTG>; 1251 clock-names = "serial"; 999 clock-names = "serial"; 1252 resets = <&bpmp TEGRA186_RESE 1000 resets = <&bpmp TEGRA186_RESET_UARTG>; 1253 reset-names = "serial"; 1001 reset-names = "serial"; 1254 status = "disabled"; 1002 status = "disabled"; 1255 }; 1003 }; 1256 1004 1257 rtc: rtc@c2a0000 { 1005 rtc: rtc@c2a0000 { 1258 compatible = "nvidia,tegra186 1006 compatible = "nvidia,tegra186-rtc", "nvidia,tegra20-rtc"; 1259 reg = <0 0x0c2a0000 0 0x10000 1007 reg = <0 0x0c2a0000 0 0x10000>; 1260 interrupt-parent = <&pmc>; 1008 interrupt-parent = <&pmc>; 1261 interrupts = <73 IRQ_TYPE_LEV 1009 interrupts = <73 IRQ_TYPE_LEVEL_HIGH>; 1262 clocks = <&bpmp TEGRA186_CLK_ 1010 clocks = <&bpmp TEGRA186_CLK_CLK_32K>; 1263 clock-names = "rtc"; 1011 clock-names = "rtc"; 1264 status = "disabled"; 1012 status = "disabled"; 1265 }; 1013 }; 1266 1014 1267 gpio_aon: gpio@c2f0000 { 1015 gpio_aon: gpio@c2f0000 { 1268 compatible = "nvidia,tegra186 1016 compatible = "nvidia,tegra186-gpio-aon"; 1269 reg-names = "security", "gpio 1017 reg-names = "security", "gpio"; 1270 reg = <0x0 0xc2f0000 0x0 0x10 1018 reg = <0x0 0xc2f0000 0x0 0x1000>, 1271 <0x0 0xc2f1000 0x0 0x10 1019 <0x0 0xc2f1000 0x0 0x1000>; 1272 interrupts = <GIC_SPI 60 IRQ_ 1020 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 1273 gpio-controller; 1021 gpio-controller; 1274 #gpio-cells = <2>; 1022 #gpio-cells = <2>; 1275 interrupt-controller; 1023 interrupt-controller; 1276 #interrupt-cells = <2>; 1024 #interrupt-cells = <2>; 1277 }; 1025 }; 1278 1026 1279 pwm4: pwm@c340000 { 1027 pwm4: pwm@c340000 { 1280 compatible = "nvidia,tegra186 1028 compatible = "nvidia,tegra186-pwm"; 1281 reg = <0x0 0xc340000 0x0 0x10 1029 reg = <0x0 0xc340000 0x0 0x10000>; 1282 clocks = <&bpmp TEGRA186_CLK_ 1030 clocks = <&bpmp TEGRA186_CLK_PWM4>; >> 1031 clock-names = "pwm"; 1283 resets = <&bpmp TEGRA186_RESE 1032 resets = <&bpmp TEGRA186_RESET_PWM4>; 1284 reset-names = "pwm"; 1033 reset-names = "pwm"; 1285 status = "disabled"; 1034 status = "disabled"; 1286 #pwm-cells = <2>; 1035 #pwm-cells = <2>; 1287 }; 1036 }; 1288 1037 1289 pmc: pmc@c360000 { 1038 pmc: pmc@c360000 { 1290 compatible = "nvidia,tegra186 1039 compatible = "nvidia,tegra186-pmc"; 1291 reg = <0 0x0c360000 0 0x10000 1040 reg = <0 0x0c360000 0 0x10000>, 1292 <0 0x0c370000 0 0x10000 1041 <0 0x0c370000 0 0x10000>, 1293 <0 0x0c380000 0 0x10000 1042 <0 0x0c380000 0 0x10000>, 1294 <0 0x0c390000 0 0x10000 1043 <0 0x0c390000 0 0x10000>; 1295 reg-names = "pmc", "wake", "a 1044 reg-names = "pmc", "wake", "aotag", "scratch"; 1296 1045 1297 #interrupt-cells = <2>; 1046 #interrupt-cells = <2>; 1298 interrupt-controller; 1047 interrupt-controller; 1299 1048 1300 sdmmc1_1v8: sdmmc1-1v8 { << 1301 pins = "sdmmc1-hv"; << 1302 power-source = <TEGRA << 1303 }; << 1304 << 1305 sdmmc1_3v3: sdmmc1-3v3 { 1049 sdmmc1_3v3: sdmmc1-3v3 { 1306 pins = "sdmmc1-hv"; 1050 pins = "sdmmc1-hv"; 1307 power-source = <TEGRA 1051 power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>; 1308 }; 1052 }; 1309 1053 1310 sdmmc2_1v8: sdmmc2-1v8 { !! 1054 sdmmc1_1v8: sdmmc1-1v8 { 1311 pins = "sdmmc2-hv"; !! 1055 pins = "sdmmc1-hv"; 1312 power-source = <TEGRA 1056 power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>; 1313 }; 1057 }; 1314 1058 1315 sdmmc2_3v3: sdmmc2-3v3 { 1059 sdmmc2_3v3: sdmmc2-3v3 { 1316 pins = "sdmmc2-hv"; 1060 pins = "sdmmc2-hv"; 1317 power-source = <TEGRA 1061 power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>; 1318 }; 1062 }; 1319 1063 1320 sdmmc3_1v8: sdmmc3-1v8 { !! 1064 sdmmc2_1v8: sdmmc2-1v8 { 1321 pins = "sdmmc3-hv"; !! 1065 pins = "sdmmc2-hv"; 1322 power-source = <TEGRA 1066 power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>; 1323 }; 1067 }; 1324 1068 1325 sdmmc3_3v3: sdmmc3-3v3 { 1069 sdmmc3_3v3: sdmmc3-3v3 { 1326 pins = "sdmmc3-hv"; 1070 pins = "sdmmc3-hv"; 1327 power-source = <TEGRA 1071 power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>; 1328 }; 1072 }; >> 1073 >> 1074 sdmmc3_1v8: sdmmc3-1v8 { >> 1075 pins = "sdmmc3-hv"; >> 1076 power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>; >> 1077 }; 1329 }; 1078 }; 1330 1079 1331 ccplex@e000000 { 1080 ccplex@e000000 { 1332 compatible = "nvidia,tegra186 1081 compatible = "nvidia,tegra186-ccplex-cluster"; 1333 reg = <0x0 0x0e000000 0x0 0x4 1082 reg = <0x0 0x0e000000 0x0 0x400000>; 1334 1083 1335 nvidia,bpmp = <&bpmp>; 1084 nvidia,bpmp = <&bpmp>; 1336 }; 1085 }; 1337 1086 1338 pcie@10003000 { 1087 pcie@10003000 { 1339 compatible = "nvidia,tegra186 1088 compatible = "nvidia,tegra186-pcie"; 1340 power-domains = <&bpmp TEGRA1 1089 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_PCX>; 1341 device_type = "pci"; 1090 device_type = "pci"; 1342 reg = <0x0 0x10003000 0x0 0x0 1091 reg = <0x0 0x10003000 0x0 0x00000800>, /* PADS registers */ 1343 <0x0 0x10003800 0x0 0x0 1092 <0x0 0x10003800 0x0 0x00000800>, /* AFI registers */ 1344 <0x0 0x40000000 0x0 0x1 1093 <0x0 0x40000000 0x0 0x10000000>; /* configuration space */ 1345 reg-names = "pads", "afi", "c 1094 reg-names = "pads", "afi", "cs"; 1346 1095 1347 interrupts = <GIC_SPI 72 IRQ_ 1096 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */ 1348 <GIC_SPI 73 IRQ_ 1097 <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */ 1349 interrupt-names = "intr", "ms 1098 interrupt-names = "intr", "msi"; 1350 1099 1351 #interrupt-cells = <1>; 1100 #interrupt-cells = <1>; 1352 interrupt-map-mask = <0 0 0 0 1101 interrupt-map-mask = <0 0 0 0>; 1353 interrupt-map = <0 0 0 0 &gic 1102 interrupt-map = <0 0 0 0 &gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 1354 1103 1355 bus-range = <0x00 0xff>; 1104 bus-range = <0x00 0xff>; 1356 #address-cells = <3>; 1105 #address-cells = <3>; 1357 #size-cells = <2>; 1106 #size-cells = <2>; 1358 1107 1359 ranges = <0x02000000 0 0x1000 1108 ranges = <0x02000000 0 0x10000000 0x0 0x10000000 0 0x00001000>, /* port 0 configuration space */ 1360 <0x02000000 0 0x1000 1109 <0x02000000 0 0x10001000 0x0 0x10001000 0 0x00001000>,/* port 1 configuration space */ 1361 <0x02000000 0 0x1000 1110 <0x02000000 0 0x10004000 0x0 0x10004000 0 0x00001000>, /* port 2 configuration space */ 1362 <0x01000000 0 0x0 1111 <0x01000000 0 0x0 0x0 0x50000000 0 0x00010000>, /* downstream I/O (64 KiB) */ 1363 <0x02000000 0 0x5010 1112 <0x02000000 0 0x50100000 0x0 0x50100000 0 0x07f00000>, /* non-prefetchable memory (127 MiB) */ 1364 <0x42000000 0 0x5800 1113 <0x42000000 0 0x58000000 0x0 0x58000000 0 0x28000000>; /* prefetchable memory (640 MiB) */ 1365 1114 1366 clocks = <&bpmp TEGRA186_CLK_ 1115 clocks = <&bpmp TEGRA186_CLK_PCIE>, 1367 <&bpmp TEGRA186_CLK_ 1116 <&bpmp TEGRA186_CLK_AFI>, 1368 <&bpmp TEGRA186_CLK_ 1117 <&bpmp TEGRA186_CLK_PLLE>; 1369 clock-names = "pex", "afi", " 1118 clock-names = "pex", "afi", "pll_e"; 1370 1119 1371 resets = <&bpmp TEGRA186_RESE 1120 resets = <&bpmp TEGRA186_RESET_PCIE>, 1372 <&bpmp TEGRA186_RESE 1121 <&bpmp TEGRA186_RESET_AFI>, 1373 <&bpmp TEGRA186_RESE 1122 <&bpmp TEGRA186_RESET_PCIEXCLK>; 1374 reset-names = "pex", "afi", " 1123 reset-names = "pex", "afi", "pcie_x"; 1375 1124 1376 interconnects = <&mc TEGRA186 1125 interconnects = <&mc TEGRA186_MEMORY_CLIENT_AFIR &emc>, 1377 <&mc TEGRA186 1126 <&mc TEGRA186_MEMORY_CLIENT_AFIW &emc>; 1378 interconnect-names = "dma-mem 1127 interconnect-names = "dma-mem", "write"; 1379 1128 1380 iommus = <&smmu TEGRA186_SID_ 1129 iommus = <&smmu TEGRA186_SID_AFI>; 1381 iommu-map = <0x0 &smmu TEGRA1 1130 iommu-map = <0x0 &smmu TEGRA186_SID_AFI 0x1000>; 1382 iommu-map-mask = <0x0>; 1131 iommu-map-mask = <0x0>; 1383 1132 1384 status = "disabled"; 1133 status = "disabled"; 1385 1134 1386 pci@1,0 { 1135 pci@1,0 { 1387 device_type = "pci"; 1136 device_type = "pci"; 1388 assigned-addresses = 1137 assigned-addresses = <0x82000800 0 0x10000000 0 0x1000>; 1389 reg = <0x000800 0 0 0 1138 reg = <0x000800 0 0 0 0>; 1390 status = "disabled"; 1139 status = "disabled"; 1391 1140 1392 #address-cells = <3>; 1141 #address-cells = <3>; 1393 #size-cells = <2>; 1142 #size-cells = <2>; 1394 ranges; 1143 ranges; 1395 1144 1396 nvidia,num-lanes = <2 1145 nvidia,num-lanes = <2>; 1397 }; 1146 }; 1398 1147 1399 pci@2,0 { 1148 pci@2,0 { 1400 device_type = "pci"; 1149 device_type = "pci"; 1401 assigned-addresses = 1150 assigned-addresses = <0x82001000 0 0x10001000 0 0x1000>; 1402 reg = <0x001000 0 0 0 1151 reg = <0x001000 0 0 0 0>; 1403 status = "disabled"; 1152 status = "disabled"; 1404 1153 1405 #address-cells = <3>; 1154 #address-cells = <3>; 1406 #size-cells = <2>; 1155 #size-cells = <2>; 1407 ranges; 1156 ranges; 1408 1157 1409 nvidia,num-lanes = <1 1158 nvidia,num-lanes = <1>; 1410 }; 1159 }; 1411 1160 1412 pci@3,0 { 1161 pci@3,0 { 1413 device_type = "pci"; 1162 device_type = "pci"; 1414 assigned-addresses = 1163 assigned-addresses = <0x82001800 0 0x10004000 0 0x1000>; 1415 reg = <0x001800 0 0 0 1164 reg = <0x001800 0 0 0 0>; 1416 status = "disabled"; 1165 status = "disabled"; 1417 1166 1418 #address-cells = <3>; 1167 #address-cells = <3>; 1419 #size-cells = <2>; 1168 #size-cells = <2>; 1420 ranges; 1169 ranges; 1421 1170 1422 nvidia,num-lanes = <1 1171 nvidia,num-lanes = <1>; 1423 }; 1172 }; 1424 }; 1173 }; 1425 1174 1426 smmu: iommu@12000000 { 1175 smmu: iommu@12000000 { 1427 compatible = "nvidia,tegra186 1176 compatible = "nvidia,tegra186-smmu", "nvidia,smmu-500"; 1428 reg = <0 0x12000000 0 0x80000 1177 reg = <0 0x12000000 0 0x800000>; 1429 interrupts = <GIC_SPI 170 IRQ 1178 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1430 <GIC_SPI 170 IRQ 1179 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1431 <GIC_SPI 170 IRQ 1180 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1432 <GIC_SPI 170 IRQ 1181 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1433 <GIC_SPI 170 IRQ 1182 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1434 <GIC_SPI 170 IRQ 1183 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1435 <GIC_SPI 170 IRQ 1184 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1436 <GIC_SPI 170 IRQ 1185 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1437 <GIC_SPI 170 IRQ 1186 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1438 <GIC_SPI 170 IRQ 1187 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1439 <GIC_SPI 170 IRQ 1188 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1440 <GIC_SPI 170 IRQ 1189 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1441 <GIC_SPI 170 IRQ 1190 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1442 <GIC_SPI 170 IRQ 1191 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1443 <GIC_SPI 170 IRQ 1192 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1444 <GIC_SPI 170 IRQ 1193 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1445 <GIC_SPI 170 IRQ 1194 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1446 <GIC_SPI 170 IRQ 1195 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1447 <GIC_SPI 170 IRQ 1196 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1448 <GIC_SPI 170 IRQ 1197 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1449 <GIC_SPI 170 IRQ 1198 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1450 <GIC_SPI 170 IRQ 1199 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1451 <GIC_SPI 170 IRQ 1200 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1452 <GIC_SPI 170 IRQ 1201 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1453 <GIC_SPI 170 IRQ 1202 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1454 <GIC_SPI 170 IRQ 1203 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1455 <GIC_SPI 170 IRQ 1204 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1456 <GIC_SPI 170 IRQ 1205 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1457 <GIC_SPI 170 IRQ 1206 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1458 <GIC_SPI 170 IRQ 1207 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1459 <GIC_SPI 170 IRQ 1208 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1460 <GIC_SPI 170 IRQ 1209 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1461 <GIC_SPI 170 IRQ 1210 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1462 <GIC_SPI 170 IRQ 1211 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1463 <GIC_SPI 170 IRQ 1212 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1464 <GIC_SPI 170 IRQ 1213 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1465 <GIC_SPI 170 IRQ 1214 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1466 <GIC_SPI 170 IRQ 1215 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1467 <GIC_SPI 170 IRQ 1216 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1468 <GIC_SPI 170 IRQ 1217 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1469 <GIC_SPI 170 IRQ 1218 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1470 <GIC_SPI 170 IRQ 1219 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1471 <GIC_SPI 170 IRQ 1220 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1472 <GIC_SPI 170 IRQ 1221 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1473 <GIC_SPI 170 IRQ 1222 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1474 <GIC_SPI 170 IRQ 1223 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1475 <GIC_SPI 170 IRQ 1224 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1476 <GIC_SPI 170 IRQ 1225 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1477 <GIC_SPI 170 IRQ 1226 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1478 <GIC_SPI 170 IRQ 1227 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1479 <GIC_SPI 170 IRQ 1228 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1480 <GIC_SPI 170 IRQ 1229 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1481 <GIC_SPI 170 IRQ 1230 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1482 <GIC_SPI 170 IRQ 1231 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1483 <GIC_SPI 170 IRQ 1232 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1484 <GIC_SPI 170 IRQ 1233 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1485 <GIC_SPI 170 IRQ 1234 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1486 <GIC_SPI 170 IRQ 1235 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1487 <GIC_SPI 170 IRQ 1236 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1488 <GIC_SPI 170 IRQ 1237 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1489 <GIC_SPI 170 IRQ 1238 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1490 <GIC_SPI 170 IRQ 1239 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1491 <GIC_SPI 170 IRQ 1240 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1492 <GIC_SPI 170 IRQ 1241 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, 1493 <GIC_SPI 170 IRQ 1242 <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>; 1494 stream-match-mask = <0x7f80>; 1243 stream-match-mask = <0x7f80>; 1495 #global-interrupts = <1>; 1244 #global-interrupts = <1>; 1496 #iommu-cells = <1>; 1245 #iommu-cells = <1>; 1497 1246 1498 nvidia,memory-controller = <& 1247 nvidia,memory-controller = <&mc>; 1499 }; 1248 }; 1500 1249 1501 host1x@13e00000 { 1250 host1x@13e00000 { 1502 compatible = "nvidia,tegra186 1251 compatible = "nvidia,tegra186-host1x"; 1503 reg = <0x0 0x13e00000 0x0 0x1 1252 reg = <0x0 0x13e00000 0x0 0x10000>, 1504 <0x0 0x13e10000 0x0 0x1 1253 <0x0 0x13e10000 0x0 0x10000>; 1505 reg-names = "hypervisor", "vm 1254 reg-names = "hypervisor", "vm"; 1506 interrupts = <GIC_SPI 265 IRQ 1255 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>, 1507 <GIC_SPI 263 IRQ 1256 <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>; 1508 interrupt-names = "syncpt", " 1257 interrupt-names = "syncpt", "host1x"; 1509 clocks = <&bpmp TEGRA186_CLK_ 1258 clocks = <&bpmp TEGRA186_CLK_HOST1X>; 1510 clock-names = "host1x"; 1259 clock-names = "host1x"; 1511 resets = <&bpmp TEGRA186_RESE 1260 resets = <&bpmp TEGRA186_RESET_HOST1X>; 1512 reset-names = "host1x"; 1261 reset-names = "host1x"; 1513 1262 1514 #address-cells = <1>; 1263 #address-cells = <1>; 1515 #size-cells = <1>; 1264 #size-cells = <1>; 1516 1265 1517 ranges = <0x15000000 0x0 0x15 1266 ranges = <0x15000000 0x0 0x15000000 0x01000000>; 1518 1267 1519 interconnects = <&mc TEGRA186 1268 interconnects = <&mc TEGRA186_MEMORY_CLIENT_HOST1XDMAR &emc>; 1520 interconnect-names = "dma-mem 1269 interconnect-names = "dma-mem"; 1521 1270 1522 iommus = <&smmu TEGRA186_SID_ 1271 iommus = <&smmu TEGRA186_SID_HOST1X>; 1523 1272 1524 /* Context isolation domains << 1525 iommu-map = <0 &smmu TEGRA186 << 1526 <1 &smmu TEGRA186 << 1527 <2 &smmu TEGRA186 << 1528 <3 &smmu TEGRA186 << 1529 <4 &smmu TEGRA186 << 1530 <5 &smmu TEGRA186 << 1531 <6 &smmu TEGRA186 << 1532 <7 &smmu TEGRA186 << 1533 << 1534 dpaux1: dpaux@15040000 { 1273 dpaux1: dpaux@15040000 { 1535 compatible = "nvidia, 1274 compatible = "nvidia,tegra186-dpaux"; 1536 reg = <0x15040000 0x1 1275 reg = <0x15040000 0x10000>; 1537 interrupts = <GIC_SPI 1276 interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>; 1538 clocks = <&bpmp TEGRA 1277 clocks = <&bpmp TEGRA186_CLK_DPAUX1>, 1539 <&bpmp TEGRA 1278 <&bpmp TEGRA186_CLK_PLLDP>; 1540 clock-names = "dpaux" 1279 clock-names = "dpaux", "parent"; 1541 resets = <&bpmp TEGRA 1280 resets = <&bpmp TEGRA186_RESET_DPAUX1>; 1542 reset-names = "dpaux" 1281 reset-names = "dpaux"; 1543 status = "disabled"; 1282 status = "disabled"; 1544 1283 1545 power-domains = <&bpm 1284 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 1546 1285 1547 state_dpaux1_aux: pin 1286 state_dpaux1_aux: pinmux-aux { 1548 groups = "dpa 1287 groups = "dpaux-io"; 1549 function = "a 1288 function = "aux"; 1550 }; 1289 }; 1551 1290 1552 state_dpaux1_i2c: pin 1291 state_dpaux1_i2c: pinmux-i2c { 1553 groups = "dpa 1292 groups = "dpaux-io"; 1554 function = "i 1293 function = "i2c"; 1555 }; 1294 }; 1556 1295 1557 state_dpaux1_off: pin 1296 state_dpaux1_off: pinmux-off { 1558 groups = "dpa 1297 groups = "dpaux-io"; 1559 function = "o 1298 function = "off"; 1560 }; 1299 }; 1561 1300 1562 i2c-bus { 1301 i2c-bus { 1563 #address-cell 1302 #address-cells = <1>; 1564 #size-cells = 1303 #size-cells = <0>; 1565 }; 1304 }; 1566 }; 1305 }; 1567 1306 1568 display-hub@15200000 { 1307 display-hub@15200000 { 1569 compatible = "nvidia, 1308 compatible = "nvidia,tegra186-display"; 1570 reg = <0x15200000 0x0 1309 reg = <0x15200000 0x00040000>; 1571 resets = <&bpmp TEGRA 1310 resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_MISC>, 1572 <&bpmp TEGRA 1311 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP0>, 1573 <&bpmp TEGRA 1312 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP1>, 1574 <&bpmp TEGRA 1313 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP2>, 1575 <&bpmp TEGRA 1314 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP3>, 1576 <&bpmp TEGRA 1315 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP4>, 1577 <&bpmp TEGRA 1316 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP5>; 1578 reset-names = "misc", 1317 reset-names = "misc", "wgrp0", "wgrp1", "wgrp2", 1579 "wgrp3" 1318 "wgrp3", "wgrp4", "wgrp5"; 1580 clocks = <&bpmp TEGRA 1319 clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_DISP>, 1581 <&bpmp TEGRA 1320 <&bpmp TEGRA186_CLK_NVDISPLAY_DSC>, 1582 <&bpmp TEGRA 1321 <&bpmp TEGRA186_CLK_NVDISPLAYHUB>; 1583 clock-names = "disp", 1322 clock-names = "disp", "dsc", "hub"; 1584 status = "disabled"; 1323 status = "disabled"; 1585 1324 1586 power-domains = <&bpm 1325 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 1587 1326 1588 #address-cells = <1>; 1327 #address-cells = <1>; 1589 #size-cells = <1>; 1328 #size-cells = <1>; 1590 1329 1591 ranges = <0x15200000 1330 ranges = <0x15200000 0x15200000 0x40000>; 1592 1331 1593 display@15200000 { 1332 display@15200000 { 1594 compatible = 1333 compatible = "nvidia,tegra186-dc"; 1595 reg = <0x1520 1334 reg = <0x15200000 0x10000>; 1596 interrupts = 1335 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; 1597 clocks = <&bp 1336 clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P0>; 1598 clock-names = 1337 clock-names = "dc"; 1599 resets = <&bp 1338 resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD0>; 1600 reset-names = 1339 reset-names = "dc"; 1601 1340 1602 power-domains 1341 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 1603 interconnects 1342 interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR &emc>, 1604 1343 <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 &emc>; 1605 interconnect- 1344 interconnect-names = "dma-mem", "read-1"; 1606 iommus = <&sm 1345 iommus = <&smmu TEGRA186_SID_NVDISPLAY>; 1607 1346 1608 nvidia,output 1347 nvidia,outputs = <&dsia &dsib &sor0 &sor1>; 1609 nvidia,head = 1348 nvidia,head = <0>; 1610 }; 1349 }; 1611 1350 1612 display@15210000 { 1351 display@15210000 { 1613 compatible = 1352 compatible = "nvidia,tegra186-dc"; 1614 reg = <0x1521 1353 reg = <0x15210000 0x10000>; 1615 interrupts = 1354 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; 1616 clocks = <&bp 1355 clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P1>; 1617 clock-names = 1356 clock-names = "dc"; 1618 resets = <&bp 1357 resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD1>; 1619 reset-names = 1358 reset-names = "dc"; 1620 1359 1621 power-domains 1360 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISPB>; 1622 interconnects 1361 interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR &emc>, 1623 1362 <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 &emc>; 1624 interconnect- 1363 interconnect-names = "dma-mem", "read-1"; 1625 iommus = <&sm 1364 iommus = <&smmu TEGRA186_SID_NVDISPLAY>; 1626 1365 1627 nvidia,output 1366 nvidia,outputs = <&dsia &dsib &sor0 &sor1>; 1628 nvidia,head = 1367 nvidia,head = <1>; 1629 }; 1368 }; 1630 1369 1631 display@15220000 { 1370 display@15220000 { 1632 compatible = 1371 compatible = "nvidia,tegra186-dc"; 1633 reg = <0x1522 1372 reg = <0x15220000 0x10000>; 1634 interrupts = 1373 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>; 1635 clocks = <&bp 1374 clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P2>; 1636 clock-names = 1375 clock-names = "dc"; 1637 resets = <&bp 1376 resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD2>; 1638 reset-names = 1377 reset-names = "dc"; 1639 1378 1640 power-domains 1379 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISPC>; 1641 interconnects 1380 interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR &emc>, 1642 1381 <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 &emc>; 1643 interconnect- 1382 interconnect-names = "dma-mem", "read-1"; 1644 iommus = <&sm 1383 iommus = <&smmu TEGRA186_SID_NVDISPLAY>; 1645 1384 1646 nvidia,output 1385 nvidia,outputs = <&sor0 &sor1>; 1647 nvidia,head = 1386 nvidia,head = <2>; 1648 }; 1387 }; 1649 }; 1388 }; 1650 1389 1651 dsia: dsi@15300000 { 1390 dsia: dsi@15300000 { 1652 compatible = "nvidia, 1391 compatible = "nvidia,tegra186-dsi"; 1653 reg = <0x15300000 0x1 1392 reg = <0x15300000 0x10000>; 1654 interrupts = <GIC_SPI 1393 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 1655 clocks = <&bpmp TEGRA 1394 clocks = <&bpmp TEGRA186_CLK_DSI>, 1656 <&bpmp TEGRA 1395 <&bpmp TEGRA186_CLK_DSIA_LP>, 1657 <&bpmp TEGRA 1396 <&bpmp TEGRA186_CLK_PLLD>; 1658 clock-names = "dsi", 1397 clock-names = "dsi", "lp", "parent"; 1659 resets = <&bpmp TEGRA 1398 resets = <&bpmp TEGRA186_RESET_DSI>; 1660 reset-names = "dsi"; 1399 reset-names = "dsi"; 1661 status = "disabled"; 1400 status = "disabled"; 1662 1401 1663 power-domains = <&bpm 1402 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 1664 }; 1403 }; 1665 1404 1666 vic@15340000 { 1405 vic@15340000 { 1667 compatible = "nvidia, 1406 compatible = "nvidia,tegra186-vic"; 1668 reg = <0x15340000 0x4 1407 reg = <0x15340000 0x40000>; 1669 interrupts = <GIC_SPI 1408 interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>; 1670 clocks = <&bpmp TEGRA 1409 clocks = <&bpmp TEGRA186_CLK_VIC>; 1671 clock-names = "vic"; 1410 clock-names = "vic"; 1672 resets = <&bpmp TEGRA 1411 resets = <&bpmp TEGRA186_RESET_VIC>; 1673 reset-names = "vic"; 1412 reset-names = "vic"; 1674 1413 1675 power-domains = <&bpm 1414 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_VIC>; 1676 interconnects = <&mc 1415 interconnects = <&mc TEGRA186_MEMORY_CLIENT_VICSRD &emc>, 1677 <&mc 1416 <&mc TEGRA186_MEMORY_CLIENT_VICSWR &emc>; 1678 interconnect-names = 1417 interconnect-names = "dma-mem", "write"; 1679 iommus = <&smmu TEGRA 1418 iommus = <&smmu TEGRA186_SID_VIC>; 1680 }; 1419 }; 1681 1420 1682 nvjpg@15380000 { << 1683 compatible = "nvidia, << 1684 reg = <0x15380000 0x4 << 1685 clocks = <&bpmp TEGRA << 1686 clock-names = "nvjpg" << 1687 resets = <&bpmp TEGRA << 1688 reset-names = "nvjpg" << 1689 << 1690 power-domains = <&bpm << 1691 interconnects = <&mc << 1692 <&mc << 1693 interconnect-names = << 1694 iommus = <&smmu TEGRA << 1695 }; << 1696 << 1697 dsib: dsi@15400000 { 1421 dsib: dsi@15400000 { 1698 compatible = "nvidia, 1422 compatible = "nvidia,tegra186-dsi"; 1699 reg = <0x15400000 0x1 1423 reg = <0x15400000 0x10000>; 1700 interrupts = <GIC_SPI 1424 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 1701 clocks = <&bpmp TEGRA 1425 clocks = <&bpmp TEGRA186_CLK_DSIB>, 1702 <&bpmp TEGRA 1426 <&bpmp TEGRA186_CLK_DSIB_LP>, 1703 <&bpmp TEGRA 1427 <&bpmp TEGRA186_CLK_PLLD>; 1704 clock-names = "dsi", 1428 clock-names = "dsi", "lp", "parent"; 1705 resets = <&bpmp TEGRA 1429 resets = <&bpmp TEGRA186_RESET_DSIB>; 1706 reset-names = "dsi"; 1430 reset-names = "dsi"; 1707 status = "disabled"; 1431 status = "disabled"; 1708 1432 1709 power-domains = <&bpm 1433 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 1710 }; 1434 }; 1711 1435 1712 nvdec@15480000 { << 1713 compatible = "nvidia, << 1714 reg = <0x15480000 0x4 << 1715 clocks = <&bpmp TEGRA << 1716 clock-names = "nvdec" << 1717 resets = <&bpmp TEGRA << 1718 reset-names = "nvdec" << 1719 << 1720 power-domains = <&bpm << 1721 interconnects = <&mc << 1722 <&mc << 1723 <&mc << 1724 interconnect-names = << 1725 iommus = <&smmu TEGRA << 1726 }; << 1727 << 1728 nvenc@154c0000 { << 1729 compatible = "nvidia, << 1730 reg = <0x154c0000 0x4 << 1731 clocks = <&bpmp TEGRA << 1732 clock-names = "nvenc" << 1733 resets = <&bpmp TEGRA << 1734 reset-names = "nvenc" << 1735 << 1736 power-domains = <&bpm << 1737 interconnects = <&mc << 1738 <&mc << 1739 interconnect-names = << 1740 iommus = <&smmu TEGRA << 1741 }; << 1742 << 1743 sor0: sor@15540000 { 1436 sor0: sor@15540000 { 1744 compatible = "nvidia, 1437 compatible = "nvidia,tegra186-sor"; 1745 reg = <0x15540000 0x1 1438 reg = <0x15540000 0x10000>; 1746 interrupts = <GIC_SPI 1439 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>; 1747 clocks = <&bpmp TEGRA 1440 clocks = <&bpmp TEGRA186_CLK_SOR0>, 1748 <&bpmp TEGRA 1441 <&bpmp TEGRA186_CLK_SOR0_OUT>, 1749 <&bpmp TEGRA 1442 <&bpmp TEGRA186_CLK_PLLD2>, 1750 <&bpmp TEGRA 1443 <&bpmp TEGRA186_CLK_PLLDP>, 1751 <&bpmp TEGRA 1444 <&bpmp TEGRA186_CLK_SOR_SAFE>, 1752 <&bpmp TEGRA 1445 <&bpmp TEGRA186_CLK_SOR0_PAD_CLKOUT>; 1753 clock-names = "sor", 1446 clock-names = "sor", "out", "parent", "dp", "safe", 1754 "pad"; 1447 "pad"; 1755 resets = <&bpmp TEGRA 1448 resets = <&bpmp TEGRA186_RESET_SOR0>; 1756 reset-names = "sor"; 1449 reset-names = "sor"; 1757 pinctrl-0 = <&state_d 1450 pinctrl-0 = <&state_dpaux_aux>; 1758 pinctrl-1 = <&state_d 1451 pinctrl-1 = <&state_dpaux_i2c>; 1759 pinctrl-2 = <&state_d 1452 pinctrl-2 = <&state_dpaux_off>; 1760 pinctrl-names = "aux" 1453 pinctrl-names = "aux", "i2c", "off"; 1761 status = "disabled"; 1454 status = "disabled"; 1762 1455 1763 power-domains = <&bpm 1456 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 1764 nvidia,interface = <0 1457 nvidia,interface = <0>; 1765 }; 1458 }; 1766 1459 1767 sor1: sor@15580000 { 1460 sor1: sor@15580000 { 1768 compatible = "nvidia, 1461 compatible = "nvidia,tegra186-sor"; 1769 reg = <0x15580000 0x1 1462 reg = <0x15580000 0x10000>; 1770 interrupts = <GIC_SPI 1463 interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>; 1771 clocks = <&bpmp TEGRA 1464 clocks = <&bpmp TEGRA186_CLK_SOR1>, 1772 <&bpmp TEGRA 1465 <&bpmp TEGRA186_CLK_SOR1_OUT>, 1773 <&bpmp TEGRA 1466 <&bpmp TEGRA186_CLK_PLLD3>, 1774 <&bpmp TEGRA 1467 <&bpmp TEGRA186_CLK_PLLDP>, 1775 <&bpmp TEGRA 1468 <&bpmp TEGRA186_CLK_SOR_SAFE>, 1776 <&bpmp TEGRA 1469 <&bpmp TEGRA186_CLK_SOR1_PAD_CLKOUT>; 1777 clock-names = "sor", 1470 clock-names = "sor", "out", "parent", "dp", "safe", 1778 "pad"; 1471 "pad"; 1779 resets = <&bpmp TEGRA 1472 resets = <&bpmp TEGRA186_RESET_SOR1>; 1780 reset-names = "sor"; 1473 reset-names = "sor"; 1781 pinctrl-0 = <&state_d 1474 pinctrl-0 = <&state_dpaux1_aux>; 1782 pinctrl-1 = <&state_d 1475 pinctrl-1 = <&state_dpaux1_i2c>; 1783 pinctrl-2 = <&state_d 1476 pinctrl-2 = <&state_dpaux1_off>; 1784 pinctrl-names = "aux" 1477 pinctrl-names = "aux", "i2c", "off"; 1785 status = "disabled"; 1478 status = "disabled"; 1786 1479 1787 power-domains = <&bpm 1480 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 1788 nvidia,interface = <1 1481 nvidia,interface = <1>; 1789 }; 1482 }; 1790 1483 1791 dpaux: dpaux@155c0000 { 1484 dpaux: dpaux@155c0000 { 1792 compatible = "nvidia, 1485 compatible = "nvidia,tegra186-dpaux"; 1793 reg = <0x155c0000 0x1 1486 reg = <0x155c0000 0x10000>; 1794 interrupts = <GIC_SPI 1487 interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>; 1795 clocks = <&bpmp TEGRA 1488 clocks = <&bpmp TEGRA186_CLK_DPAUX>, 1796 <&bpmp TEGRA 1489 <&bpmp TEGRA186_CLK_PLLDP>; 1797 clock-names = "dpaux" 1490 clock-names = "dpaux", "parent"; 1798 resets = <&bpmp TEGRA 1491 resets = <&bpmp TEGRA186_RESET_DPAUX>; 1799 reset-names = "dpaux" 1492 reset-names = "dpaux"; 1800 status = "disabled"; 1493 status = "disabled"; 1801 1494 1802 power-domains = <&bpm 1495 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 1803 1496 1804 state_dpaux_aux: pinm 1497 state_dpaux_aux: pinmux-aux { 1805 groups = "dpa 1498 groups = "dpaux-io"; 1806 function = "a 1499 function = "aux"; 1807 }; 1500 }; 1808 1501 1809 state_dpaux_i2c: pinm 1502 state_dpaux_i2c: pinmux-i2c { 1810 groups = "dpa 1503 groups = "dpaux-io"; 1811 function = "i 1504 function = "i2c"; 1812 }; 1505 }; 1813 1506 1814 state_dpaux_off: pinm 1507 state_dpaux_off: pinmux-off { 1815 groups = "dpa 1508 groups = "dpaux-io"; 1816 function = "o 1509 function = "off"; 1817 }; 1510 }; 1818 1511 1819 i2c-bus { 1512 i2c-bus { 1820 #address-cell 1513 #address-cells = <1>; 1821 #size-cells = 1514 #size-cells = <0>; 1822 }; 1515 }; 1823 }; 1516 }; 1824 1517 1825 padctl@15880000 { 1518 padctl@15880000 { 1826 compatible = "nvidia, 1519 compatible = "nvidia,tegra186-dsi-padctl"; 1827 reg = <0x15880000 0x1 1520 reg = <0x15880000 0x10000>; 1828 resets = <&bpmp TEGRA 1521 resets = <&bpmp TEGRA186_RESET_DSI>; 1829 reset-names = "dsi"; 1522 reset-names = "dsi"; 1830 status = "disabled"; 1523 status = "disabled"; 1831 }; 1524 }; 1832 1525 1833 dsic: dsi@15900000 { 1526 dsic: dsi@15900000 { 1834 compatible = "nvidia, 1527 compatible = "nvidia,tegra186-dsi"; 1835 reg = <0x15900000 0x1 1528 reg = <0x15900000 0x10000>; 1836 interrupts = <GIC_SPI 1529 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 1837 clocks = <&bpmp TEGRA 1530 clocks = <&bpmp TEGRA186_CLK_DSIC>, 1838 <&bpmp TEGRA 1531 <&bpmp TEGRA186_CLK_DSIC_LP>, 1839 <&bpmp TEGRA 1532 <&bpmp TEGRA186_CLK_PLLD>; 1840 clock-names = "dsi", 1533 clock-names = "dsi", "lp", "parent"; 1841 resets = <&bpmp TEGRA 1534 resets = <&bpmp TEGRA186_RESET_DSIC>; 1842 reset-names = "dsi"; 1535 reset-names = "dsi"; 1843 status = "disabled"; 1536 status = "disabled"; 1844 1537 1845 power-domains = <&bpm 1538 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 1846 }; 1539 }; 1847 1540 1848 dsid: dsi@15940000 { 1541 dsid: dsi@15940000 { 1849 compatible = "nvidia, 1542 compatible = "nvidia,tegra186-dsi"; 1850 reg = <0x15940000 0x1 1543 reg = <0x15940000 0x10000>; 1851 interrupts = <GIC_SPI 1544 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 1852 clocks = <&bpmp TEGRA 1545 clocks = <&bpmp TEGRA186_CLK_DSID>, 1853 <&bpmp TEGRA 1546 <&bpmp TEGRA186_CLK_DSID_LP>, 1854 <&bpmp TEGRA 1547 <&bpmp TEGRA186_CLK_PLLD>; 1855 clock-names = "dsi", 1548 clock-names = "dsi", "lp", "parent"; 1856 resets = <&bpmp TEGRA 1549 resets = <&bpmp TEGRA186_RESET_DSID>; 1857 reset-names = "dsi"; 1550 reset-names = "dsi"; 1858 status = "disabled"; 1551 status = "disabled"; 1859 1552 1860 power-domains = <&bpm 1553 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>; 1861 }; 1554 }; 1862 }; 1555 }; 1863 1556 1864 gpu@17000000 { 1557 gpu@17000000 { 1865 compatible = "nvidia,gp10b"; 1558 compatible = "nvidia,gp10b"; 1866 reg = <0x0 0x17000000 0x0 0x1 1559 reg = <0x0 0x17000000 0x0 0x1000000>, 1867 <0x0 0x18000000 0x0 0x1 1560 <0x0 0x18000000 0x0 0x1000000>; 1868 interrupts = <GIC_SPI 70 IRQ_ 1561 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 1869 <GIC_SPI 71 IRQ_ 1562 <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 1870 interrupt-names = "stall", "n 1563 interrupt-names = "stall", "nonstall"; 1871 1564 1872 clocks = <&bpmp TEGRA186_CLK_ 1565 clocks = <&bpmp TEGRA186_CLK_GPCCLK>, 1873 <&bpmp TEGRA186_CLK_ 1566 <&bpmp TEGRA186_CLK_GPU>; 1874 clock-names = "gpu", "pwr"; 1567 clock-names = "gpu", "pwr"; 1875 resets = <&bpmp TEGRA186_RESE 1568 resets = <&bpmp TEGRA186_RESET_GPU>; 1876 reset-names = "gpu"; 1569 reset-names = "gpu"; 1877 status = "disabled"; 1570 status = "disabled"; 1878 1571 1879 power-domains = <&bpmp TEGRA1 1572 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_GPU>; 1880 interconnects = <&mc TEGRA186 1573 interconnects = <&mc TEGRA186_MEMORY_CLIENT_GPUSRD &emc>, 1881 <&mc TEGRA186 1574 <&mc TEGRA186_MEMORY_CLIENT_GPUSWR &emc>, 1882 <&mc TEGRA186 1575 <&mc TEGRA186_MEMORY_CLIENT_GPUSRD2 &emc>, 1883 <&mc TEGRA186 1576 <&mc TEGRA186_MEMORY_CLIENT_GPUSWR2 &emc>; 1884 interconnect-names = "dma-mem 1577 interconnect-names = "dma-mem", "write-0", "read-1", "write-1"; 1885 }; 1578 }; 1886 1579 1887 sram@30000000 { 1580 sram@30000000 { 1888 compatible = "nvidia,tegra186 1581 compatible = "nvidia,tegra186-sysram", "mmio-sram"; 1889 reg = <0x0 0x30000000 0x0 0x5 1582 reg = <0x0 0x30000000 0x0 0x50000>; 1890 #address-cells = <1>; 1583 #address-cells = <1>; 1891 #size-cells = <1>; 1584 #size-cells = <1>; 1892 ranges = <0x0 0x0 0x30000000 1585 ranges = <0x0 0x0 0x30000000 0x50000>; 1893 no-memory-wc; 1586 no-memory-wc; 1894 1587 1895 cpu_bpmp_tx: sram@4e000 { 1588 cpu_bpmp_tx: sram@4e000 { 1896 reg = <0x4e000 0x1000 1589 reg = <0x4e000 0x1000>; 1897 label = "cpu-bpmp-tx" 1590 label = "cpu-bpmp-tx"; 1898 pool; 1591 pool; 1899 }; 1592 }; 1900 1593 1901 cpu_bpmp_rx: sram@4f000 { 1594 cpu_bpmp_rx: sram@4f000 { 1902 reg = <0x4f000 0x1000 1595 reg = <0x4f000 0x1000>; 1903 label = "cpu-bpmp-rx" 1596 label = "cpu-bpmp-rx"; 1904 pool; 1597 pool; 1905 }; 1598 }; 1906 }; 1599 }; 1907 1600 >> 1601 sata@3507000 { >> 1602 compatible = "nvidia,tegra186-ahci"; >> 1603 reg = <0x0 0x03507000 0x0 0x00002000>, /* AHCI */ >> 1604 <0x0 0x03500000 0x0 0x00007000>, /* SATA */ >> 1605 <0x0 0x03A90000 0x0 0x00010000>; /* SATA AUX */ >> 1606 interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>; >> 1607 >> 1608 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_SAX>; >> 1609 interconnects = <&mc TEGRA186_MEMORY_CLIENT_SATAR &emc>, >> 1610 <&mc TEGRA186_MEMORY_CLIENT_SATAW &emc>; >> 1611 interconnect-names = "dma-mem", "write"; >> 1612 iommus = <&smmu TEGRA186_SID_SATA>; >> 1613 >> 1614 clocks = <&bpmp TEGRA186_CLK_SATA>, >> 1615 <&bpmp TEGRA186_CLK_SATA_OOB>; >> 1616 clock-names = "sata", "sata-oob"; >> 1617 assigned-clocks = <&bpmp TEGRA186_CLK_SATA>, >> 1618 <&bpmp TEGRA186_CLK_SATA_OOB>; >> 1619 assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLP_OUT0>, >> 1620 <&bpmp TEGRA186_CLK_PLLP>; >> 1621 assigned-clock-rates = <102000000>, >> 1622 <204000000>; >> 1623 resets = <&bpmp TEGRA186_RESET_SATA>, >> 1624 <&bpmp TEGRA186_RESET_SATACOLD>; >> 1625 reset-names = "sata", "sata-cold"; >> 1626 status = "disabled"; >> 1627 }; >> 1628 1908 bpmp: bpmp { 1629 bpmp: bpmp { 1909 compatible = "nvidia,tegra186 1630 compatible = "nvidia,tegra186-bpmp"; 1910 interconnects = <&mc TEGRA186 1631 interconnects = <&mc TEGRA186_MEMORY_CLIENT_BPMPR &emc>, 1911 <&mc TEGRA186 1632 <&mc TEGRA186_MEMORY_CLIENT_BPMPW &emc>, 1912 <&mc TEGRA186 1633 <&mc TEGRA186_MEMORY_CLIENT_BPMPDMAR &emc>, 1913 <&mc TEGRA186 1634 <&mc TEGRA186_MEMORY_CLIENT_BPMPDMAW &emc>; 1914 interconnect-names = "read", 1635 interconnect-names = "read", "write", "dma-mem", "dma-write"; 1915 iommus = <&smmu TEGRA186_SID_ 1636 iommus = <&smmu TEGRA186_SID_BPMP>; 1916 mboxes = <&hsp_top0 TEGRA_HSP 1637 mboxes = <&hsp_top0 TEGRA_HSP_MBOX_TYPE_DB 1917 TEGRA_HSP 1638 TEGRA_HSP_DB_MASTER_BPMP>; 1918 shmem = <&cpu_bpmp_tx>, <&cpu 1639 shmem = <&cpu_bpmp_tx>, <&cpu_bpmp_rx>; 1919 #clock-cells = <1>; 1640 #clock-cells = <1>; 1920 #reset-cells = <1>; 1641 #reset-cells = <1>; 1921 #power-domain-cells = <1>; 1642 #power-domain-cells = <1>; 1922 1643 1923 bpmp_i2c: i2c { 1644 bpmp_i2c: i2c { 1924 compatible = "nvidia, 1645 compatible = "nvidia,tegra186-bpmp-i2c"; 1925 nvidia,bpmp-bus-id = 1646 nvidia,bpmp-bus-id = <5>; 1926 #address-cells = <1>; 1647 #address-cells = <1>; 1927 #size-cells = <0>; 1648 #size-cells = <0>; 1928 status = "disabled"; 1649 status = "disabled"; 1929 }; 1650 }; 1930 1651 1931 bpmp_thermal: thermal { 1652 bpmp_thermal: thermal { 1932 compatible = "nvidia, 1653 compatible = "nvidia,tegra186-bpmp-thermal"; 1933 #thermal-sensor-cells 1654 #thermal-sensor-cells = <1>; 1934 }; 1655 }; 1935 }; 1656 }; 1936 1657 1937 cpus { 1658 cpus { 1938 #address-cells = <1>; 1659 #address-cells = <1>; 1939 #size-cells = <0>; 1660 #size-cells = <0>; 1940 1661 1941 denver_0: cpu@0 { 1662 denver_0: cpu@0 { 1942 compatible = "nvidia, 1663 compatible = "nvidia,tegra186-denver"; 1943 device_type = "cpu"; 1664 device_type = "cpu"; 1944 i-cache-size = <0x200 1665 i-cache-size = <0x20000>; 1945 i-cache-line-size = < 1666 i-cache-line-size = <64>; 1946 i-cache-sets = <512>; 1667 i-cache-sets = <512>; 1947 d-cache-size = <0x100 1668 d-cache-size = <0x10000>; 1948 d-cache-line-size = < 1669 d-cache-line-size = <64>; 1949 d-cache-sets = <256>; 1670 d-cache-sets = <256>; 1950 next-level-cache = <& 1671 next-level-cache = <&L2_DENVER>; 1951 reg = <0x000>; 1672 reg = <0x000>; 1952 }; 1673 }; 1953 1674 1954 denver_1: cpu@1 { 1675 denver_1: cpu@1 { 1955 compatible = "nvidia, 1676 compatible = "nvidia,tegra186-denver"; 1956 device_type = "cpu"; 1677 device_type = "cpu"; 1957 i-cache-size = <0x200 1678 i-cache-size = <0x20000>; 1958 i-cache-line-size = < 1679 i-cache-line-size = <64>; 1959 i-cache-sets = <512>; 1680 i-cache-sets = <512>; 1960 d-cache-size = <0x100 1681 d-cache-size = <0x10000>; 1961 d-cache-line-size = < 1682 d-cache-line-size = <64>; 1962 d-cache-sets = <256>; 1683 d-cache-sets = <256>; 1963 next-level-cache = <& 1684 next-level-cache = <&L2_DENVER>; 1964 reg = <0x001>; 1685 reg = <0x001>; 1965 }; 1686 }; 1966 1687 1967 ca57_0: cpu@2 { 1688 ca57_0: cpu@2 { 1968 compatible = "arm,cor 1689 compatible = "arm,cortex-a57"; 1969 device_type = "cpu"; 1690 device_type = "cpu"; 1970 i-cache-size = <0xC00 1691 i-cache-size = <0xC000>; 1971 i-cache-line-size = < 1692 i-cache-line-size = <64>; 1972 i-cache-sets = <256>; 1693 i-cache-sets = <256>; 1973 d-cache-size = <0x800 1694 d-cache-size = <0x8000>; 1974 d-cache-line-size = < 1695 d-cache-line-size = <64>; 1975 d-cache-sets = <256>; 1696 d-cache-sets = <256>; 1976 next-level-cache = <& 1697 next-level-cache = <&L2_A57>; 1977 reg = <0x100>; 1698 reg = <0x100>; 1978 }; 1699 }; 1979 1700 1980 ca57_1: cpu@3 { 1701 ca57_1: cpu@3 { 1981 compatible = "arm,cor 1702 compatible = "arm,cortex-a57"; 1982 device_type = "cpu"; 1703 device_type = "cpu"; 1983 i-cache-size = <0xC00 1704 i-cache-size = <0xC000>; 1984 i-cache-line-size = < 1705 i-cache-line-size = <64>; 1985 i-cache-sets = <256>; 1706 i-cache-sets = <256>; 1986 d-cache-size = <0x800 1707 d-cache-size = <0x8000>; 1987 d-cache-line-size = < 1708 d-cache-line-size = <64>; 1988 d-cache-sets = <256>; 1709 d-cache-sets = <256>; 1989 next-level-cache = <& 1710 next-level-cache = <&L2_A57>; 1990 reg = <0x101>; 1711 reg = <0x101>; 1991 }; 1712 }; 1992 1713 1993 ca57_2: cpu@4 { 1714 ca57_2: cpu@4 { 1994 compatible = "arm,cor 1715 compatible = "arm,cortex-a57"; 1995 device_type = "cpu"; 1716 device_type = "cpu"; 1996 i-cache-size = <0xC00 1717 i-cache-size = <0xC000>; 1997 i-cache-line-size = < 1718 i-cache-line-size = <64>; 1998 i-cache-sets = <256>; 1719 i-cache-sets = <256>; 1999 d-cache-size = <0x800 1720 d-cache-size = <0x8000>; 2000 d-cache-line-size = < 1721 d-cache-line-size = <64>; 2001 d-cache-sets = <256>; 1722 d-cache-sets = <256>; 2002 next-level-cache = <& 1723 next-level-cache = <&L2_A57>; 2003 reg = <0x102>; 1724 reg = <0x102>; 2004 }; 1725 }; 2005 1726 2006 ca57_3: cpu@5 { 1727 ca57_3: cpu@5 { 2007 compatible = "arm,cor 1728 compatible = "arm,cortex-a57"; 2008 device_type = "cpu"; 1729 device_type = "cpu"; 2009 i-cache-size = <0xC00 1730 i-cache-size = <0xC000>; 2010 i-cache-line-size = < 1731 i-cache-line-size = <64>; 2011 i-cache-sets = <256>; 1732 i-cache-sets = <256>; 2012 d-cache-size = <0x800 1733 d-cache-size = <0x8000>; 2013 d-cache-line-size = < 1734 d-cache-line-size = <64>; 2014 d-cache-sets = <256>; 1735 d-cache-sets = <256>; 2015 next-level-cache = <& 1736 next-level-cache = <&L2_A57>; 2016 reg = <0x103>; 1737 reg = <0x103>; 2017 }; 1738 }; 2018 1739 2019 L2_DENVER: l2-cache0 { 1740 L2_DENVER: l2-cache0 { 2020 compatible = "cache"; 1741 compatible = "cache"; 2021 cache-unified; 1742 cache-unified; 2022 cache-level = <2>; 1743 cache-level = <2>; 2023 cache-size = <0x20000 1744 cache-size = <0x200000>; 2024 cache-line-size = <64 1745 cache-line-size = <64>; 2025 cache-sets = <2048>; 1746 cache-sets = <2048>; 2026 }; 1747 }; 2027 1748 2028 L2_A57: l2-cache1 { 1749 L2_A57: l2-cache1 { 2029 compatible = "cache"; 1750 compatible = "cache"; 2030 cache-unified; 1751 cache-unified; 2031 cache-level = <2>; 1752 cache-level = <2>; 2032 cache-size = <0x20000 1753 cache-size = <0x200000>; 2033 cache-line-size = <64 1754 cache-line-size = <64>; 2034 cache-sets = <2048>; 1755 cache-sets = <2048>; 2035 }; 1756 }; 2036 }; 1757 }; 2037 1758 2038 pmu-a57 { !! 1759 pmu_denver { 2039 compatible = "arm,cortex-a57- !! 1760 compatible = "nvidia,denver-pmu", "arm,armv8-pmuv3"; >> 1761 interrupts = <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>, >> 1762 <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>; >> 1763 interrupt-affinity = <&denver_0 &denver_1>; >> 1764 }; >> 1765 >> 1766 pmu_a57 { >> 1767 compatible = "arm,cortex-a57-pmu", "arm,armv8-pmuv3"; 2040 interrupts = <GIC_SPI 296 IRQ 1768 interrupts = <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>, 2041 <GIC_SPI 297 IRQ 1769 <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>, 2042 <GIC_SPI 298 IRQ 1770 <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>, 2043 <GIC_SPI 299 IRQ 1771 <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>; 2044 interrupt-affinity = <&ca57_0 1772 interrupt-affinity = <&ca57_0 &ca57_1 &ca57_2 &ca57_3>; 2045 }; 1773 }; 2046 1774 2047 pmu-denver { << 2048 compatible = "nvidia,denver-p << 2049 interrupts = <GIC_SPI 320 IRQ << 2050 <GIC_SPI 321 IRQ << 2051 interrupt-affinity = <&denver << 2052 }; << 2053 << 2054 sound { 1775 sound { 2055 status = "disabled"; 1776 status = "disabled"; 2056 1777 2057 clocks = <&bpmp TEGRA186_CLK_ 1778 clocks = <&bpmp TEGRA186_CLK_PLLA>, 2058 <&bpmp TEGRA186_CLK_ 1779 <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 2059 clock-names = "pll_a", "plla_ 1780 clock-names = "pll_a", "plla_out0"; 2060 assigned-clocks = <&bpmp TEGR 1781 assigned-clocks = <&bpmp TEGRA186_CLK_PLLA>, 2061 <&bpmp TEGR 1782 <&bpmp TEGRA186_CLK_PLL_A_OUT0>, 2062 <&bpmp TEGR 1783 <&bpmp TEGRA186_CLK_AUD_MCLK>; 2063 assigned-clock-parents = <0>, 1784 assigned-clock-parents = <0>, 2064 <&bp 1785 <&bpmp TEGRA186_CLK_PLLA>, 2065 <&bp 1786 <&bpmp TEGRA186_CLK_PLL_A_OUT0>; 2066 /* 1787 /* 2067 * PLLA supports dynamic ramp 1788 * PLLA supports dynamic ramp. Below initial rate is chosen 2068 * for this to work and oscil 1789 * for this to work and oscillate between base rates required 2069 * for 8x and 11.025x sample 1790 * for 8x and 11.025x sample rate streams. 2070 */ 1791 */ 2071 assigned-clock-rates = <25800 1792 assigned-clock-rates = <258000000>; 2072 1793 2073 iommus = <&smmu TEGRA186_SID_ 1794 iommus = <&smmu TEGRA186_SID_APE>; 2074 }; 1795 }; 2075 1796 2076 thermal-zones { 1797 thermal-zones { 2077 /* Cortex-A57 cluster */ !! 1798 a57 { 2078 cpu-thermal { << 2079 polling-delay = <0>; 1799 polling-delay = <0>; 2080 polling-delay-passive 1800 polling-delay-passive = <1000>; 2081 1801 2082 thermal-sensors = <&b !! 1802 thermal-sensors = >> 1803 <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_CPU>; 2083 1804 2084 trips { 1805 trips { 2085 critical { 1806 critical { 2086 tempe 1807 temperature = <101000>; 2087 hyste 1808 hysteresis = <0>; 2088 type 1809 type = "critical"; 2089 }; 1810 }; 2090 }; 1811 }; 2091 1812 2092 cooling-maps { 1813 cooling-maps { 2093 }; 1814 }; 2094 }; 1815 }; 2095 1816 2096 /* Denver cluster */ !! 1817 denver { 2097 aux-thermal { << 2098 polling-delay = <0>; 1818 polling-delay = <0>; 2099 polling-delay-passive 1819 polling-delay-passive = <1000>; 2100 1820 2101 thermal-sensors = <&b !! 1821 thermal-sensors = >> 1822 <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_AUX>; 2102 1823 2103 trips { 1824 trips { 2104 critical { 1825 critical { 2105 tempe 1826 temperature = <101000>; 2106 hyste 1827 hysteresis = <0>; 2107 type 1828 type = "critical"; 2108 }; 1829 }; 2109 }; 1830 }; 2110 1831 2111 cooling-maps { 1832 cooling-maps { 2112 }; 1833 }; 2113 }; 1834 }; 2114 1835 2115 gpu-thermal { !! 1836 gpu { 2116 polling-delay = <0>; 1837 polling-delay = <0>; 2117 polling-delay-passive 1838 polling-delay-passive = <1000>; 2118 1839 2119 thermal-sensors = <&b !! 1840 thermal-sensors = >> 1841 <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_GPU>; 2120 1842 2121 trips { 1843 trips { 2122 critical { 1844 critical { 2123 tempe 1845 temperature = <101000>; 2124 hyste 1846 hysteresis = <0>; 2125 type 1847 type = "critical"; 2126 }; 1848 }; 2127 }; 1849 }; 2128 1850 2129 cooling-maps { 1851 cooling-maps { 2130 }; 1852 }; 2131 }; 1853 }; 2132 1854 2133 pll-thermal { !! 1855 pll { 2134 polling-delay = <0>; 1856 polling-delay = <0>; 2135 polling-delay-passive 1857 polling-delay-passive = <1000>; 2136 1858 2137 thermal-sensors = <&b !! 1859 thermal-sensors = >> 1860 <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_PLLX>; 2138 1861 2139 trips { 1862 trips { 2140 critical { 1863 critical { 2141 tempe 1864 temperature = <101000>; 2142 hyste 1865 hysteresis = <0>; 2143 type 1866 type = "critical"; 2144 }; 1867 }; 2145 }; 1868 }; 2146 1869 2147 cooling-maps { 1870 cooling-maps { 2148 }; 1871 }; 2149 }; 1872 }; 2150 1873 2151 ao-thermal { !! 1874 always_on { 2152 polling-delay = <0>; 1875 polling-delay = <0>; 2153 polling-delay-passive 1876 polling-delay-passive = <1000>; 2154 1877 2155 thermal-sensors = <&b !! 1878 thermal-sensors = >> 1879 <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_AO>; 2156 1880 2157 trips { 1881 trips { 2158 critical { 1882 critical { 2159 tempe 1883 temperature = <101000>; 2160 hyste 1884 hysteresis = <0>; 2161 type 1885 type = "critical"; 2162 }; 1886 }; 2163 }; 1887 }; 2164 1888 2165 cooling-maps { 1889 cooling-maps { 2166 }; 1890 }; 2167 }; 1891 }; 2168 }; 1892 }; 2169 1893 2170 timer { 1894 timer { 2171 compatible = "arm,armv8-timer 1895 compatible = "arm,armv8-timer"; 2172 interrupts = <GIC_PPI 13 1896 interrupts = <GIC_PPI 13 2173 (GIC_CPU_MASK 1897 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 2174 <GIC_PPI 14 1898 <GIC_PPI 14 2175 (GIC_CPU_MASK 1899 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 2176 <GIC_PPI 11 1900 <GIC_PPI 11 2177 (GIC_CPU_MASK 1901 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 2178 <GIC_PPI 10 1902 <GIC_PPI 10 2179 (GIC_CPU_MASK 1903 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 2180 interrupt-parent = <&gic>; 1904 interrupt-parent = <&gic>; 2181 always-on; 1905 always-on; 2182 }; 1906 }; 2183 }; 1907 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.