1 // SPDX-License-Identifier: GPL-2.0-only 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* 2 /* 3 * Copyright (c) 2015 MediaTek Inc. 3 * Copyright (c) 2015 MediaTek Inc. 4 * Copyright (C) 2023 Collabora Ltd. !! 4 * Author: Mars.C <mars.cheng@mediatek.com> 5 * Authors: Mars.C <mars.cheng@mediatek.com> << 6 * AngeloGioacchino Del Regno <angelog << 7 */ 5 */ 8 6 9 #include <dt-bindings/interrupt-controller/irq 7 #include <dt-bindings/interrupt-controller/irq.h> 10 #include <dt-bindings/interrupt-controller/arm 8 #include <dt-bindings/interrupt-controller/arm-gic.h> 11 #include <dt-bindings/clock/mediatek,mt6795-cl 9 #include <dt-bindings/clock/mediatek,mt6795-clk.h> 12 #include <dt-bindings/gce/mediatek,mt6795-gce. << 13 #include <dt-bindings/memory/mt6795-larb-port. << 14 #include <dt-bindings/pinctrl/mt6795-pinfunc.h 10 #include <dt-bindings/pinctrl/mt6795-pinfunc.h> 15 #include <dt-bindings/power/mt6795-power.h> << 16 #include <dt-bindings/reset/mediatek,mt6795-re 11 #include <dt-bindings/reset/mediatek,mt6795-resets.h> 17 12 18 / { 13 / { 19 compatible = "mediatek,mt6795"; 14 compatible = "mediatek,mt6795"; 20 interrupt-parent = <&sysirq>; 15 interrupt-parent = <&sysirq>; 21 #address-cells = <2>; 16 #address-cells = <2>; 22 #size-cells = <2>; 17 #size-cells = <2>; 23 18 24 aliases { << 25 ovl0 = &ovl0; << 26 ovl1 = &ovl1; << 27 rdma0 = &rdma0; << 28 rdma1 = &rdma1; << 29 rdma2 = &rdma2; << 30 wdma0 = &wdma0; << 31 wdma1 = &wdma1; << 32 color0 = &color0; << 33 color1 = &color1; << 34 split0 = &split0; << 35 split1 = &split1; << 36 dpi0 = &dpi0; << 37 dsi0 = &dsi0; << 38 dsi1 = &dsi1; << 39 }; << 40 << 41 psci { 19 psci { 42 compatible = "arm,psci-0.2"; 20 compatible = "arm,psci-0.2"; 43 method = "smc"; 21 method = "smc"; 44 }; 22 }; 45 23 46 cpus { 24 cpus { 47 #address-cells = <1>; 25 #address-cells = <1>; 48 #size-cells = <0>; 26 #size-cells = <0>; 49 27 50 cpu0: cpu@0 { 28 cpu0: cpu@0 { 51 device_type = "cpu"; 29 device_type = "cpu"; 52 compatible = "arm,cort 30 compatible = "arm,cortex-a53"; 53 enable-method = "psci" 31 enable-method = "psci"; 54 reg = <0x000>; 32 reg = <0x000>; 55 cci-control-port = <&c 33 cci-control-port = <&cci_control2>; 56 next-level-cache = <&l 34 next-level-cache = <&l2_0>; 57 }; 35 }; 58 36 59 cpu1: cpu@1 { 37 cpu1: cpu@1 { 60 device_type = "cpu"; 38 device_type = "cpu"; 61 compatible = "arm,cort 39 compatible = "arm,cortex-a53"; 62 enable-method = "psci" 40 enable-method = "psci"; 63 reg = <0x001>; 41 reg = <0x001>; 64 cci-control-port = <&c 42 cci-control-port = <&cci_control2>; 65 i-cache-size = <32768> 43 i-cache-size = <32768>; 66 i-cache-line-size = <6 44 i-cache-line-size = <64>; 67 i-cache-sets = <256>; 45 i-cache-sets = <256>; 68 d-cache-size = <32768> 46 d-cache-size = <32768>; 69 d-cache-line-size = <6 47 d-cache-line-size = <64>; 70 d-cache-sets = <128>; 48 d-cache-sets = <128>; 71 next-level-cache = <&l 49 next-level-cache = <&l2_0>; 72 }; 50 }; 73 51 74 cpu2: cpu@2 { 52 cpu2: cpu@2 { 75 device_type = "cpu"; 53 device_type = "cpu"; 76 compatible = "arm,cort 54 compatible = "arm,cortex-a53"; 77 enable-method = "psci" 55 enable-method = "psci"; 78 reg = <0x002>; 56 reg = <0x002>; 79 cci-control-port = <&c 57 cci-control-port = <&cci_control2>; 80 i-cache-size = <32768> 58 i-cache-size = <32768>; 81 i-cache-line-size = <6 59 i-cache-line-size = <64>; 82 i-cache-sets = <256>; 60 i-cache-sets = <256>; 83 d-cache-size = <32768> 61 d-cache-size = <32768>; 84 d-cache-line-size = <6 62 d-cache-line-size = <64>; 85 d-cache-sets = <128>; 63 d-cache-sets = <128>; 86 next-level-cache = <&l 64 next-level-cache = <&l2_0>; 87 }; 65 }; 88 66 89 cpu3: cpu@3 { 67 cpu3: cpu@3 { 90 device_type = "cpu"; 68 device_type = "cpu"; 91 compatible = "arm,cort 69 compatible = "arm,cortex-a53"; 92 enable-method = "psci" 70 enable-method = "psci"; 93 reg = <0x003>; 71 reg = <0x003>; 94 cci-control-port = <&c 72 cci-control-port = <&cci_control2>; 95 i-cache-size = <32768> 73 i-cache-size = <32768>; 96 i-cache-line-size = <6 74 i-cache-line-size = <64>; 97 i-cache-sets = <256>; 75 i-cache-sets = <256>; 98 d-cache-size = <32768> 76 d-cache-size = <32768>; 99 d-cache-line-size = <6 77 d-cache-line-size = <64>; 100 d-cache-sets = <128>; 78 d-cache-sets = <128>; 101 next-level-cache = <&l 79 next-level-cache = <&l2_0>; 102 }; 80 }; 103 81 104 cpu4: cpu@100 { 82 cpu4: cpu@100 { 105 device_type = "cpu"; 83 device_type = "cpu"; 106 compatible = "arm,cort 84 compatible = "arm,cortex-a53"; 107 enable-method = "psci" 85 enable-method = "psci"; 108 reg = <0x100>; 86 reg = <0x100>; 109 cci-control-port = <&c 87 cci-control-port = <&cci_control1>; 110 i-cache-size = <32768> 88 i-cache-size = <32768>; 111 i-cache-line-size = <6 89 i-cache-line-size = <64>; 112 i-cache-sets = <256>; 90 i-cache-sets = <256>; 113 d-cache-size = <32768> 91 d-cache-size = <32768>; 114 d-cache-line-size = <6 92 d-cache-line-size = <64>; 115 d-cache-sets = <128>; 93 d-cache-sets = <128>; 116 next-level-cache = <&l 94 next-level-cache = <&l2_1>; 117 }; 95 }; 118 96 119 cpu5: cpu@101 { 97 cpu5: cpu@101 { 120 device_type = "cpu"; 98 device_type = "cpu"; 121 compatible = "arm,cort 99 compatible = "arm,cortex-a53"; 122 enable-method = "psci" 100 enable-method = "psci"; 123 reg = <0x101>; 101 reg = <0x101>; 124 cci-control-port = <&c 102 cci-control-port = <&cci_control1>; 125 i-cache-size = <32768> 103 i-cache-size = <32768>; 126 i-cache-line-size = <6 104 i-cache-line-size = <64>; 127 i-cache-sets = <256>; 105 i-cache-sets = <256>; 128 d-cache-size = <32768> 106 d-cache-size = <32768>; 129 d-cache-line-size = <6 107 d-cache-line-size = <64>; 130 d-cache-sets = <128>; 108 d-cache-sets = <128>; 131 next-level-cache = <&l 109 next-level-cache = <&l2_1>; 132 }; 110 }; 133 111 134 cpu6: cpu@102 { 112 cpu6: cpu@102 { 135 device_type = "cpu"; 113 device_type = "cpu"; 136 compatible = "arm,cort 114 compatible = "arm,cortex-a53"; 137 enable-method = "psci" 115 enable-method = "psci"; 138 reg = <0x102>; 116 reg = <0x102>; 139 cci-control-port = <&c 117 cci-control-port = <&cci_control1>; 140 i-cache-size = <32768> 118 i-cache-size = <32768>; 141 i-cache-line-size = <6 119 i-cache-line-size = <64>; 142 i-cache-sets = <256>; 120 i-cache-sets = <256>; 143 d-cache-size = <32768> 121 d-cache-size = <32768>; 144 d-cache-line-size = <6 122 d-cache-line-size = <64>; 145 d-cache-sets = <128>; 123 d-cache-sets = <128>; 146 next-level-cache = <&l 124 next-level-cache = <&l2_1>; 147 }; 125 }; 148 126 149 cpu7: cpu@103 { 127 cpu7: cpu@103 { 150 device_type = "cpu"; 128 device_type = "cpu"; 151 compatible = "arm,cort 129 compatible = "arm,cortex-a53"; 152 enable-method = "psci" 130 enable-method = "psci"; 153 reg = <0x103>; 131 reg = <0x103>; 154 cci-control-port = <&c 132 cci-control-port = <&cci_control1>; 155 i-cache-size = <32768> 133 i-cache-size = <32768>; 156 i-cache-line-size = <6 134 i-cache-line-size = <64>; 157 i-cache-sets = <256>; 135 i-cache-sets = <256>; 158 d-cache-size = <32768> 136 d-cache-size = <32768>; 159 d-cache-line-size = <6 137 d-cache-line-size = <64>; 160 d-cache-sets = <128>; 138 d-cache-sets = <128>; 161 next-level-cache = <&l 139 next-level-cache = <&l2_1>; 162 }; 140 }; 163 141 164 cpu-map { 142 cpu-map { 165 cluster0 { 143 cluster0 { 166 core0 { 144 core0 { 167 cpu = 145 cpu = <&cpu0>; 168 }; 146 }; 169 147 170 core1 { 148 core1 { 171 cpu = 149 cpu = <&cpu1>; 172 }; 150 }; 173 151 174 core2 { 152 core2 { 175 cpu = 153 cpu = <&cpu2>; 176 }; 154 }; 177 155 178 core3 { 156 core3 { 179 cpu = 157 cpu = <&cpu3>; 180 }; 158 }; 181 }; 159 }; 182 160 183 cluster1 { 161 cluster1 { 184 core0 { 162 core0 { 185 cpu = 163 cpu = <&cpu4>; 186 }; 164 }; 187 165 188 core1 { 166 core1 { 189 cpu = 167 cpu = <&cpu5>; 190 }; 168 }; 191 169 192 core2 { 170 core2 { 193 cpu = 171 cpu = <&cpu6>; 194 }; 172 }; 195 173 196 core3 { 174 core3 { 197 cpu = 175 cpu = <&cpu7>; 198 }; 176 }; 199 }; 177 }; 200 }; 178 }; 201 179 202 l2_0: l2-cache0 { 180 l2_0: l2-cache0 { 203 compatible = "cache"; 181 compatible = "cache"; 204 cache-level = <2>; 182 cache-level = <2>; 205 cache-size = <1048576> 183 cache-size = <1048576>; 206 cache-line-size = <64> 184 cache-line-size = <64>; 207 cache-sets = <1024>; 185 cache-sets = <1024>; 208 cache-unified; 186 cache-unified; 209 }; 187 }; 210 188 211 l2_1: l2-cache1 { 189 l2_1: l2-cache1 { 212 compatible = "cache"; 190 compatible = "cache"; 213 cache-level = <2>; 191 cache-level = <2>; 214 cache-size = <1048576> 192 cache-size = <1048576>; 215 cache-line-size = <64> 193 cache-line-size = <64>; 216 cache-sets = <1024>; 194 cache-sets = <1024>; 217 cache-unified; 195 cache-unified; 218 }; 196 }; 219 }; 197 }; 220 198 221 clk26m: oscillator-26m { 199 clk26m: oscillator-26m { 222 compatible = "fixed-clock"; 200 compatible = "fixed-clock"; 223 #clock-cells = <0>; 201 #clock-cells = <0>; 224 clock-frequency = <26000000>; 202 clock-frequency = <26000000>; 225 clock-output-names = "clk26m"; 203 clock-output-names = "clk26m"; 226 }; 204 }; 227 205 228 clk32k: oscillator-32k { 206 clk32k: oscillator-32k { 229 compatible = "fixed-clock"; 207 compatible = "fixed-clock"; 230 #clock-cells = <0>; 208 #clock-cells = <0>; 231 clock-frequency = <32000>; 209 clock-frequency = <32000>; 232 clock-output-names = "clk32k"; 210 clock-output-names = "clk32k"; 233 }; 211 }; 234 212 235 system_clk: dummy13m { 213 system_clk: dummy13m { 236 compatible = "fixed-clock"; 214 compatible = "fixed-clock"; 237 clock-frequency = <13000000>; 215 clock-frequency = <13000000>; 238 #clock-cells = <0>; 216 #clock-cells = <0>; 239 }; 217 }; 240 218 241 pmu { 219 pmu { 242 compatible = "arm,cortex-a53-p 220 compatible = "arm,cortex-a53-pmu"; 243 interrupts = <GIC_SPI 8 IRQ_T 221 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_LOW>, 244 <GIC_SPI 9 IRQ_T 222 <GIC_SPI 9 IRQ_TYPE_LEVEL_LOW>, 245 <GIC_SPI 10 IRQ_T 223 <GIC_SPI 10 IRQ_TYPE_LEVEL_LOW>, 246 <GIC_SPI 11 IRQ_T 224 <GIC_SPI 11 IRQ_TYPE_LEVEL_LOW>; 247 interrupt-affinity = <&cpu0>, 225 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 248 }; 226 }; 249 227 250 timer { 228 timer { 251 compatible = "arm,armv8-timer" 229 compatible = "arm,armv8-timer"; 252 interrupt-parent = <&gic>; 230 interrupt-parent = <&gic>; 253 interrupts = <GIC_PPI 13 231 interrupts = <GIC_PPI 13 254 (GIC_CPU_MASK_SIM 232 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 255 <GIC_PPI 14 233 <GIC_PPI 14 256 (GIC_CPU_MASK_SIM 234 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 257 <GIC_PPI 11 235 <GIC_PPI 11 258 (GIC_CPU_MASK_SIM 236 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 259 <GIC_PPI 10 237 <GIC_PPI 10 260 (GIC_CPU_MASK_SIM 238 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; 261 }; 239 }; 262 240 263 soc { 241 soc { 264 #address-cells = <2>; 242 #address-cells = <2>; 265 #size-cells = <2>; 243 #size-cells = <2>; 266 compatible = "simple-bus"; 244 compatible = "simple-bus"; 267 ranges; 245 ranges; 268 246 269 topckgen: syscon@10000000 { 247 topckgen: syscon@10000000 { 270 compatible = "mediatek 248 compatible = "mediatek,mt6795-topckgen", "syscon"; 271 reg = <0 0x10000000 0 249 reg = <0 0x10000000 0 0x1000>; 272 #clock-cells = <1>; 250 #clock-cells = <1>; 273 }; 251 }; 274 252 275 infracfg: syscon@10001000 { 253 infracfg: syscon@10001000 { 276 compatible = "mediatek 254 compatible = "mediatek,mt6795-infracfg", "syscon"; 277 reg = <0 0x10001000 0 255 reg = <0 0x10001000 0 0x1000>; 278 #clock-cells = <1>; 256 #clock-cells = <1>; 279 #reset-cells = <1>; 257 #reset-cells = <1>; 280 }; 258 }; 281 259 282 pericfg: syscon@10003000 { 260 pericfg: syscon@10003000 { 283 compatible = "mediatek 261 compatible = "mediatek,mt6795-pericfg", "syscon"; 284 reg = <0 0x10003000 0 262 reg = <0 0x10003000 0 0x1000>; 285 #clock-cells = <1>; 263 #clock-cells = <1>; 286 #reset-cells = <1>; 264 #reset-cells = <1>; 287 }; 265 }; 288 266 289 scpsys: syscon@10006000 { << 290 compatible = "syscon", << 291 reg = <0 0x10006000 0 << 292 #power-domain-cells = << 293 << 294 /* System Power Manage << 295 spm: power-controller << 296 compatible = " << 297 #address-cells << 298 #size-cells = << 299 #power-domain- << 300 << 301 /* power domai << 302 power-domain@M << 303 reg = << 304 clocks << 305 clock- << 306 #power << 307 }; << 308 power-domain@M << 309 reg = << 310 clocks << 311 << 312 clock- << 313 #power << 314 }; << 315 power-domain@M << 316 reg = << 317 clocks << 318 clock- << 319 #power << 320 }; << 321 << 322 power-domain@M << 323 reg = << 324 clocks << 325 clock- << 326 #power << 327 mediat << 328 }; << 329 << 330 power-domain@M << 331 reg = << 332 clocks << 333 << 334 clock- << 335 #power << 336 }; << 337 << 338 power-domain@M << 339 reg = << 340 #power << 341 }; << 342 << 343 mfg_async: pow << 344 reg = << 345 clocks << 346 clock- << 347 #addre << 348 #size- << 349 #power << 350 << 351 power- << 352 << 353 << 354 << 355 << 356 << 357 << 358 << 359 << 360 << 361 << 362 }; << 363 }; << 364 }; << 365 }; << 366 << 367 pio: pinctrl@10005000 { 267 pio: pinctrl@10005000 { 368 compatible = "mediatek 268 compatible = "mediatek,mt6795-pinctrl"; 369 reg = <0 0x10005000 0 269 reg = <0 0x10005000 0 0x1000>, <0 0x1000b000 0 0x1000>; 370 reg-names = "base", "e 270 reg-names = "base", "eint"; 371 interrupts = <GIC_SPI 271 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>, 372 <GIC_SPI 272 <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; 373 gpio-controller; 273 gpio-controller; 374 #gpio-cells = <2>; 274 #gpio-cells = <2>; 375 gpio-ranges = <&pio 0 275 gpio-ranges = <&pio 0 0 196>; 376 interrupt-controller; 276 interrupt-controller; 377 #interrupt-cells = <2> 277 #interrupt-cells = <2>; 378 }; 278 }; 379 279 380 watchdog: watchdog@10007000 { 280 watchdog: watchdog@10007000 { 381 compatible = "mediatek 281 compatible = "mediatek,mt6795-wdt"; 382 reg = <0 0x10007000 0 282 reg = <0 0x10007000 0 0x100>; 383 interrupts = <GIC_SPI 283 interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_LOW>; 384 #reset-cells = <1>; 284 #reset-cells = <1>; 385 timeout-sec = <20>; 285 timeout-sec = <20>; 386 }; 286 }; 387 287 388 timer: timer@10008000 { 288 timer: timer@10008000 { 389 compatible = "mediatek 289 compatible = "mediatek,mt6795-timer", 390 "mediatek 290 "mediatek,mt6577-timer"; 391 reg = <0 0x10008000 0 291 reg = <0 0x10008000 0 0x1000>; 392 interrupts = <GIC_SPI 292 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_LOW>; 393 clocks = <&system_clk> 293 clocks = <&system_clk>, <&clk32k>; 394 }; 294 }; 395 295 396 pwrap: pwrap@1000d000 { << 397 compatible = "mediatek << 398 reg = <0 0x1000d000 0 << 399 reg-names = "pwrap"; << 400 interrupts = <GIC_SPI << 401 resets = <&infracfg MT << 402 reset-names = "pwrap"; << 403 clocks = <&topckgen CL << 404 clock-names = "spi", " << 405 }; << 406 << 407 sysirq: intpol-controller@1020 296 sysirq: intpol-controller@10200620 { 408 compatible = "mediatek 297 compatible = "mediatek,mt6795-sysirq", 409 "mediatek 298 "mediatek,mt6577-sysirq"; 410 interrupt-controller; 299 interrupt-controller; 411 #interrupt-cells = <3> 300 #interrupt-cells = <3>; 412 interrupt-parent = <&g 301 interrupt-parent = <&gic>; 413 reg = <0 0x10200620 0 302 reg = <0 0x10200620 0 0x20>; 414 }; 303 }; 415 304 416 systimer: timer@10200670 { 305 systimer: timer@10200670 { 417 compatible = "mediatek 306 compatible = "mediatek,mt6795-systimer"; 418 reg = <0 0x10200670 0 307 reg = <0 0x10200670 0 0x10>; 419 interrupts = <GIC_SPI 308 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 420 clocks = <&system_clk> 309 clocks = <&system_clk>; 421 clock-names = "clk13m" 310 clock-names = "clk13m"; 422 }; 311 }; 423 312 424 iommu: iommu@10205000 { << 425 compatible = "mediatek << 426 reg = <0 0x10205000 0 << 427 clocks = <&infracfg CL << 428 clock-names = "bclk"; << 429 interrupts = <GIC_SPI << 430 mediatek,larbs = <&lar << 431 power-domains = <&spm << 432 #iommu-cells = <1>; << 433 }; << 434 << 435 apmixedsys: syscon@10209000 { << 436 compatible = "mediatek << 437 reg = <0 0x10209000 0 << 438 #clock-cells = <1>; << 439 }; << 440 << 441 fhctl: clock-controller@10209f << 442 compatible = "mediatek << 443 reg = <0 0x10209f00 0 << 444 status = "disabled"; << 445 }; << 446 << 447 gce: mailbox@10212000 { << 448 compatible = "mediatek << 449 reg = <0 0x10212000 0 << 450 interrupts = <GIC_SPI << 451 clocks = <&infracfg CL << 452 clock-names = "gce"; << 453 #mbox-cells = <2>; << 454 }; << 455 << 456 mipi_tx0: dsi-phy@10215000 { << 457 compatible = "mediatek << 458 reg = <0 0x10215000 0 << 459 clocks = <&clk26m>; << 460 clock-output-names = " << 461 #clock-cells = <0>; << 462 #phy-cells = <0>; << 463 status = "disabled"; << 464 }; << 465 << 466 mipi_tx1: dsi-phy@10216000 { << 467 compatible = "mediatek << 468 reg = <0 0x10216000 0 << 469 clocks = <&clk26m>; << 470 clock-output-names = " << 471 #clock-cells = <0>; << 472 #phy-cells = <0>; << 473 status = "disabled"; << 474 }; << 475 << 476 gic: interrupt-controller@1022 313 gic: interrupt-controller@10221000 { 477 compatible = "arm,gic- 314 compatible = "arm,gic-400"; 478 #interrupt-cells = <3> 315 #interrupt-cells = <3>; 479 interrupt-parent = <&g 316 interrupt-parent = <&gic>; 480 interrupt-controller; 317 interrupt-controller; 481 reg = <0 0x10221000 0 318 reg = <0 0x10221000 0 0x1000>, 482 <0 0x10222000 0 319 <0 0x10222000 0 0x2000>, 483 <0 0x10224000 0 320 <0 0x10224000 0 0x2000>, 484 <0 0x10226000 0 321 <0 0x10226000 0 0x2000>; 485 interrupts = <GIC_PPI 322 interrupts = <GIC_PPI 9 486 (GIC_CPU_MASK_ 323 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 487 }; 324 }; 488 325 489 cci: cci@10390000 { 326 cci: cci@10390000 { 490 compatible = "arm,cci- 327 compatible = "arm,cci-400"; 491 #address-cells = <1>; 328 #address-cells = <1>; 492 #size-cells = <1>; 329 #size-cells = <1>; 493 reg = <0 0x10390000 0 330 reg = <0 0x10390000 0 0x1000>; 494 ranges = <0 0 0x103900 331 ranges = <0 0 0x10390000 0x10000>; 495 332 496 cci_control0: slave-if 333 cci_control0: slave-if@1000 { 497 compatible = " 334 compatible = "arm,cci-400-ctrl-if"; 498 interface-type 335 interface-type = "ace-lite"; 499 reg = <0x1000 336 reg = <0x1000 0x1000>; 500 }; 337 }; 501 338 502 cci_control1: slave-if 339 cci_control1: slave-if@4000 { 503 compatible = " 340 compatible = "arm,cci-400-ctrl-if"; 504 interface-type 341 interface-type = "ace"; 505 reg = <0x4000 342 reg = <0x4000 0x1000>; 506 }; 343 }; 507 344 508 cci_control2: slave-if 345 cci_control2: slave-if@5000 { 509 compatible = " 346 compatible = "arm,cci-400-ctrl-if"; 510 interface-type 347 interface-type = "ace"; 511 reg = <0x5000 348 reg = <0x5000 0x1000>; 512 }; 349 }; 513 350 514 pmu@9000 { 351 pmu@9000 { 515 compatible = " 352 compatible = "arm,cci-400-pmu,r1"; 516 reg = <0x9000 353 reg = <0x9000 0x5000>; 517 interrupts = < 354 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, 518 < 355 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 519 < 356 <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, 520 < 357 <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>, 521 < 358 <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 522 }; 359 }; 523 }; 360 }; 524 361 525 uart0: serial@11002000 { 362 uart0: serial@11002000 { 526 compatible = "mediatek 363 compatible = "mediatek,mt6795-uart", 527 "mediatek 364 "mediatek,mt6577-uart"; 528 reg = <0 0x11002000 0 365 reg = <0 0x11002000 0 0x400>; 529 interrupts = <GIC_SPI 366 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>; 530 clocks = <&pericfg CLK 367 clocks = <&pericfg CLK_PERI_UART0_SEL>, <&pericfg CLK_PERI_UART0>; 531 clock-names = "baud", 368 clock-names = "baud", "bus"; 532 dmas = <&apdma 0>, <&a 369 dmas = <&apdma 0>, <&apdma 1>; 533 dma-names = "tx", "rx" 370 dma-names = "tx", "rx"; 534 status = "disabled"; 371 status = "disabled"; 535 }; 372 }; 536 373 537 uart1: serial@11003000 { 374 uart1: serial@11003000 { 538 compatible = "mediatek 375 compatible = "mediatek,mt6795-uart", 539 "mediatek 376 "mediatek,mt6577-uart"; 540 reg = <0 0x11003000 0 377 reg = <0 0x11003000 0 0x400>; 541 interrupts = <GIC_SPI 378 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>; 542 clocks = <&pericfg CLK 379 clocks = <&pericfg CLK_PERI_UART1_SEL>, <&pericfg CLK_PERI_UART1>; 543 clock-names = "baud", 380 clock-names = "baud", "bus"; 544 dmas = <&apdma 2>, <&a 381 dmas = <&apdma 2>, <&apdma 3>; 545 dma-names = "tx", "rx" 382 dma-names = "tx", "rx"; 546 status = "disabled"; 383 status = "disabled"; 547 }; 384 }; 548 385 549 apdma: dma-controller@11000380 386 apdma: dma-controller@11000380 { 550 compatible = "mediatek 387 compatible = "mediatek,mt6795-uart-dma", 551 "mediatek 388 "mediatek,mt6577-uart-dma"; 552 reg = <0 0x11000380 0 389 reg = <0 0x11000380 0 0x60>, 553 <0 0x11000400 0 390 <0 0x11000400 0 0x60>, 554 <0 0x11000480 0 391 <0 0x11000480 0 0x60>, 555 <0 0x11000500 0 392 <0 0x11000500 0 0x60>, 556 <0 0x11000580 0 393 <0 0x11000580 0 0x60>, 557 <0 0x11000600 0 394 <0 0x11000600 0 0x60>, 558 <0 0x11000680 0 395 <0 0x11000680 0 0x60>, 559 <0 0x11000700 0 396 <0 0x11000700 0 0x60>; 560 interrupts = <GIC_SPI 397 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_LOW>, 561 <GIC_SPI 398 <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>, 562 <GIC_SPI 399 <GIC_SPI 105 IRQ_TYPE_LEVEL_LOW>, 563 <GIC_SPI 400 <GIC_SPI 106 IRQ_TYPE_LEVEL_LOW>, 564 <GIC_SPI 401 <GIC_SPI 107 IRQ_TYPE_LEVEL_LOW>, 565 <GIC_SPI 402 <GIC_SPI 108 IRQ_TYPE_LEVEL_LOW>, 566 <GIC_SPI 403 <GIC_SPI 109 IRQ_TYPE_LEVEL_LOW>, 567 <GIC_SPI 404 <GIC_SPI 110 IRQ_TYPE_LEVEL_LOW>; 568 dma-requests = <8>; 405 dma-requests = <8>; 569 clocks = <&pericfg CLK 406 clocks = <&pericfg CLK_PERI_AP_DMA>; 570 clock-names = "apdma"; 407 clock-names = "apdma"; 571 mediatek,dma-33bits; 408 mediatek,dma-33bits; 572 #dma-cells = <1>; 409 #dma-cells = <1>; 573 }; 410 }; 574 411 575 uart2: serial@11004000 { 412 uart2: serial@11004000 { 576 compatible = "mediatek 413 compatible = "mediatek,mt6795-uart", 577 "mediatek 414 "mediatek,mt6577-uart"; 578 reg = <0 0x11004000 0 415 reg = <0 0x11004000 0 0x400>; 579 interrupts = <GIC_SPI 416 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_LOW>; 580 clocks = <&pericfg CLK 417 clocks = <&pericfg CLK_PERI_UART2_SEL>, <&pericfg CLK_PERI_UART2>; 581 clock-names = "baud", 418 clock-names = "baud", "bus"; 582 dmas = <&apdma 4>, <&a 419 dmas = <&apdma 4>, <&apdma 5>; 583 dma-names = "tx", "rx" 420 dma-names = "tx", "rx"; 584 status = "disabled"; 421 status = "disabled"; 585 }; 422 }; 586 423 587 uart3: serial@11005000 { 424 uart3: serial@11005000 { 588 compatible = "mediatek 425 compatible = "mediatek,mt6795-uart", 589 "mediatek 426 "mediatek,mt6577-uart"; 590 reg = <0 0x11005000 0 427 reg = <0 0x11005000 0 0x400>; 591 interrupts = <GIC_SPI 428 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_LOW>; 592 clocks = <&pericfg CLK 429 clocks = <&pericfg CLK_PERI_UART3_SEL>, <&pericfg CLK_PERI_UART3>; 593 clock-names = "baud", 430 clock-names = "baud", "bus"; 594 dmas = <&apdma 6>, <&a 431 dmas = <&apdma 6>, <&apdma 7>; 595 dma-names = "tx", "rx" 432 dma-names = "tx", "rx"; 596 status = "disabled"; 433 status = "disabled"; 597 }; 434 }; 598 435 599 pwm2: pwm@11006000 { << 600 compatible = "mediatek << 601 reg = <0 0x11006000 0 << 602 #pwm-cells = <2>; << 603 interrupts = <GIC_SPI << 604 clocks = <&topckgen CL << 605 <&pericfg CLK << 606 <&pericfg CLK << 607 <&pericfg CLK << 608 <&pericfg CLK << 609 <&pericfg CLK << 610 <&pericfg CLK << 611 <&pericfg CLK << 612 <&pericfg CLK << 613 clock-names = "top", " << 614 "pwm4", << 615 status = "disabled"; << 616 }; << 617 << 618 i2c0: i2c@11007000 { << 619 compatible = "mediatek << 620 reg = <0 0x11007000 0 << 621 interrupts = <GIC_SPI << 622 clock-div = <16>; << 623 clocks = <&pericfg CLK << 624 clock-names = "main", << 625 #address-cells = <1>; << 626 #size-cells = <0>; << 627 status = "disabled"; << 628 }; << 629 << 630 i2c1: i2c@11008000 { << 631 compatible = "mediatek << 632 reg = <0 0x11008000 0 << 633 interrupts = <GIC_SPI << 634 clock-div = <16>; << 635 clocks = <&pericfg CLK << 636 clock-names = "main", << 637 #address-cells = <1>; << 638 #size-cells = <0>; << 639 status = "disabled"; << 640 }; << 641 << 642 i2c2: i2c@11009000 { << 643 compatible = "mediatek << 644 reg = <0 0x11009000 0 << 645 interrupts = <GIC_SPI << 646 clock-div = <16>; << 647 clocks = <&pericfg CLK << 648 clock-names = "main", << 649 #address-cells = <1>; << 650 #size-cells = <0>; << 651 status = "disabled"; << 652 }; << 653 << 654 i2c3: i2c@11010000 { << 655 compatible = "mediatek << 656 reg = <0 0x11010000 0 << 657 interrupts = <GIC_SPI << 658 clock-div = <16>; << 659 clocks = <&pericfg CLK << 660 clock-names = "main", << 661 #address-cells = <1>; << 662 #size-cells = <0>; << 663 status = "disabled"; << 664 }; << 665 << 666 i2c4: i2c@11011000 { << 667 compatible = "mediatek << 668 reg = <0 0x11011000 0 << 669 interrupts = <GIC_SPI << 670 clock-div = <16>; << 671 clocks = <&pericfg CLK << 672 clock-names = "main", << 673 #address-cells = <1>; << 674 #size-cells = <0>; << 675 status = "disabled"; << 676 }; << 677 << 678 mmc0: mmc@11230000 { 436 mmc0: mmc@11230000 { 679 compatible = "mediatek 437 compatible = "mediatek,mt6795-mmc"; 680 reg = <0 0x11230000 0 438 reg = <0 0x11230000 0 0x1000>; 681 interrupts = <GIC_SPI 439 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_LOW>; 682 clocks = <&pericfg CLK 440 clocks = <&pericfg CLK_PERI_MSDC30_0>, 683 <&topckgen CL 441 <&topckgen CLK_TOP_MSDC50_0_H_SEL>, 684 <&topckgen CL 442 <&topckgen CLK_TOP_MSDC50_0_SEL>; 685 clock-names = "source" 443 clock-names = "source", "hclk", "source_cg"; 686 status = "disabled"; 444 status = "disabled"; 687 }; 445 }; 688 446 689 mmc1: mmc@11240000 { 447 mmc1: mmc@11240000 { 690 compatible = "mediatek 448 compatible = "mediatek,mt6795-mmc"; 691 reg = <0 0x11240000 0 449 reg = <0 0x11240000 0 0x1000>; 692 interrupts = <GIC_SPI 450 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_LOW>; 693 clocks = <&pericfg CLK 451 clocks = <&pericfg CLK_PERI_MSDC30_1>, 694 <&topckgen CL 452 <&topckgen CLK_TOP_AXI_SEL>; 695 clock-names = "source" 453 clock-names = "source", "hclk"; 696 status = "disabled"; 454 status = "disabled"; 697 }; 455 }; 698 456 699 mmc2: mmc@11250000 { 457 mmc2: mmc@11250000 { 700 compatible = "mediatek 458 compatible = "mediatek,mt6795-mmc"; 701 reg = <0 0x11250000 0 459 reg = <0 0x11250000 0 0x1000>; 702 interrupts = <GIC_SPI 460 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_LOW>; 703 clocks = <&pericfg CLK 461 clocks = <&pericfg CLK_PERI_MSDC30_2>, 704 <&topckgen CL 462 <&topckgen CLK_TOP_AXI_SEL>; 705 clock-names = "source" 463 clock-names = "source", "hclk"; 706 status = "disabled"; 464 status = "disabled"; 707 }; 465 }; 708 466 709 mmc3: mmc@11260000 { 467 mmc3: mmc@11260000 { 710 compatible = "mediatek 468 compatible = "mediatek,mt6795-mmc"; 711 reg = <0 0x11260000 0 469 reg = <0 0x11260000 0 0x1000>; 712 interrupts = <GIC_SPI 470 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_LOW>; 713 clocks = <&pericfg CLK 471 clocks = <&pericfg CLK_PERI_MSDC30_3>, 714 <&topckgen CL 472 <&topckgen CLK_TOP_AXI_SEL>; 715 clock-names = "source" 473 clock-names = "source", "hclk"; 716 status = "disabled"; 474 status = "disabled"; 717 }; << 718 << 719 mmsys: syscon@14000000 { << 720 compatible = "mediatek << 721 reg = <0 0x14000000 0 << 722 power-domains = <&spm << 723 assigned-clocks = <&to << 724 assigned-clock-rates = << 725 #clock-cells = <1>; << 726 #reset-cells = <1>; << 727 mboxes = <&gce 0 CMDQ_ << 728 <&gce 1 CMDQ_ << 729 mediatek,gce-client-re << 730 }; << 731 << 732 ovl0: ovl@1400c000 { << 733 compatible = "mediatek << 734 reg = <0 0x1400c000 0 << 735 interrupts = <GIC_SPI << 736 power-domains = <&spm << 737 clocks = <&mmsys CLK_M << 738 iommus = <&iommu M4U_P << 739 mediatek,gce-client-re << 740 }; << 741 << 742 ovl1: ovl@1400d000 { << 743 compatible = "mediatek << 744 reg = <0 0x1400d000 0 << 745 interrupts = <GIC_SPI << 746 power-domains = <&spm << 747 clocks = <&mmsys CLK_M << 748 iommus = <&iommu M4U_P << 749 mediatek,gce-client-re << 750 }; << 751 << 752 rdma0: rdma@1400e000 { << 753 compatible = "mediatek << 754 reg = <0 0x1400e000 0 << 755 interrupts = <GIC_SPI << 756 power-domains = <&spm << 757 clocks = <&mmsys CLK_M << 758 iommus = <&iommu M4U_P << 759 mediatek,gce-client-re << 760 }; << 761 << 762 rdma1: rdma@1400f000 { << 763 compatible = "mediatek << 764 reg = <0 0x1400f000 0 << 765 interrupts = <GIC_SPI << 766 power-domains = <&spm << 767 clocks = <&mmsys CLK_M << 768 iommus = <&iommu M4U_P << 769 mediatek,gce-client-re << 770 }; << 771 << 772 rdma2: rdma@14010000 { << 773 compatible = "mediatek << 774 reg = <0 0x14010000 0 << 775 interrupts = <GIC_SPI << 776 power-domains = <&spm << 777 clocks = <&mmsys CLK_M << 778 iommus = <&iommu M4U_P << 779 mediatek,gce-client-re << 780 }; << 781 << 782 wdma0: wdma@14011000 { << 783 compatible = "mediatek << 784 reg = <0 0x14011000 0 << 785 interrupts = <GIC_SPI << 786 power-domains = <&spm << 787 clocks = <&mmsys CLK_M << 788 iommus = <&iommu M4U_P << 789 mediatek,gce-client-re << 790 }; << 791 << 792 wdma1: wdma@14012000 { << 793 compatible = "mediatek << 794 reg = <0 0x14012000 0 << 795 interrupts = <GIC_SPI << 796 power-domains = <&spm << 797 clocks = <&mmsys CLK_M << 798 iommus = <&iommu M4U_P << 799 mediatek,gce-client-re << 800 }; << 801 << 802 color0: color@14013000 { << 803 compatible = "mediatek << 804 reg = <0 0x14013000 0 << 805 interrupts = <GIC_SPI << 806 power-domains = <&spm << 807 clocks = <&mmsys CLK_M << 808 mediatek,gce-client-re << 809 }; << 810 << 811 color1: color@14014000 { << 812 compatible = "mediatek << 813 reg = <0 0x14014000 0 << 814 interrupts = <GIC_SPI << 815 power-domains = <&spm << 816 clocks = <&mmsys CLK_M << 817 mediatek,gce-client-re << 818 }; << 819 << 820 aal@14015000 { << 821 compatible = "mediatek << 822 reg = <0 0x14015000 0 << 823 interrupts = <GIC_SPI << 824 power-domains = <&spm << 825 clocks = <&mmsys CLK_M << 826 mediatek,gce-client-re << 827 }; << 828 << 829 gamma@14016000 { << 830 compatible = "mediatek << 831 reg = <0 0x14016000 0 << 832 interrupts = <GIC_SPI << 833 power-domains = <&spm << 834 clocks = <&mmsys CLK_M << 835 mediatek,gce-client-re << 836 }; << 837 << 838 merge@14017000 { << 839 compatible = "mediatek << 840 reg = <0 0x14017000 0 << 841 power-domains = <&spm << 842 clocks = <&mmsys CLK_M << 843 }; << 844 << 845 split0: split@14018000 { << 846 compatible = "mediatek << 847 reg = <0 0x14018000 0 << 848 power-domains = <&spm << 849 clocks = <&mmsys CLK_M << 850 }; << 851 << 852 split1: split@14019000 { << 853 compatible = "mediatek << 854 reg = <0 0x14019000 0 << 855 power-domains = <&spm << 856 clocks = <&mmsys CLK_M << 857 }; << 858 << 859 ufoe@1401a000 { << 860 compatible = "mediatek << 861 reg = <0 0x1401a000 0 << 862 interrupts = <GIC_SPI << 863 power-domains = <&spm << 864 clocks = <&mmsys CLK_M << 865 mediatek,gce-client-re << 866 }; << 867 << 868 dsi0: dsi@1401b000 { << 869 compatible = "mediatek << 870 reg = <0 0x1401b000 0 << 871 interrupts = <GIC_SPI << 872 power-domains = <&spm << 873 clocks = <&mmsys CLK_M << 874 <&mmsys CLK_M << 875 <&mipi_tx0>; << 876 clock-names = "engine" << 877 phys = <&mipi_tx0>; << 878 phy-names = "dphy"; << 879 status = "disabled"; << 880 }; << 881 << 882 dsi1: dsi@1401c000 { << 883 compatible = "mediatek << 884 reg = <0 0x1401c000 0 << 885 interrupts = <GIC_SPI << 886 power-domains = <&spm << 887 clocks = <&mmsys CLK_M << 888 <&mmsys CLK_M << 889 <&mipi_tx1>; << 890 clock-names = "engine" << 891 phys = <&mipi_tx1>; << 892 phy-names = "dphy"; << 893 status = "disabled"; << 894 }; << 895 << 896 dpi0: dpi@1401d000 { << 897 compatible = "mediatek << 898 reg = <0 0x1401d000 0 << 899 interrupts = <GIC_SPI << 900 power-domains = <&spm << 901 clocks = <&mmsys CLK_M << 902 <&mmsys CLK_M << 903 <&apmixedsys << 904 clock-names = "pixel", << 905 status = "disabled"; << 906 }; << 907 << 908 pwm0: pwm@1401e000 { << 909 compatible = "mediatek << 910 reg = <0 0x1401e000 0 << 911 #pwm-cells = <2>; << 912 clocks = <&mmsys CLK_M << 913 clock-names = "main", << 914 status = "disabled"; << 915 }; << 916 << 917 pwm1: pwm@1401f000 { << 918 compatible = "mediatek << 919 reg = <0 0x1401f000 0 << 920 #pwm-cells = <2>; << 921 clocks = <&mmsys CLK_M << 922 clock-names = "main", << 923 status = "disabled"; << 924 }; << 925 << 926 mutex: mutex@14020000 { << 927 compatible = "mediatek << 928 reg = <0 0x14020000 0 << 929 interrupts = <GIC_SPI << 930 power-domains = <&spm << 931 clocks = <&mmsys CLK_M << 932 mediatek,gce-events = << 933 << 934 mediatek,gce-client-re << 935 }; << 936 << 937 larb0: larb@14021000 { << 938 compatible = "mediatek << 939 reg = <0 0x14021000 0 << 940 clocks = <&mmsys CLK_M << 941 clock-names = "apb", " << 942 mediatek,smi = <&smi_c << 943 mediatek,larb-id = <0> << 944 power-domains = <&spm << 945 }; << 946 << 947 smi_common: smi@14022000 { << 948 compatible = "mediatek << 949 reg = <0 0x14022000 0 << 950 power-domains = <&spm << 951 clocks = <&infracfg CL << 952 clock-names = "apb", " << 953 }; << 954 << 955 od@14023000 { << 956 compatible = "mediatek << 957 reg = <0 0x14023000 0 << 958 clocks = <&mmsys CLK_M << 959 mediatek,gce-client-re << 960 }; << 961 << 962 larb2: larb@15001000 { << 963 compatible = "mediatek << 964 reg = <0 0x15001000 0 << 965 clocks = <&mmsys CLK_M << 966 clock-names = "apb", " << 967 mediatek,smi = <&smi_c << 968 mediatek,larb-id = <2> << 969 power-domains = <&spm << 970 }; << 971 << 972 vdecsys: clock-controller@1600 << 973 compatible = "mediatek << 974 reg = <0 0x16000000 0 << 975 #clock-cells = <1>; << 976 }; << 977 << 978 larb1: larb@16010000 { << 979 compatible = "mediatek << 980 reg = <0 0x16010000 0 << 981 mediatek,smi = <&smi_c << 982 mediatek,larb-id = <1> << 983 clocks = <&vdecsys CLK << 984 clock-names = "apb", " << 985 power-domains = <&spm << 986 }; << 987 << 988 vencsys: clock-controller@1800 << 989 compatible = "mediatek << 990 reg = <0 0x18000000 0 << 991 #clock-cells = <1>; << 992 }; << 993 << 994 larb3: larb@18001000 { << 995 compatible = "mediatek << 996 reg = <0 0x18001000 0 << 997 clocks = <&vencsys CLK << 998 clock-names = "apb", " << 999 mediatek,smi = <&smi_c << 1000 mediatek,larb-id = <3 << 1001 power-domains = <&spm << 1002 }; 475 }; 1003 }; 476 }; 1004 }; 477 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.