1 // SPDX-License-Identifier: (GPL-2.0-only OR B 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 /* 2 /* 3 * Copyright (C) 2022 MediaTek Inc. 3 * Copyright (C) 2022 MediaTek Inc. 4 * Author: Allen-KH Cheng <allen-kh.cheng@media 4 * Author: Allen-KH Cheng <allen-kh.cheng@mediatek.com> 5 */ 5 */ 6 /dts-v1/; 6 /dts-v1/; 7 #include <dt-bindings/clock/mt8186-clk.h> 7 #include <dt-bindings/clock/mt8186-clk.h> 8 #include <dt-bindings/gce/mt8186-gce.h> 8 #include <dt-bindings/gce/mt8186-gce.h> 9 #include <dt-bindings/interrupt-controller/arm 9 #include <dt-bindings/interrupt-controller/arm-gic.h> 10 #include <dt-bindings/interrupt-controller/irq 10 #include <dt-bindings/interrupt-controller/irq.h> 11 #include <dt-bindings/memory/mt8186-memory-por 11 #include <dt-bindings/memory/mt8186-memory-port.h> 12 #include <dt-bindings/pinctrl/mt8186-pinfunc.h 12 #include <dt-bindings/pinctrl/mt8186-pinfunc.h> 13 #include <dt-bindings/power/mt8186-power.h> 13 #include <dt-bindings/power/mt8186-power.h> 14 #include <dt-bindings/phy/phy.h> 14 #include <dt-bindings/phy/phy.h> 15 #include <dt-bindings/reset/mt8186-resets.h> 15 #include <dt-bindings/reset/mt8186-resets.h> 16 #include <dt-bindings/thermal/thermal.h> << 17 #include <dt-bindings/thermal/mediatek,lvts-th << 18 16 19 / { 17 / { 20 compatible = "mediatek,mt8186"; 18 compatible = "mediatek,mt8186"; 21 interrupt-parent = <&gic>; 19 interrupt-parent = <&gic>; 22 #address-cells = <2>; 20 #address-cells = <2>; 23 #size-cells = <2>; 21 #size-cells = <2>; 24 22 25 aliases { 23 aliases { 26 ovl0 = &ovl0; 24 ovl0 = &ovl0; 27 ovl-2l0 = &ovl_2l0; !! 25 ovl_2l0 = &ovl_2l0; 28 rdma0 = &rdma0; 26 rdma0 = &rdma0; 29 rdma1 = &rdma1; 27 rdma1 = &rdma1; 30 }; 28 }; 31 29 32 cci: cci { 30 cci: cci { 33 compatible = "mediatek,mt8186- 31 compatible = "mediatek,mt8186-cci"; 34 clocks = <&mcusys CLK_MCU_ARMP 32 clocks = <&mcusys CLK_MCU_ARMPLL_BUS_SEL>, 35 <&apmixedsys CLK_APMI 33 <&apmixedsys CLK_APMIXED_MAINPLL>; 36 clock-names = "cci", "intermed 34 clock-names = "cci", "intermediate"; 37 operating-points-v2 = <&cci_op 35 operating-points-v2 = <&cci_opp>; 38 }; 36 }; 39 37 40 cci_opp: opp-table-cci { 38 cci_opp: opp-table-cci { 41 compatible = "operating-points 39 compatible = "operating-points-v2"; 42 opp-shared; 40 opp-shared; 43 41 44 cci_opp_0: opp-500000000 { 42 cci_opp_0: opp-500000000 { 45 opp-hz = /bits/ 64 <50 43 opp-hz = /bits/ 64 <500000000>; 46 opp-microvolt = <60000 44 opp-microvolt = <600000>; 47 }; 45 }; 48 46 49 cci_opp_1: opp-560000000 { 47 cci_opp_1: opp-560000000 { 50 opp-hz = /bits/ 64 <56 48 opp-hz = /bits/ 64 <560000000>; 51 opp-microvolt = <67500 49 opp-microvolt = <675000>; 52 }; 50 }; 53 51 54 cci_opp_2: opp-612000000 { 52 cci_opp_2: opp-612000000 { 55 opp-hz = /bits/ 64 <61 53 opp-hz = /bits/ 64 <612000000>; 56 opp-microvolt = <69375 54 opp-microvolt = <693750>; 57 }; 55 }; 58 56 59 cci_opp_3: opp-682000000 { 57 cci_opp_3: opp-682000000 { 60 opp-hz = /bits/ 64 <68 58 opp-hz = /bits/ 64 <682000000>; 61 opp-microvolt = <71875 59 opp-microvolt = <718750>; 62 }; 60 }; 63 61 64 cci_opp_4: opp-752000000 { 62 cci_opp_4: opp-752000000 { 65 opp-hz = /bits/ 64 <75 63 opp-hz = /bits/ 64 <752000000>; 66 opp-microvolt = <74375 64 opp-microvolt = <743750>; 67 }; 65 }; 68 66 69 cci_opp_5: opp-822000000 { 67 cci_opp_5: opp-822000000 { 70 opp-hz = /bits/ 64 <82 68 opp-hz = /bits/ 64 <822000000>; 71 opp-microvolt = <76875 69 opp-microvolt = <768750>; 72 }; 70 }; 73 71 74 cci_opp_6: opp-875000000 { 72 cci_opp_6: opp-875000000 { 75 opp-hz = /bits/ 64 <87 73 opp-hz = /bits/ 64 <875000000>; 76 opp-microvolt = <78125 74 opp-microvolt = <781250>; 77 }; 75 }; 78 76 79 cci_opp_7: opp-927000000 { 77 cci_opp_7: opp-927000000 { 80 opp-hz = /bits/ 64 <92 78 opp-hz = /bits/ 64 <927000000>; 81 opp-microvolt = <80000 79 opp-microvolt = <800000>; 82 }; 80 }; 83 81 84 cci_opp_8: opp-980000000 { 82 cci_opp_8: opp-980000000 { 85 opp-hz = /bits/ 64 <98 83 opp-hz = /bits/ 64 <980000000>; 86 opp-microvolt = <81875 84 opp-microvolt = <818750>; 87 }; 85 }; 88 86 89 cci_opp_9: opp-1050000000 { 87 cci_opp_9: opp-1050000000 { 90 opp-hz = /bits/ 64 <10 88 opp-hz = /bits/ 64 <1050000000>; 91 opp-microvolt = <84375 89 opp-microvolt = <843750>; 92 }; 90 }; 93 91 94 cci_opp_10: opp-1120000000 { 92 cci_opp_10: opp-1120000000 { 95 opp-hz = /bits/ 64 <11 93 opp-hz = /bits/ 64 <1120000000>; 96 opp-microvolt = <86250 94 opp-microvolt = <862500>; 97 }; 95 }; 98 96 99 cci_opp_11: opp-1155000000 { 97 cci_opp_11: opp-1155000000 { 100 opp-hz = /bits/ 64 <11 98 opp-hz = /bits/ 64 <1155000000>; 101 opp-microvolt = <88750 99 opp-microvolt = <887500>; 102 }; 100 }; 103 101 104 cci_opp_12: opp-1190000000 { 102 cci_opp_12: opp-1190000000 { 105 opp-hz = /bits/ 64 <11 103 opp-hz = /bits/ 64 <1190000000>; 106 opp-microvolt = <90625 104 opp-microvolt = <906250>; 107 }; 105 }; 108 106 109 cci_opp_13: opp-1260000000 { 107 cci_opp_13: opp-1260000000 { 110 opp-hz = /bits/ 64 <12 108 opp-hz = /bits/ 64 <1260000000>; 111 opp-microvolt = <95000 109 opp-microvolt = <950000>; 112 }; 110 }; 113 111 114 cci_opp_14: opp-1330000000 { 112 cci_opp_14: opp-1330000000 { 115 opp-hz = /bits/ 64 <13 113 opp-hz = /bits/ 64 <1330000000>; 116 opp-microvolt = <99375 114 opp-microvolt = <993750>; 117 }; 115 }; 118 116 119 cci_opp_15: opp-1400000000 { 117 cci_opp_15: opp-1400000000 { 120 opp-hz = /bits/ 64 <14 118 opp-hz = /bits/ 64 <1400000000>; 121 opp-microvolt = <10312 119 opp-microvolt = <1031250>; 122 }; 120 }; 123 }; 121 }; 124 122 125 cluster0_opp: opp-table-cluster0 { 123 cluster0_opp: opp-table-cluster0 { 126 compatible = "operating-points 124 compatible = "operating-points-v2"; 127 opp-shared; 125 opp-shared; 128 126 129 opp-500000000 { 127 opp-500000000 { 130 opp-hz = /bits/ 64 <50 128 opp-hz = /bits/ 64 <500000000>; 131 opp-microvolt = <60000 129 opp-microvolt = <600000>; 132 required-opps = <&cci_ 130 required-opps = <&cci_opp_0>; 133 }; 131 }; 134 132 135 opp-774000000 { 133 opp-774000000 { 136 opp-hz = /bits/ 64 <77 134 opp-hz = /bits/ 64 <774000000>; 137 opp-microvolt = <67500 135 opp-microvolt = <675000>; 138 required-opps = <&cci_ 136 required-opps = <&cci_opp_1>; 139 }; 137 }; 140 138 141 opp-875000000 { 139 opp-875000000 { 142 opp-hz = /bits/ 64 <87 140 opp-hz = /bits/ 64 <875000000>; 143 opp-microvolt = <70000 141 opp-microvolt = <700000>; 144 required-opps = <&cci_ 142 required-opps = <&cci_opp_2>; 145 }; 143 }; 146 144 147 opp-975000000 { 145 opp-975000000 { 148 opp-hz = /bits/ 64 <97 146 opp-hz = /bits/ 64 <975000000>; 149 opp-microvolt = <72500 147 opp-microvolt = <725000>; 150 required-opps = <&cci_ 148 required-opps = <&cci_opp_3>; 151 }; 149 }; 152 150 153 opp-1075000000 { 151 opp-1075000000 { 154 opp-hz = /bits/ 64 <10 152 opp-hz = /bits/ 64 <1075000000>; 155 opp-microvolt = <75000 153 opp-microvolt = <750000>; 156 required-opps = <&cci_ 154 required-opps = <&cci_opp_4>; 157 }; 155 }; 158 156 159 opp-1175000000 { 157 opp-1175000000 { 160 opp-hz = /bits/ 64 <11 158 opp-hz = /bits/ 64 <1175000000>; 161 opp-microvolt = <77500 159 opp-microvolt = <775000>; 162 required-opps = <&cci_ 160 required-opps = <&cci_opp_5>; 163 }; 161 }; 164 162 165 opp-1275000000 { 163 opp-1275000000 { 166 opp-hz = /bits/ 64 <12 164 opp-hz = /bits/ 64 <1275000000>; 167 opp-microvolt = <80000 165 opp-microvolt = <800000>; 168 required-opps = <&cci_ 166 required-opps = <&cci_opp_6>; 169 }; 167 }; 170 168 171 opp-1375000000 { 169 opp-1375000000 { 172 opp-hz = /bits/ 64 <13 170 opp-hz = /bits/ 64 <1375000000>; 173 opp-microvolt = <82500 171 opp-microvolt = <825000>; 174 required-opps = <&cci_ 172 required-opps = <&cci_opp_7>; 175 }; 173 }; 176 174 177 opp-1500000000 { 175 opp-1500000000 { 178 opp-hz = /bits/ 64 <15 176 opp-hz = /bits/ 64 <1500000000>; 179 opp-microvolt = <85625 177 opp-microvolt = <856250>; 180 required-opps = <&cci_ 178 required-opps = <&cci_opp_8>; 181 }; 179 }; 182 180 183 opp-1618000000 { 181 opp-1618000000 { 184 opp-hz = /bits/ 64 <16 182 opp-hz = /bits/ 64 <1618000000>; 185 opp-microvolt = <87500 183 opp-microvolt = <875000>; 186 required-opps = <&cci_ 184 required-opps = <&cci_opp_9>; 187 }; 185 }; 188 186 189 opp-1666000000 { 187 opp-1666000000 { 190 opp-hz = /bits/ 64 <16 188 opp-hz = /bits/ 64 <1666000000>; 191 opp-microvolt = <90000 189 opp-microvolt = <900000>; 192 required-opps = <&cci_ 190 required-opps = <&cci_opp_10>; 193 }; 191 }; 194 192 195 opp-1733000000 { 193 opp-1733000000 { 196 opp-hz = /bits/ 64 <17 194 opp-hz = /bits/ 64 <1733000000>; 197 opp-microvolt = <92500 195 opp-microvolt = <925000>; 198 required-opps = <&cci_ 196 required-opps = <&cci_opp_11>; 199 }; 197 }; 200 198 201 opp-1800000000 { 199 opp-1800000000 { 202 opp-hz = /bits/ 64 <18 200 opp-hz = /bits/ 64 <1800000000>; 203 opp-microvolt = <95000 201 opp-microvolt = <950000>; 204 required-opps = <&cci_ 202 required-opps = <&cci_opp_12>; 205 }; 203 }; 206 204 207 opp-1866000000 { 205 opp-1866000000 { 208 opp-hz = /bits/ 64 <18 206 opp-hz = /bits/ 64 <1866000000>; 209 opp-microvolt = <98125 207 opp-microvolt = <981250>; 210 required-opps = <&cci_ 208 required-opps = <&cci_opp_13>; 211 }; 209 }; 212 210 213 opp-1933000000 { 211 opp-1933000000 { 214 opp-hz = /bits/ 64 <19 212 opp-hz = /bits/ 64 <1933000000>; 215 opp-microvolt = <10062 213 opp-microvolt = <1006250>; 216 required-opps = <&cci_ 214 required-opps = <&cci_opp_14>; 217 }; 215 }; 218 216 219 opp-2000000000 { 217 opp-2000000000 { 220 opp-hz = /bits/ 64 <20 218 opp-hz = /bits/ 64 <2000000000>; 221 opp-microvolt = <10312 219 opp-microvolt = <1031250>; 222 required-opps = <&cci_ 220 required-opps = <&cci_opp_15>; 223 }; 221 }; 224 }; 222 }; 225 223 226 cluster1_opp: opp-table-cluster1 { 224 cluster1_opp: opp-table-cluster1 { 227 compatible = "operating-points 225 compatible = "operating-points-v2"; 228 opp-shared; 226 opp-shared; 229 227 230 opp-774000000 { 228 opp-774000000 { 231 opp-hz = /bits/ 64 <77 229 opp-hz = /bits/ 64 <774000000>; 232 opp-microvolt = <67500 230 opp-microvolt = <675000>; 233 required-opps = <&cci_ 231 required-opps = <&cci_opp_0>; 234 }; 232 }; 235 233 236 opp-835000000 { 234 opp-835000000 { 237 opp-hz = /bits/ 64 <83 235 opp-hz = /bits/ 64 <835000000>; 238 opp-microvolt = <69375 236 opp-microvolt = <693750>; 239 required-opps = <&cci_ 237 required-opps = <&cci_opp_1>; 240 }; 238 }; 241 239 242 opp-919000000 { 240 opp-919000000 { 243 opp-hz = /bits/ 64 <91 241 opp-hz = /bits/ 64 <919000000>; 244 opp-microvolt = <71875 242 opp-microvolt = <718750>; 245 required-opps = <&cci_ 243 required-opps = <&cci_opp_2>; 246 }; 244 }; 247 245 248 opp-1002000000 { 246 opp-1002000000 { 249 opp-hz = /bits/ 64 <10 247 opp-hz = /bits/ 64 <1002000000>; 250 opp-microvolt = <74375 248 opp-microvolt = <743750>; 251 required-opps = <&cci_ 249 required-opps = <&cci_opp_3>; 252 }; 250 }; 253 251 254 opp-1085000000 { 252 opp-1085000000 { 255 opp-hz = /bits/ 64 <10 253 opp-hz = /bits/ 64 <1085000000>; 256 opp-microvolt = <77500 254 opp-microvolt = <775000>; 257 required-opps = <&cci_ 255 required-opps = <&cci_opp_4>; 258 }; 256 }; 259 257 260 opp-1169000000 { 258 opp-1169000000 { 261 opp-hz = /bits/ 64 <11 259 opp-hz = /bits/ 64 <1169000000>; 262 opp-microvolt = <80000 260 opp-microvolt = <800000>; 263 required-opps = <&cci_ 261 required-opps = <&cci_opp_5>; 264 }; 262 }; 265 263 266 opp-1308000000 { 264 opp-1308000000 { 267 opp-hz = /bits/ 64 <13 265 opp-hz = /bits/ 64 <1308000000>; 268 opp-microvolt = <84375 266 opp-microvolt = <843750>; 269 required-opps = <&cci_ 267 required-opps = <&cci_opp_6>; 270 }; 268 }; 271 269 272 opp-1419000000 { 270 opp-1419000000 { 273 opp-hz = /bits/ 64 <14 271 opp-hz = /bits/ 64 <1419000000>; 274 opp-microvolt = <87500 272 opp-microvolt = <875000>; 275 required-opps = <&cci_ 273 required-opps = <&cci_opp_7>; 276 }; 274 }; 277 275 278 opp-1530000000 { 276 opp-1530000000 { 279 opp-hz = /bits/ 64 <15 277 opp-hz = /bits/ 64 <1530000000>; 280 opp-microvolt = <91250 278 opp-microvolt = <912500>; 281 required-opps = <&cci_ 279 required-opps = <&cci_opp_8>; 282 }; 280 }; 283 281 284 opp-1670000000 { 282 opp-1670000000 { 285 opp-hz = /bits/ 64 <16 283 opp-hz = /bits/ 64 <1670000000>; 286 opp-microvolt = <95625 284 opp-microvolt = <956250>; 287 required-opps = <&cci_ 285 required-opps = <&cci_opp_9>; 288 }; 286 }; 289 287 290 opp-1733000000 { 288 opp-1733000000 { 291 opp-hz = /bits/ 64 <17 289 opp-hz = /bits/ 64 <1733000000>; 292 opp-microvolt = <98125 290 opp-microvolt = <981250>; 293 required-opps = <&cci_ 291 required-opps = <&cci_opp_10>; 294 }; 292 }; 295 293 296 opp-1796000000 { 294 opp-1796000000 { 297 opp-hz = /bits/ 64 <17 295 opp-hz = /bits/ 64 <1796000000>; 298 opp-microvolt = <10125 296 opp-microvolt = <1012500>; 299 required-opps = <&cci_ 297 required-opps = <&cci_opp_11>; 300 }; 298 }; 301 299 302 opp-1860000000 { 300 opp-1860000000 { 303 opp-hz = /bits/ 64 <18 301 opp-hz = /bits/ 64 <1860000000>; 304 opp-microvolt = <10375 302 opp-microvolt = <1037500>; 305 required-opps = <&cci_ 303 required-opps = <&cci_opp_12>; 306 }; 304 }; 307 305 308 opp-1923000000 { 306 opp-1923000000 { 309 opp-hz = /bits/ 64 <19 307 opp-hz = /bits/ 64 <1923000000>; 310 opp-microvolt = <10625 308 opp-microvolt = <1062500>; 311 required-opps = <&cci_ 309 required-opps = <&cci_opp_13>; 312 }; 310 }; 313 311 314 cluster1_opp_14: opp-198600000 312 cluster1_opp_14: opp-1986000000 { 315 opp-hz = /bits/ 64 <19 313 opp-hz = /bits/ 64 <1986000000>; 316 opp-microvolt = <10937 314 opp-microvolt = <1093750>; 317 required-opps = <&cci_ 315 required-opps = <&cci_opp_14>; 318 }; 316 }; 319 317 320 cluster1_opp_15: opp-205000000 318 cluster1_opp_15: opp-2050000000 { 321 opp-hz = /bits/ 64 <20 319 opp-hz = /bits/ 64 <2050000000>; 322 opp-microvolt = <11187 320 opp-microvolt = <1118750>; 323 required-opps = <&cci_ 321 required-opps = <&cci_opp_15>; 324 }; 322 }; 325 }; 323 }; 326 324 327 cpus { 325 cpus { 328 #address-cells = <1>; 326 #address-cells = <1>; 329 #size-cells = <0>; 327 #size-cells = <0>; 330 328 331 cpu-map { 329 cpu-map { 332 cluster0 { 330 cluster0 { 333 core0 { 331 core0 { 334 cpu = 332 cpu = <&cpu0>; 335 }; 333 }; 336 334 337 core1 { 335 core1 { 338 cpu = 336 cpu = <&cpu1>; 339 }; 337 }; 340 338 341 core2 { 339 core2 { 342 cpu = 340 cpu = <&cpu2>; 343 }; 341 }; 344 342 345 core3 { 343 core3 { 346 cpu = 344 cpu = <&cpu3>; 347 }; 345 }; 348 346 349 core4 { 347 core4 { 350 cpu = 348 cpu = <&cpu4>; 351 }; 349 }; 352 350 353 core5 { 351 core5 { 354 cpu = 352 cpu = <&cpu5>; 355 }; 353 }; 356 354 357 core6 { 355 core6 { 358 cpu = 356 cpu = <&cpu6>; 359 }; 357 }; 360 358 361 core7 { 359 core7 { 362 cpu = 360 cpu = <&cpu7>; 363 }; 361 }; 364 }; 362 }; 365 }; 363 }; 366 364 367 cpu0: cpu@0 { 365 cpu0: cpu@0 { 368 device_type = "cpu"; 366 device_type = "cpu"; 369 compatible = "arm,cort 367 compatible = "arm,cortex-a55"; 370 reg = <0x000>; 368 reg = <0x000>; 371 enable-method = "psci" 369 enable-method = "psci"; 372 clock-frequency = <200 370 clock-frequency = <2000000000>; 373 clocks = <&mcusys CLK_ 371 clocks = <&mcusys CLK_MCU_ARMPLL_LL_SEL>, 374 <&apmixedsys 372 <&apmixedsys CLK_APMIXED_MAINPLL>; 375 clock-names = "cpu", " 373 clock-names = "cpu", "intermediate"; 376 operating-points-v2 = 374 operating-points-v2 = <&cluster0_opp>; 377 dynamic-power-coeffici 375 dynamic-power-coefficient = <84>; 378 capacity-dmips-mhz = < 376 capacity-dmips-mhz = <382>; 379 cpu-idle-states = <&cp 377 cpu-idle-states = <&cpu_ret_l &cpu_off_l>; 380 i-cache-size = <32768> 378 i-cache-size = <32768>; 381 i-cache-line-size = <6 379 i-cache-line-size = <64>; 382 i-cache-sets = <128>; 380 i-cache-sets = <128>; 383 d-cache-size = <32768> 381 d-cache-size = <32768>; 384 d-cache-line-size = <6 382 d-cache-line-size = <64>; 385 d-cache-sets = <128>; 383 d-cache-sets = <128>; 386 next-level-cache = <&l 384 next-level-cache = <&l2_0>; 387 #cooling-cells = <2>; 385 #cooling-cells = <2>; 388 mediatek,cci = <&cci>; 386 mediatek,cci = <&cci>; 389 }; 387 }; 390 388 391 cpu1: cpu@100 { 389 cpu1: cpu@100 { 392 device_type = "cpu"; 390 device_type = "cpu"; 393 compatible = "arm,cort 391 compatible = "arm,cortex-a55"; 394 reg = <0x100>; 392 reg = <0x100>; 395 enable-method = "psci" 393 enable-method = "psci"; 396 clock-frequency = <200 394 clock-frequency = <2000000000>; 397 clocks = <&mcusys CLK_ 395 clocks = <&mcusys CLK_MCU_ARMPLL_LL_SEL>, 398 <&apmixedsys 396 <&apmixedsys CLK_APMIXED_MAINPLL>; 399 clock-names = "cpu", " 397 clock-names = "cpu", "intermediate"; 400 operating-points-v2 = 398 operating-points-v2 = <&cluster0_opp>; 401 dynamic-power-coeffici 399 dynamic-power-coefficient = <84>; 402 capacity-dmips-mhz = < 400 capacity-dmips-mhz = <382>; 403 cpu-idle-states = <&cp 401 cpu-idle-states = <&cpu_ret_l &cpu_off_l>; 404 i-cache-size = <32768> 402 i-cache-size = <32768>; 405 i-cache-line-size = <6 403 i-cache-line-size = <64>; 406 i-cache-sets = <128>; 404 i-cache-sets = <128>; 407 d-cache-size = <32768> 405 d-cache-size = <32768>; 408 d-cache-line-size = <6 406 d-cache-line-size = <64>; 409 d-cache-sets = <128>; 407 d-cache-sets = <128>; 410 next-level-cache = <&l 408 next-level-cache = <&l2_0>; 411 #cooling-cells = <2>; 409 #cooling-cells = <2>; 412 mediatek,cci = <&cci>; 410 mediatek,cci = <&cci>; 413 }; 411 }; 414 412 415 cpu2: cpu@200 { 413 cpu2: cpu@200 { 416 device_type = "cpu"; 414 device_type = "cpu"; 417 compatible = "arm,cort 415 compatible = "arm,cortex-a55"; 418 reg = <0x200>; 416 reg = <0x200>; 419 enable-method = "psci" 417 enable-method = "psci"; 420 clock-frequency = <200 418 clock-frequency = <2000000000>; 421 clocks = <&mcusys CLK_ 419 clocks = <&mcusys CLK_MCU_ARMPLL_LL_SEL>, 422 <&apmixedsys 420 <&apmixedsys CLK_APMIXED_MAINPLL>; 423 clock-names = "cpu", " 421 clock-names = "cpu", "intermediate"; 424 operating-points-v2 = 422 operating-points-v2 = <&cluster0_opp>; 425 dynamic-power-coeffici 423 dynamic-power-coefficient = <84>; 426 capacity-dmips-mhz = < 424 capacity-dmips-mhz = <382>; 427 cpu-idle-states = <&cp 425 cpu-idle-states = <&cpu_ret_l &cpu_off_l>; 428 i-cache-size = <32768> 426 i-cache-size = <32768>; 429 i-cache-line-size = <6 427 i-cache-line-size = <64>; 430 i-cache-sets = <128>; 428 i-cache-sets = <128>; 431 d-cache-size = <32768> 429 d-cache-size = <32768>; 432 d-cache-line-size = <6 430 d-cache-line-size = <64>; 433 d-cache-sets = <128>; 431 d-cache-sets = <128>; 434 next-level-cache = <&l 432 next-level-cache = <&l2_0>; 435 #cooling-cells = <2>; 433 #cooling-cells = <2>; 436 mediatek,cci = <&cci>; 434 mediatek,cci = <&cci>; 437 }; 435 }; 438 436 439 cpu3: cpu@300 { 437 cpu3: cpu@300 { 440 device_type = "cpu"; 438 device_type = "cpu"; 441 compatible = "arm,cort 439 compatible = "arm,cortex-a55"; 442 reg = <0x300>; 440 reg = <0x300>; 443 enable-method = "psci" 441 enable-method = "psci"; 444 clock-frequency = <200 442 clock-frequency = <2000000000>; 445 clocks = <&mcusys CLK_ 443 clocks = <&mcusys CLK_MCU_ARMPLL_LL_SEL>, 446 <&apmixedsys 444 <&apmixedsys CLK_APMIXED_MAINPLL>; 447 clock-names = "cpu", " 445 clock-names = "cpu", "intermediate"; 448 operating-points-v2 = 446 operating-points-v2 = <&cluster0_opp>; 449 dynamic-power-coeffici 447 dynamic-power-coefficient = <84>; 450 capacity-dmips-mhz = < 448 capacity-dmips-mhz = <382>; 451 cpu-idle-states = <&cp 449 cpu-idle-states = <&cpu_ret_l &cpu_off_l>; 452 i-cache-size = <32768> 450 i-cache-size = <32768>; 453 i-cache-line-size = <6 451 i-cache-line-size = <64>; 454 i-cache-sets = <128>; 452 i-cache-sets = <128>; 455 d-cache-size = <32768> 453 d-cache-size = <32768>; 456 d-cache-line-size = <6 454 d-cache-line-size = <64>; 457 d-cache-sets = <128>; 455 d-cache-sets = <128>; 458 next-level-cache = <&l 456 next-level-cache = <&l2_0>; 459 #cooling-cells = <2>; 457 #cooling-cells = <2>; 460 mediatek,cci = <&cci>; 458 mediatek,cci = <&cci>; 461 }; 459 }; 462 460 463 cpu4: cpu@400 { 461 cpu4: cpu@400 { 464 device_type = "cpu"; 462 device_type = "cpu"; 465 compatible = "arm,cort 463 compatible = "arm,cortex-a55"; 466 reg = <0x400>; 464 reg = <0x400>; 467 enable-method = "psci" 465 enable-method = "psci"; 468 clock-frequency = <200 466 clock-frequency = <2000000000>; 469 clocks = <&mcusys CLK_ 467 clocks = <&mcusys CLK_MCU_ARMPLL_LL_SEL>, 470 <&apmixedsys 468 <&apmixedsys CLK_APMIXED_MAINPLL>; 471 clock-names = "cpu", " 469 clock-names = "cpu", "intermediate"; 472 operating-points-v2 = 470 operating-points-v2 = <&cluster0_opp>; 473 dynamic-power-coeffici 471 dynamic-power-coefficient = <84>; 474 capacity-dmips-mhz = < 472 capacity-dmips-mhz = <382>; 475 cpu-idle-states = <&cp 473 cpu-idle-states = <&cpu_ret_l &cpu_off_l>; 476 i-cache-size = <32768> 474 i-cache-size = <32768>; 477 i-cache-line-size = <6 475 i-cache-line-size = <64>; 478 i-cache-sets = <128>; 476 i-cache-sets = <128>; 479 d-cache-size = <32768> 477 d-cache-size = <32768>; 480 d-cache-line-size = <6 478 d-cache-line-size = <64>; 481 d-cache-sets = <128>; 479 d-cache-sets = <128>; 482 next-level-cache = <&l 480 next-level-cache = <&l2_0>; 483 #cooling-cells = <2>; 481 #cooling-cells = <2>; 484 mediatek,cci = <&cci>; 482 mediatek,cci = <&cci>; 485 }; 483 }; 486 484 487 cpu5: cpu@500 { 485 cpu5: cpu@500 { 488 device_type = "cpu"; 486 device_type = "cpu"; 489 compatible = "arm,cort 487 compatible = "arm,cortex-a55"; 490 reg = <0x500>; 488 reg = <0x500>; 491 enable-method = "psci" 489 enable-method = "psci"; 492 clock-frequency = <200 490 clock-frequency = <2000000000>; 493 clocks = <&mcusys CLK_ 491 clocks = <&mcusys CLK_MCU_ARMPLL_LL_SEL>, 494 <&apmixedsys 492 <&apmixedsys CLK_APMIXED_MAINPLL>; 495 clock-names = "cpu", " 493 clock-names = "cpu", "intermediate"; 496 operating-points-v2 = 494 operating-points-v2 = <&cluster0_opp>; 497 dynamic-power-coeffici 495 dynamic-power-coefficient = <84>; 498 capacity-dmips-mhz = < 496 capacity-dmips-mhz = <382>; 499 cpu-idle-states = <&cp 497 cpu-idle-states = <&cpu_ret_l &cpu_off_l>; 500 i-cache-size = <32768> 498 i-cache-size = <32768>; 501 i-cache-line-size = <6 499 i-cache-line-size = <64>; 502 i-cache-sets = <128>; 500 i-cache-sets = <128>; 503 d-cache-size = <32768> 501 d-cache-size = <32768>; 504 d-cache-line-size = <6 502 d-cache-line-size = <64>; 505 d-cache-sets = <128>; 503 d-cache-sets = <128>; 506 next-level-cache = <&l 504 next-level-cache = <&l2_0>; 507 #cooling-cells = <2>; 505 #cooling-cells = <2>; 508 mediatek,cci = <&cci>; 506 mediatek,cci = <&cci>; 509 }; 507 }; 510 508 511 cpu6: cpu@600 { 509 cpu6: cpu@600 { 512 device_type = "cpu"; 510 device_type = "cpu"; 513 compatible = "arm,cort 511 compatible = "arm,cortex-a76"; 514 reg = <0x600>; 512 reg = <0x600>; 515 enable-method = "psci" 513 enable-method = "psci"; 516 clock-frequency = <205 514 clock-frequency = <2050000000>; 517 clocks = <&mcusys CLK_ 515 clocks = <&mcusys CLK_MCU_ARMPLL_BL_SEL>, 518 <&apmixedsys 516 <&apmixedsys CLK_APMIXED_MAINPLL>; 519 clock-names = "cpu", " 517 clock-names = "cpu", "intermediate"; 520 operating-points-v2 = 518 operating-points-v2 = <&cluster1_opp>; 521 dynamic-power-coeffici 519 dynamic-power-coefficient = <335>; 522 capacity-dmips-mhz = < 520 capacity-dmips-mhz = <1024>; 523 cpu-idle-states = <&cp 521 cpu-idle-states = <&cpu_ret_b &cpu_off_b>; 524 i-cache-size = <65536> 522 i-cache-size = <65536>; 525 i-cache-line-size = <6 523 i-cache-line-size = <64>; 526 i-cache-sets = <256>; 524 i-cache-sets = <256>; 527 d-cache-size = <65536> 525 d-cache-size = <65536>; 528 d-cache-line-size = <6 526 d-cache-line-size = <64>; 529 d-cache-sets = <256>; 527 d-cache-sets = <256>; 530 next-level-cache = <&l 528 next-level-cache = <&l2_1>; 531 #cooling-cells = <2>; 529 #cooling-cells = <2>; 532 mediatek,cci = <&cci>; 530 mediatek,cci = <&cci>; 533 }; 531 }; 534 532 535 cpu7: cpu@700 { 533 cpu7: cpu@700 { 536 device_type = "cpu"; 534 device_type = "cpu"; 537 compatible = "arm,cort 535 compatible = "arm,cortex-a76"; 538 reg = <0x700>; 536 reg = <0x700>; 539 enable-method = "psci" 537 enable-method = "psci"; 540 clock-frequency = <205 538 clock-frequency = <2050000000>; 541 clocks = <&mcusys CLK_ 539 clocks = <&mcusys CLK_MCU_ARMPLL_BL_SEL>, 542 <&apmixedsys 540 <&apmixedsys CLK_APMIXED_MAINPLL>; 543 clock-names = "cpu", " 541 clock-names = "cpu", "intermediate"; 544 operating-points-v2 = 542 operating-points-v2 = <&cluster1_opp>; 545 dynamic-power-coeffici 543 dynamic-power-coefficient = <335>; 546 capacity-dmips-mhz = < 544 capacity-dmips-mhz = <1024>; 547 cpu-idle-states = <&cp 545 cpu-idle-states = <&cpu_ret_b &cpu_off_b>; 548 i-cache-size = <65536> 546 i-cache-size = <65536>; 549 i-cache-line-size = <6 547 i-cache-line-size = <64>; 550 i-cache-sets = <256>; 548 i-cache-sets = <256>; 551 d-cache-size = <65536> 549 d-cache-size = <65536>; 552 d-cache-line-size = <6 550 d-cache-line-size = <64>; 553 d-cache-sets = <256>; 551 d-cache-sets = <256>; 554 next-level-cache = <&l 552 next-level-cache = <&l2_1>; 555 #cooling-cells = <2>; 553 #cooling-cells = <2>; 556 mediatek,cci = <&cci>; 554 mediatek,cci = <&cci>; 557 }; 555 }; 558 556 559 idle-states { 557 idle-states { 560 entry-method = "psci"; 558 entry-method = "psci"; 561 559 562 cpu_ret_l: cpu-retenti 560 cpu_ret_l: cpu-retention-l { 563 compatible = " 561 compatible = "arm,idle-state"; 564 arm,psci-suspe 562 arm,psci-suspend-param = <0x00010001>; 565 local-timer-st 563 local-timer-stop; 566 entry-latency- 564 entry-latency-us = <50>; 567 exit-latency-u 565 exit-latency-us = <100>; 568 min-residency- 566 min-residency-us = <1600>; 569 }; 567 }; 570 568 571 cpu_ret_b: cpu-retenti 569 cpu_ret_b: cpu-retention-b { 572 compatible = " 570 compatible = "arm,idle-state"; 573 arm,psci-suspe 571 arm,psci-suspend-param = <0x00010001>; 574 local-timer-st 572 local-timer-stop; 575 entry-latency- 573 entry-latency-us = <50>; 576 exit-latency-u 574 exit-latency-us = <100>; 577 min-residency- 575 min-residency-us = <1400>; 578 }; 576 }; 579 577 580 cpu_off_l: cpu-off-l { 578 cpu_off_l: cpu-off-l { 581 compatible = " 579 compatible = "arm,idle-state"; 582 arm,psci-suspe 580 arm,psci-suspend-param = <0x01010001>; 583 local-timer-st 581 local-timer-stop; 584 entry-latency- 582 entry-latency-us = <100>; 585 exit-latency-u 583 exit-latency-us = <250>; 586 min-residency- 584 min-residency-us = <2100>; 587 }; 585 }; 588 586 589 cpu_off_b: cpu-off-b { 587 cpu_off_b: cpu-off-b { 590 compatible = " 588 compatible = "arm,idle-state"; 591 arm,psci-suspe 589 arm,psci-suspend-param = <0x01010001>; 592 local-timer-st 590 local-timer-stop; 593 entry-latency- 591 entry-latency-us = <100>; 594 exit-latency-u 592 exit-latency-us = <250>; 595 min-residency- 593 min-residency-us = <1900>; 596 }; 594 }; 597 }; 595 }; 598 596 599 l2_0: l2-cache0 { 597 l2_0: l2-cache0 { 600 compatible = "cache"; 598 compatible = "cache"; 601 cache-level = <2>; 599 cache-level = <2>; 602 cache-size = <131072>; 600 cache-size = <131072>; 603 cache-line-size = <64> 601 cache-line-size = <64>; 604 cache-sets = <512>; 602 cache-sets = <512>; 605 next-level-cache = <&l 603 next-level-cache = <&l3_0>; 606 cache-unified; 604 cache-unified; 607 }; 605 }; 608 606 609 l2_1: l2-cache1 { 607 l2_1: l2-cache1 { 610 compatible = "cache"; 608 compatible = "cache"; 611 cache-level = <2>; 609 cache-level = <2>; 612 cache-size = <262144>; 610 cache-size = <262144>; 613 cache-line-size = <64> 611 cache-line-size = <64>; 614 cache-sets = <512>; 612 cache-sets = <512>; 615 next-level-cache = <&l 613 next-level-cache = <&l3_0>; 616 cache-unified; 614 cache-unified; 617 }; 615 }; 618 616 619 l3_0: l3-cache { 617 l3_0: l3-cache { 620 compatible = "cache"; 618 compatible = "cache"; 621 cache-level = <3>; 619 cache-level = <3>; 622 cache-size = <1048576> 620 cache-size = <1048576>; 623 cache-line-size = <64> 621 cache-line-size = <64>; 624 cache-sets = <1024>; 622 cache-sets = <1024>; 625 cache-unified; 623 cache-unified; 626 }; 624 }; 627 }; 625 }; 628 626 629 clk13m: fixed-factor-clock-13m { 627 clk13m: fixed-factor-clock-13m { 630 compatible = "fixed-factor-clo 628 compatible = "fixed-factor-clock"; 631 #clock-cells = <0>; 629 #clock-cells = <0>; 632 clocks = <&clk26m>; 630 clocks = <&clk26m>; 633 clock-div = <2>; 631 clock-div = <2>; 634 clock-mult = <1>; 632 clock-mult = <1>; 635 clock-output-names = "clk13m"; 633 clock-output-names = "clk13m"; 636 }; 634 }; 637 635 638 clk26m: oscillator-26m { 636 clk26m: oscillator-26m { 639 compatible = "fixed-clock"; 637 compatible = "fixed-clock"; 640 #clock-cells = <0>; 638 #clock-cells = <0>; 641 clock-frequency = <26000000>; 639 clock-frequency = <26000000>; 642 clock-output-names = "clk26m"; 640 clock-output-names = "clk26m"; 643 }; 641 }; 644 642 645 clk32k: oscillator-32k { 643 clk32k: oscillator-32k { 646 compatible = "fixed-clock"; 644 compatible = "fixed-clock"; 647 #clock-cells = <0>; 645 #clock-cells = <0>; 648 clock-frequency = <32768>; 646 clock-frequency = <32768>; 649 clock-output-names = "clk32k"; 647 clock-output-names = "clk32k"; 650 }; 648 }; 651 649 652 gpu_opp_table: opp-table-gpu { 650 gpu_opp_table: opp-table-gpu { 653 compatible = "operating-points 651 compatible = "operating-points-v2"; 654 652 655 opp-299000000 { 653 opp-299000000 { 656 opp-hz = /bits/ 64 <29 654 opp-hz = /bits/ 64 <299000000>; 657 opp-microvolt = <61250 655 opp-microvolt = <612500>; 658 opp-supported-hw = <0x 656 opp-supported-hw = <0xff>; 659 }; 657 }; 660 658 661 opp-332000000 { 659 opp-332000000 { 662 opp-hz = /bits/ 64 <33 660 opp-hz = /bits/ 64 <332000000>; 663 opp-microvolt = <62500 661 opp-microvolt = <625000>; 664 opp-supported-hw = <0x 662 opp-supported-hw = <0xff>; 665 }; 663 }; 666 664 667 opp-366000000 { 665 opp-366000000 { 668 opp-hz = /bits/ 64 <36 666 opp-hz = /bits/ 64 <366000000>; 669 opp-microvolt = <63750 667 opp-microvolt = <637500>; 670 opp-supported-hw = <0x 668 opp-supported-hw = <0xff>; 671 }; 669 }; 672 670 673 opp-400000000 { 671 opp-400000000 { 674 opp-hz = /bits/ 64 <40 672 opp-hz = /bits/ 64 <400000000>; 675 opp-microvolt = <64375 673 opp-microvolt = <643750>; 676 opp-supported-hw = <0x 674 opp-supported-hw = <0xff>; 677 }; 675 }; 678 676 679 opp-434000000 { 677 opp-434000000 { 680 opp-hz = /bits/ 64 <43 678 opp-hz = /bits/ 64 <434000000>; 681 opp-microvolt = <65625 679 opp-microvolt = <656250>; 682 opp-supported-hw = <0x 680 opp-supported-hw = <0xff>; 683 }; 681 }; 684 682 685 opp-484000000 { 683 opp-484000000 { 686 opp-hz = /bits/ 64 <48 684 opp-hz = /bits/ 64 <484000000>; 687 opp-microvolt = <66875 685 opp-microvolt = <668750>; 688 opp-supported-hw = <0x 686 opp-supported-hw = <0xff>; 689 }; 687 }; 690 688 691 opp-535000000 { 689 opp-535000000 { 692 opp-hz = /bits/ 64 <53 690 opp-hz = /bits/ 64 <535000000>; 693 opp-microvolt = <68750 691 opp-microvolt = <687500>; 694 opp-supported-hw = <0x 692 opp-supported-hw = <0xff>; 695 }; 693 }; 696 694 697 opp-586000000 { 695 opp-586000000 { 698 opp-hz = /bits/ 64 <58 696 opp-hz = /bits/ 64 <586000000>; 699 opp-microvolt = <70000 697 opp-microvolt = <700000>; 700 opp-supported-hw = <0x 698 opp-supported-hw = <0xff>; 701 }; 699 }; 702 700 703 opp-637000000 { 701 opp-637000000 { 704 opp-hz = /bits/ 64 <63 702 opp-hz = /bits/ 64 <637000000>; 705 opp-microvolt = <71250 703 opp-microvolt = <712500>; 706 opp-supported-hw = <0x 704 opp-supported-hw = <0xff>; 707 }; 705 }; 708 706 709 opp-690000000 { 707 opp-690000000 { 710 opp-hz = /bits/ 64 <69 708 opp-hz = /bits/ 64 <690000000>; 711 opp-microvolt = <73750 709 opp-microvolt = <737500>; 712 opp-supported-hw = <0x 710 opp-supported-hw = <0xff>; 713 }; 711 }; 714 712 715 opp-743000000 { 713 opp-743000000 { 716 opp-hz = /bits/ 64 <74 714 opp-hz = /bits/ 64 <743000000>; 717 opp-microvolt = <75625 715 opp-microvolt = <756250>; 718 opp-supported-hw = <0x 716 opp-supported-hw = <0xff>; 719 }; 717 }; 720 718 721 opp-796000000 { 719 opp-796000000 { 722 opp-hz = /bits/ 64 <79 720 opp-hz = /bits/ 64 <796000000>; 723 opp-microvolt = <78125 721 opp-microvolt = <781250>; 724 opp-supported-hw = <0x 722 opp-supported-hw = <0xff>; 725 }; 723 }; 726 724 727 opp-850000000 { 725 opp-850000000 { 728 opp-hz = /bits/ 64 <85 726 opp-hz = /bits/ 64 <850000000>; 729 opp-microvolt = <80000 727 opp-microvolt = <800000>; 730 opp-supported-hw = <0x 728 opp-supported-hw = <0xff>; 731 }; 729 }; 732 730 733 opp-900000000-3 { 731 opp-900000000-3 { 734 opp-hz = /bits/ 64 <90 732 opp-hz = /bits/ 64 <900000000>; 735 opp-microvolt = <85000 733 opp-microvolt = <850000>; 736 opp-supported-hw = <0x !! 734 opp-supported-hw = <0x8>; 737 }; 735 }; 738 736 739 opp-900000000-4 { 737 opp-900000000-4 { 740 opp-hz = /bits/ 64 <90 738 opp-hz = /bits/ 64 <900000000>; 741 opp-microvolt = <83750 739 opp-microvolt = <837500>; 742 opp-supported-hw = <0x 740 opp-supported-hw = <0x10>; 743 }; 741 }; 744 742 745 opp-900000000-5 { 743 opp-900000000-5 { 746 opp-hz = /bits/ 64 <90 744 opp-hz = /bits/ 64 <900000000>; 747 opp-microvolt = <82500 745 opp-microvolt = <825000>; 748 opp-supported-hw = <0x !! 746 opp-supported-hw = <0x30>; 749 }; 747 }; 750 748 751 opp-950000000-3 { 749 opp-950000000-3 { 752 opp-hz = /bits/ 64 <95 750 opp-hz = /bits/ 64 <950000000>; 753 opp-microvolt = <90000 751 opp-microvolt = <900000>; 754 opp-supported-hw = <0x !! 752 opp-supported-hw = <0x8>; 755 }; 753 }; 756 754 757 opp-950000000-4 { 755 opp-950000000-4 { 758 opp-hz = /bits/ 64 <95 756 opp-hz = /bits/ 64 <950000000>; 759 opp-microvolt = <87500 757 opp-microvolt = <875000>; 760 opp-supported-hw = <0x 758 opp-supported-hw = <0x10>; 761 }; 759 }; 762 760 763 opp-950000000-5 { 761 opp-950000000-5 { 764 opp-hz = /bits/ 64 <95 762 opp-hz = /bits/ 64 <950000000>; 765 opp-microvolt = <85000 763 opp-microvolt = <850000>; 766 opp-supported-hw = <0x !! 764 opp-supported-hw = <0x30>; 767 }; 765 }; 768 766 769 opp-1000000000-3 { 767 opp-1000000000-3 { 770 opp-hz = /bits/ 64 <10 768 opp-hz = /bits/ 64 <1000000000>; 771 opp-microvolt = <95000 769 opp-microvolt = <950000>; 772 opp-supported-hw = <0x !! 770 opp-supported-hw = <0x8>; 773 }; 771 }; 774 772 775 opp-1000000000-4 { 773 opp-1000000000-4 { 776 opp-hz = /bits/ 64 <10 774 opp-hz = /bits/ 64 <1000000000>; 777 opp-microvolt = <91250 775 opp-microvolt = <912500>; 778 opp-supported-hw = <0x 776 opp-supported-hw = <0x10>; 779 }; 777 }; 780 778 781 opp-1000000000-5 { 779 opp-1000000000-5 { 782 opp-hz = /bits/ 64 <10 780 opp-hz = /bits/ 64 <1000000000>; 783 opp-microvolt = <87500 781 opp-microvolt = <875000>; 784 opp-supported-hw = <0x !! 782 opp-supported-hw = <0x30>; 785 }; 783 }; 786 }; 784 }; 787 785 788 pmu-a55 { 786 pmu-a55 { 789 compatible = "arm,cortex-a55-p 787 compatible = "arm,cortex-a55-pmu"; 790 interrupt-parent = <&gic>; 788 interrupt-parent = <&gic>; 791 interrupts = <GIC_PPI 7 IRQ_TY 789 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster0>; 792 }; 790 }; 793 791 794 pmu-a76 { 792 pmu-a76 { 795 compatible = "arm,cortex-a76-p 793 compatible = "arm,cortex-a76-pmu"; 796 interrupt-parent = <&gic>; 794 interrupt-parent = <&gic>; 797 interrupts = <GIC_PPI 7 IRQ_TY 795 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster1>; 798 }; 796 }; 799 797 800 psci { 798 psci { 801 compatible = "arm,psci-1.0"; 799 compatible = "arm,psci-1.0"; 802 method = "smc"; 800 method = "smc"; 803 }; 801 }; 804 802 805 timer { 803 timer { 806 compatible = "arm,armv8-timer" 804 compatible = "arm,armv8-timer"; 807 interrupt-parent = <&gic>; 805 interrupt-parent = <&gic>; 808 interrupts = <GIC_PPI 13 IRQ_T 806 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW 0>, 809 <GIC_PPI 14 IRQ_T 807 <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW 0>, 810 <GIC_PPI 11 IRQ_T 808 <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW 0>, 811 <GIC_PPI 10 IRQ_T 809 <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW 0>; 812 }; 810 }; 813 811 814 soc { 812 soc { 815 #address-cells = <2>; 813 #address-cells = <2>; 816 #size-cells = <2>; 814 #size-cells = <2>; 817 compatible = "simple-bus"; 815 compatible = "simple-bus"; 818 dma-ranges = <0x0 0x0 0x0 0x0 816 dma-ranges = <0x0 0x0 0x0 0x0 0x4 0x0>; 819 ranges; 817 ranges; 820 818 821 gic: interrupt-controller@c000 819 gic: interrupt-controller@c000000 { 822 compatible = "arm,gic- 820 compatible = "arm,gic-v3"; 823 #interrupt-cells = <4> 821 #interrupt-cells = <4>; 824 #redistributor-regions 822 #redistributor-regions = <1>; 825 interrupt-parent = <&g 823 interrupt-parent = <&gic>; 826 interrupt-controller; 824 interrupt-controller; 827 reg = <0 0x0c000000 0 825 reg = <0 0x0c000000 0 0x40000>, 828 <0 0x0c040000 0 826 <0 0x0c040000 0 0x200000>; 829 interrupts = <GIC_PPI 827 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>; 830 828 831 ppi-partitions { 829 ppi-partitions { 832 ppi_cluster0: 830 ppi_cluster0: interrupt-partition-0 { 833 affini 831 affinity = <&cpu0 &cpu1 &cpu2 &cpu3 &cpu4 &cpu5>; 834 }; 832 }; 835 833 836 ppi_cluster1: 834 ppi_cluster1: interrupt-partition-1 { 837 affini 835 affinity = <&cpu6 &cpu7>; 838 }; 836 }; 839 }; 837 }; 840 }; 838 }; 841 839 842 mcusys: syscon@c53a000 { 840 mcusys: syscon@c53a000 { 843 compatible = "mediatek 841 compatible = "mediatek,mt8186-mcusys", "syscon"; 844 reg = <0 0xc53a000 0 0 842 reg = <0 0xc53a000 0 0x1000>; 845 #clock-cells = <1>; 843 #clock-cells = <1>; 846 }; 844 }; 847 845 848 topckgen: syscon@10000000 { 846 topckgen: syscon@10000000 { 849 compatible = "mediatek 847 compatible = "mediatek,mt8186-topckgen", "syscon"; 850 reg = <0 0x10000000 0 848 reg = <0 0x10000000 0 0x1000>; 851 #clock-cells = <1>; 849 #clock-cells = <1>; 852 }; 850 }; 853 851 854 infracfg_ao: syscon@10001000 { 852 infracfg_ao: syscon@10001000 { 855 compatible = "mediatek 853 compatible = "mediatek,mt8186-infracfg_ao", "syscon"; 856 reg = <0 0x10001000 0 854 reg = <0 0x10001000 0 0x1000>; 857 #clock-cells = <1>; 855 #clock-cells = <1>; 858 #reset-cells = <1>; 856 #reset-cells = <1>; 859 }; 857 }; 860 858 861 pericfg: syscon@10003000 { 859 pericfg: syscon@10003000 { 862 compatible = "mediatek 860 compatible = "mediatek,mt8186-pericfg", "syscon"; 863 reg = <0 0x10003000 0 861 reg = <0 0x10003000 0 0x1000>; 864 }; 862 }; 865 863 866 pio: pinctrl@10005000 { 864 pio: pinctrl@10005000 { 867 compatible = "mediatek 865 compatible = "mediatek,mt8186-pinctrl"; 868 reg = <0 0x10005000 0 866 reg = <0 0x10005000 0 0x1000>, 869 <0 0x10002000 0 867 <0 0x10002000 0 0x0200>, 870 <0 0x10002200 0 868 <0 0x10002200 0 0x0200>, 871 <0 0x10002400 0 869 <0 0x10002400 0 0x0200>, 872 <0 0x10002600 0 870 <0 0x10002600 0 0x0200>, 873 <0 0x10002a00 0 871 <0 0x10002a00 0 0x0200>, 874 <0 0x10002c00 0 872 <0 0x10002c00 0 0x0200>, 875 <0 0x1000b000 0 873 <0 0x1000b000 0 0x1000>; 876 reg-names = "iocfg0", 874 reg-names = "iocfg0", "iocfg_lt", "iocfg_lm", "iocfg_lb", 877 "iocfg_bl" 875 "iocfg_bl", "iocfg_rb", "iocfg_rt", "eint"; 878 gpio-controller; 876 gpio-controller; 879 #gpio-cells = <2>; 877 #gpio-cells = <2>; 880 gpio-ranges = <&pio 0 878 gpio-ranges = <&pio 0 0 185>; 881 interrupt-controller; 879 interrupt-controller; 882 interrupts = <GIC_SPI 880 interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH 0>; 883 #interrupt-cells = <2> 881 #interrupt-cells = <2>; 884 }; 882 }; 885 883 886 scpsys: syscon@10006000 { 884 scpsys: syscon@10006000 { 887 compatible = "mediatek 885 compatible = "mediatek,mt8186-scpsys", "syscon", "simple-mfd"; 888 reg = <0 0x10006000 0 886 reg = <0 0x10006000 0 0x1000>; 889 887 890 /* System Power Manage 888 /* System Power Manager */ 891 spm: power-controller 889 spm: power-controller { 892 compatible = " 890 compatible = "mediatek,mt8186-power-controller"; 893 #address-cells 891 #address-cells = <1>; 894 #size-cells = 892 #size-cells = <0>; 895 #power-domain- 893 #power-domain-cells = <1>; 896 894 897 /* power domai 895 /* power domain of the SoC */ 898 mfg0: power-do 896 mfg0: power-domain@MT8186_POWER_DOMAIN_MFG0 { 899 reg = 897 reg = <MT8186_POWER_DOMAIN_MFG0>; 900 clocks 898 clocks = <&topckgen CLK_TOP_MFG>; 901 clock- 899 clock-names = "mfg00"; 902 #addre 900 #address-cells = <1>; 903 #size- 901 #size-cells = <0>; 904 #power 902 #power-domain-cells = <1>; 905 903 906 mfg1: 904 mfg1: power-domain@MT8186_POWER_DOMAIN_MFG1 { 907 905 reg = <MT8186_POWER_DOMAIN_MFG1>; 908 906 mediatek,infracfg = <&infracfg_ao>; 909 907 #address-cells = <1>; 910 908 #size-cells = <0>; 911 909 #power-domain-cells = <1>; 912 910 913 911 power-domain@MT8186_POWER_DOMAIN_MFG2 { 914 912 reg = <MT8186_POWER_DOMAIN_MFG2>; 915 913 #power-domain-cells = <0>; 916 914 }; 917 915 918 916 power-domain@MT8186_POWER_DOMAIN_MFG3 { 919 917 reg = <MT8186_POWER_DOMAIN_MFG3>; 920 918 #power-domain-cells = <0>; 921 919 }; 922 }; 920 }; 923 }; 921 }; 924 922 925 power-domain@M 923 power-domain@MT8186_POWER_DOMAIN_CSIRX_TOP { 926 reg = 924 reg = <MT8186_POWER_DOMAIN_CSIRX_TOP>; 927 clocks 925 clocks = <&topckgen CLK_TOP_SENINF>, 928 926 <&topckgen CLK_TOP_SENINF1>; 929 clock- !! 927 clock-names = "csirx_top0", "csirx_top1"; 930 << 931 #power 928 #power-domain-cells = <0>; 932 }; 929 }; 933 930 934 power-domain@M 931 power-domain@MT8186_POWER_DOMAIN_SSUSB { 935 reg = 932 reg = <MT8186_POWER_DOMAIN_SSUSB>; 936 clocks << 937 << 938 clock- << 939 #power 933 #power-domain-cells = <0>; 940 }; 934 }; 941 935 942 power-domain@M 936 power-domain@MT8186_POWER_DOMAIN_SSUSB_P1 { 943 reg = 937 reg = <MT8186_POWER_DOMAIN_SSUSB_P1>; 944 clocks << 945 << 946 clock- << 947 #power 938 #power-domain-cells = <0>; 948 }; 939 }; 949 940 950 power-domain@M 941 power-domain@MT8186_POWER_DOMAIN_ADSP_AO { 951 reg = 942 reg = <MT8186_POWER_DOMAIN_ADSP_AO>; 952 clocks 943 clocks = <&topckgen CLK_TOP_AUDIODSP>, 953 944 <&topckgen CLK_TOP_ADSP_BUS>; 954 clock- !! 945 clock-names = "audioadsp", "adsp_bus"; 955 << 956 #addre 946 #address-cells = <1>; 957 #size- 947 #size-cells = <0>; 958 #power 948 #power-domain-cells = <1>; 959 949 960 power- 950 power-domain@MT8186_POWER_DOMAIN_ADSP_INFRA { 961 951 reg = <MT8186_POWER_DOMAIN_ADSP_INFRA>; 962 952 #address-cells = <1>; 963 953 #size-cells = <0>; 964 954 #power-domain-cells = <1>; 965 955 966 956 power-domain@MT8186_POWER_DOMAIN_ADSP_TOP { 967 957 reg = <MT8186_POWER_DOMAIN_ADSP_TOP>; 968 958 mediatek,infracfg = <&infracfg_ao>; 969 959 #power-domain-cells = <0>; 970 960 }; 971 }; 961 }; 972 }; 962 }; 973 963 974 power-domain@M 964 power-domain@MT8186_POWER_DOMAIN_CONN_ON { 975 reg = 965 reg = <MT8186_POWER_DOMAIN_CONN_ON>; 976 mediat 966 mediatek,infracfg = <&infracfg_ao>; 977 #power 967 #power-domain-cells = <0>; 978 }; 968 }; 979 969 980 power-domain@M 970 power-domain@MT8186_POWER_DOMAIN_DIS { 981 reg = 971 reg = <MT8186_POWER_DOMAIN_DIS>; 982 clocks 972 clocks = <&topckgen CLK_TOP_DISP>, 983 973 <&topckgen CLK_TOP_MDP>, 984 974 <&mmsys CLK_MM_SMI_INFRA>, 985 975 <&mmsys CLK_MM_SMI_COMMON>, 986 976 <&mmsys CLK_MM_SMI_GALS>, 987 977 <&mmsys CLK_MM_SMI_IOMMU>; 988 clock- !! 978 clock-names = "disp", "mdp", "smi_infra", "smi_common", 989 !! 979 "smi_gals", "smi_iommu"; 990 << 991 << 992 << 993 mediat 980 mediatek,infracfg = <&infracfg_ao>; 994 #addre 981 #address-cells = <1>; 995 #size- 982 #size-cells = <0>; 996 #power 983 #power-domain-cells = <1>; 997 984 998 power- 985 power-domain@MT8186_POWER_DOMAIN_VDEC { 999 986 reg = <MT8186_POWER_DOMAIN_VDEC>; 1000 987 clocks = <&topckgen CLK_TOP_VDEC>, 1001 988 <&vdecsys CLK_VDEC_LARB1_CKEN>; 1002 989 clock-names = "vdec0", "larb"; 1003 990 mediatek,infracfg = <&infracfg_ao>; 1004 991 #power-domain-cells = <0>; 1005 }; 992 }; 1006 993 1007 power 994 power-domain@MT8186_POWER_DOMAIN_CAM { 1008 995 reg = <MT8186_POWER_DOMAIN_CAM>; 1009 !! 996 clocks = <&topckgen CLK_TOP_CAM>, >> 997 <&topckgen CLK_TOP_SENINF>, 1010 998 <&topckgen CLK_TOP_SENINF1>, 1011 999 <&topckgen CLK_TOP_SENINF2>, 1012 1000 <&topckgen CLK_TOP_SENINF3>, 1013 << 1014 1001 <&topckgen CLK_TOP_CAMTM>, 1015 !! 1002 <&camsys CLK_CAM2MM_GALS>; 1016 !! 1003 clock-names = "cam-top", "cam0", "cam1", "cam2", 1017 !! 1004 "cam3", "cam-tm", "gals"; 1018 << 1019 << 1020 1005 mediatek,infracfg = <&infracfg_ao>; 1021 1006 #address-cells = <1>; 1022 1007 #size-cells = <0>; 1023 1008 #power-domain-cells = <1>; 1024 1009 1025 1010 power-domain@MT8186_POWER_DOMAIN_CAM_RAWB { 1026 1011 reg = <MT8186_POWER_DOMAIN_CAM_RAWB>; 1027 1012 #power-domain-cells = <0>; 1028 1013 }; 1029 1014 1030 1015 power-domain@MT8186_POWER_DOMAIN_CAM_RAWA { 1031 1016 reg = <MT8186_POWER_DOMAIN_CAM_RAWA>; 1032 1017 #power-domain-cells = <0>; 1033 1018 }; 1034 }; 1019 }; 1035 1020 1036 power 1021 power-domain@MT8186_POWER_DOMAIN_IMG { 1037 1022 reg = <MT8186_POWER_DOMAIN_IMG>; 1038 !! 1023 clocks = <&topckgen CLK_TOP_IMG1>, 1039 !! 1024 <&imgsys1 CLK_IMG1_GALS_IMG1>; 1040 !! 1025 clock-names = "img-top", "gals"; 1041 1026 mediatek,infracfg = <&infracfg_ao>; 1042 1027 #address-cells = <1>; 1043 1028 #size-cells = <0>; 1044 1029 #power-domain-cells = <1>; 1045 1030 1046 1031 power-domain@MT8186_POWER_DOMAIN_IMG2 { 1047 1032 reg = <MT8186_POWER_DOMAIN_IMG2>; 1048 1033 #power-domain-cells = <0>; 1049 1034 }; 1050 }; 1035 }; 1051 1036 1052 power 1037 power-domain@MT8186_POWER_DOMAIN_IPE { 1053 1038 reg = <MT8186_POWER_DOMAIN_IPE>; 1054 1039 clocks = <&topckgen CLK_TOP_IPE>, 1055 1040 <&ipesys CLK_IPE_LARB19>, 1056 1041 <&ipesys CLK_IPE_LARB20>, 1057 1042 <&ipesys CLK_IPE_SMI_SUBCOM>, 1058 1043 <&ipesys CLK_IPE_GALS_IPE>; 1059 !! 1044 clock-names = "ipe-top", "ipe-larb0", "ipe-larb1", 1060 !! 1045 "ipe-smi", "ipe-gals"; 1061 << 1062 << 1063 << 1064 1046 mediatek,infracfg = <&infracfg_ao>; 1065 1047 #power-domain-cells = <0>; 1066 }; 1048 }; 1067 1049 1068 power 1050 power-domain@MT8186_POWER_DOMAIN_VENC { 1069 1051 reg = <MT8186_POWER_DOMAIN_VENC>; 1070 1052 clocks = <&topckgen CLK_TOP_VENC>, 1071 1053 <&vencsys CLK_VENC_CKE1_VENC>; 1072 !! 1054 clock-names = "venc0", "larb"; 1073 1055 mediatek,infracfg = <&infracfg_ao>; 1074 1056 #power-domain-cells = <0>; 1075 }; 1057 }; 1076 1058 1077 power 1059 power-domain@MT8186_POWER_DOMAIN_WPE { 1078 1060 reg = <MT8186_POWER_DOMAIN_WPE>; 1079 1061 clocks = <&topckgen CLK_TOP_WPE>, 1080 1062 <&wpesys CLK_WPE_SMI_LARB8_CK_EN>, 1081 1063 <&wpesys CLK_WPE_SMI_LARB8_PCLK_EN>; 1082 !! 1064 clock-names = "wpe0", "larb-ck", "larb-pclk"; 1083 << 1084 << 1085 1065 mediatek,infracfg = <&infracfg_ao>; 1086 1066 #power-domain-cells = <0>; 1087 }; 1067 }; 1088 }; 1068 }; 1089 }; 1069 }; 1090 }; 1070 }; 1091 1071 1092 watchdog: watchdog@10007000 { 1072 watchdog: watchdog@10007000 { 1093 compatible = "mediate 1073 compatible = "mediatek,mt8186-wdt"; 1094 mediatek,disable-extr 1074 mediatek,disable-extrst; 1095 reg = <0 0x10007000 0 1075 reg = <0 0x10007000 0 0x1000>; 1096 #reset-cells = <1>; 1076 #reset-cells = <1>; 1097 }; 1077 }; 1098 1078 1099 apmixedsys: syscon@1000c000 { 1079 apmixedsys: syscon@1000c000 { 1100 compatible = "mediate 1080 compatible = "mediatek,mt8186-apmixedsys", "syscon"; 1101 reg = <0 0x1000c000 0 1081 reg = <0 0x1000c000 0 0x1000>; 1102 #clock-cells = <1>; 1082 #clock-cells = <1>; 1103 }; 1083 }; 1104 1084 1105 pwrap: pwrap@1000d000 { 1085 pwrap: pwrap@1000d000 { 1106 compatible = "mediate 1086 compatible = "mediatek,mt8186-pwrap", "syscon"; 1107 reg = <0 0x1000d000 0 1087 reg = <0 0x1000d000 0 0x1000>; 1108 reg-names = "pwrap"; 1088 reg-names = "pwrap"; 1109 interrupts = <GIC_SPI 1089 interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH 0>; 1110 clocks = <&infracfg_a 1090 clocks = <&infracfg_ao CLK_INFRA_AO_PMIC_AP>, 1111 <&infracfg_a 1091 <&infracfg_ao CLK_INFRA_AO_PMIC_TMR>; 1112 clock-names = "spi", 1092 clock-names = "spi", "wrap"; 1113 }; 1093 }; 1114 1094 1115 spmi: spmi@10015000 { 1095 spmi: spmi@10015000 { 1116 compatible = "mediate 1096 compatible = "mediatek,mt8186-spmi", "mediatek,mt8195-spmi"; 1117 reg = <0 0x10015000 0 1097 reg = <0 0x10015000 0 0x000e00>, <0 0x1001B000 0 0x000100>; 1118 reg-names = "pmif", " 1098 reg-names = "pmif", "spmimst"; 1119 clocks = <&infracfg_a 1099 clocks = <&infracfg_ao CLK_INFRA_AO_PMIC_AP>, 1120 <&infracfg_a 1100 <&infracfg_ao CLK_INFRA_AO_PMIC_TMR>, 1121 <&topckgen C 1101 <&topckgen CLK_TOP_SPMI_MST>; 1122 clock-names = "pmif_s 1102 clock-names = "pmif_sys_ck", "pmif_tmr_ck", "spmimst_clk_mux"; 1123 assigned-clocks = <&t 1103 assigned-clocks = <&topckgen CLK_TOP_SPMI_MST>; 1124 assigned-clock-parent 1104 assigned-clock-parents = <&topckgen CLK_TOP_ULPOSC1_D10>; 1125 interrupts = <GIC_SPI 1105 interrupts = <GIC_SPI 237 IRQ_TYPE_LEVEL_HIGH 0>, 1126 <GIC_SPI 1106 <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH 0>; 1127 status = "disabled"; 1107 status = "disabled"; 1128 }; 1108 }; 1129 1109 1130 systimer: timer@10017000 { 1110 systimer: timer@10017000 { 1131 compatible = "mediate 1111 compatible = "mediatek,mt8186-timer", 1132 "mediate 1112 "mediatek,mt6765-timer"; 1133 reg = <0 0x10017000 0 1113 reg = <0 0x10017000 0 0x1000>; 1134 interrupts = <GIC_SPI 1114 interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH 0>; 1135 clocks = <&clk13m>; 1115 clocks = <&clk13m>; 1136 }; 1116 }; 1137 1117 1138 gce: mailbox@1022c000 { 1118 gce: mailbox@1022c000 { 1139 compatible = "mediate 1119 compatible = "mediatek,mt8186-gce"; 1140 reg = <0 0X1022c000 0 1120 reg = <0 0X1022c000 0 0x4000>; 1141 clocks = <&infracfg_a 1121 clocks = <&infracfg_ao CLK_INFRA_AO_GCE>; 1142 clock-names = "gce"; 1122 clock-names = "gce"; 1143 interrupts = <GIC_SPI 1123 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH 0>; 1144 #mbox-cells = <2>; 1124 #mbox-cells = <2>; 1145 }; 1125 }; 1146 1126 1147 scp: scp@10500000 { 1127 scp: scp@10500000 { 1148 compatible = "mediate 1128 compatible = "mediatek,mt8186-scp"; 1149 reg = <0 0x10500000 0 1129 reg = <0 0x10500000 0 0x40000>, 1150 <0 0x105c0000 0 1130 <0 0x105c0000 0 0x19080>; 1151 reg-names = "sram", " 1131 reg-names = "sram", "cfg"; 1152 interrupts = <GIC_SPI 1132 interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH 0>; 1153 }; 1133 }; 1154 1134 1155 adsp: adsp@10680000 { 1135 adsp: adsp@10680000 { 1156 compatible = "mediate 1136 compatible = "mediatek,mt8186-dsp"; 1157 reg = <0 0x10680000 0 1137 reg = <0 0x10680000 0 0x2000>, <0 0x10800000 0 0x100000>, 1158 <0 0x1068b000 0 1138 <0 0x1068b000 0 0x100>, <0 0x1068f000 0 0x1000>; 1159 reg-names = "cfg", "s 1139 reg-names = "cfg", "sram", "sec", "bus"; 1160 clocks = <&topckgen C 1140 clocks = <&topckgen CLK_TOP_AUDIODSP>, <&topckgen CLK_TOP_ADSP_BUS>; 1161 clock-names = "audiod 1141 clock-names = "audiodsp", "adsp_bus"; 1162 assigned-clocks = <&t 1142 assigned-clocks = <&topckgen CLK_TOP_AUDIODSP>, 1163 <&t 1143 <&topckgen CLK_TOP_ADSP_BUS>; 1164 assigned-clock-parent 1144 assigned-clock-parents = <&clk26m>, <&topckgen CLK_TOP_MAINPLL_D2_D2>; 1165 mbox-names = "rx", "t 1145 mbox-names = "rx", "tx"; 1166 mboxes = <&adsp_mailb 1146 mboxes = <&adsp_mailbox0>, <&adsp_mailbox1>; 1167 power-domains = <&spm 1147 power-domains = <&spm MT8186_POWER_DOMAIN_ADSP_TOP>; 1168 status = "disabled"; 1148 status = "disabled"; 1169 }; 1149 }; 1170 1150 1171 adsp_mailbox0: mailbox@106861 !! 1151 adsp_mailbox0: mailbox@10686000 { 1172 compatible = "mediate 1152 compatible = "mediatek,mt8186-adsp-mbox"; 1173 #mbox-cells = <0>; 1153 #mbox-cells = <0>; 1174 reg = <0 0x10686100 0 1154 reg = <0 0x10686100 0 0x1000>; 1175 interrupts = <GIC_SPI 1155 interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH 0>; 1176 }; 1156 }; 1177 1157 1178 adsp_mailbox1: mailbox@106871 !! 1158 adsp_mailbox1: mailbox@10687000 { 1179 compatible = "mediate 1159 compatible = "mediatek,mt8186-adsp-mbox"; 1180 #mbox-cells = <0>; 1160 #mbox-cells = <0>; 1181 reg = <0 0x10687100 0 1161 reg = <0 0x10687100 0 0x1000>; 1182 interrupts = <GIC_SPI 1162 interrupts = <GIC_SPI 362 IRQ_TYPE_LEVEL_HIGH 0>; 1183 }; 1163 }; 1184 1164 1185 nor_flash: spi@11000000 { 1165 nor_flash: spi@11000000 { 1186 compatible = "mediate 1166 compatible = "mediatek,mt8186-nor"; 1187 reg = <0 0x11000000 0 1167 reg = <0 0x11000000 0 0x1000>; 1188 clocks = <&topckgen C 1168 clocks = <&topckgen CLK_TOP_SPINOR>, 1189 <&infracfg_a 1169 <&infracfg_ao CLK_INFRA_AO_SPINOR>, 1190 <&infracfg_a 1170 <&infracfg_ao CLK_INFRA_AO_FLASHIF_133M>, 1191 <&infracfg_a 1171 <&infracfg_ao CLK_INFRA_AO_FLASHIF_66M>; 1192 clock-names = "spi", 1172 clock-names = "spi", "sf", "axi", "axi_s"; 1193 assigned-clocks = <&t 1173 assigned-clocks = <&topckgen CLK_TOP_SPINOR>; 1194 assigned-clock-parent 1174 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D3_D8>; 1195 interrupts = <GIC_SPI 1175 interrupts = <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH 0>; 1196 status = "disabled"; 1176 status = "disabled"; 1197 }; 1177 }; 1198 1178 1199 auxadc: adc@11001000 { 1179 auxadc: adc@11001000 { 1200 compatible = "mediate 1180 compatible = "mediatek,mt8186-auxadc", "mediatek,mt8173-auxadc"; 1201 reg = <0 0x11001000 0 1181 reg = <0 0x11001000 0 0x1000>; 1202 #io-channel-cells = < 1182 #io-channel-cells = <1>; 1203 clocks = <&infracfg_a 1183 clocks = <&infracfg_ao CLK_INFRA_AO_AUXADC>; 1204 clock-names = "main"; 1184 clock-names = "main"; 1205 }; 1185 }; 1206 1186 1207 uart0: serial@11002000 { 1187 uart0: serial@11002000 { 1208 compatible = "mediate 1188 compatible = "mediatek,mt8186-uart", 1209 "mediate 1189 "mediatek,mt6577-uart"; 1210 reg = <0 0x11002000 0 1190 reg = <0 0x11002000 0 0x1000>; 1211 interrupts = <GIC_SPI 1191 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH 0>; 1212 clocks = <&clk26m>, < 1192 clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART0>; 1213 clock-names = "baud", 1193 clock-names = "baud", "bus"; 1214 status = "disabled"; 1194 status = "disabled"; 1215 }; 1195 }; 1216 1196 1217 uart1: serial@11003000 { 1197 uart1: serial@11003000 { 1218 compatible = "mediate 1198 compatible = "mediatek,mt8186-uart", 1219 "mediate 1199 "mediatek,mt6577-uart"; 1220 reg = <0 0x11003000 0 1200 reg = <0 0x11003000 0 0x1000>; 1221 interrupts = <GIC_SPI 1201 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH 0>; 1222 clocks = <&clk26m>, < 1202 clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART1>; 1223 clock-names = "baud", 1203 clock-names = "baud", "bus"; 1224 status = "disabled"; 1204 status = "disabled"; 1225 }; 1205 }; 1226 1206 1227 i2c0: i2c@11007000 { 1207 i2c0: i2c@11007000 { 1228 compatible = "mediate 1208 compatible = "mediatek,mt8186-i2c"; 1229 reg = <0 0x11007000 0 1209 reg = <0 0x11007000 0 0x1000>, 1230 <0 0x10200100 0 1210 <0 0x10200100 0 0x100>; 1231 interrupts = <GIC_SPI 1211 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH 0>; 1232 clocks = <&imp_iic_wr 1212 clocks = <&imp_iic_wrap CLK_IMP_IIC_WRAP_AP_CLOCK_I2C0>, 1233 <&infracfg_a 1213 <&infracfg_ao CLK_INFRA_AO_AP_DMA>; 1234 clock-names = "main", 1214 clock-names = "main", "dma"; 1235 clock-div = <1>; 1215 clock-div = <1>; 1236 #address-cells = <1>; 1216 #address-cells = <1>; 1237 #size-cells = <0>; 1217 #size-cells = <0>; 1238 status = "disabled"; 1218 status = "disabled"; 1239 }; 1219 }; 1240 1220 1241 i2c1: i2c@11008000 { 1221 i2c1: i2c@11008000 { 1242 compatible = "mediate 1222 compatible = "mediatek,mt8186-i2c"; 1243 reg = <0 0x11008000 0 1223 reg = <0 0x11008000 0 0x1000>, 1244 <0 0x10200200 0 1224 <0 0x10200200 0 0x100>; 1245 interrupts = <GIC_SPI 1225 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH 0>; 1246 clocks = <&imp_iic_wr 1226 clocks = <&imp_iic_wrap CLK_IMP_IIC_WRAP_AP_CLOCK_I2C1>, 1247 <&infracfg_a 1227 <&infracfg_ao CLK_INFRA_AO_AP_DMA>; 1248 clock-names = "main", 1228 clock-names = "main", "dma"; 1249 clock-div = <1>; 1229 clock-div = <1>; 1250 #address-cells = <1>; 1230 #address-cells = <1>; 1251 #size-cells = <0>; 1231 #size-cells = <0>; 1252 status = "disabled"; 1232 status = "disabled"; 1253 }; 1233 }; 1254 1234 1255 i2c2: i2c@11009000 { 1235 i2c2: i2c@11009000 { 1256 compatible = "mediate 1236 compatible = "mediatek,mt8186-i2c"; 1257 reg = <0 0x11009000 0 1237 reg = <0 0x11009000 0 0x1000>, 1258 <0 0x10200300 0 1238 <0 0x10200300 0 0x180>; 1259 interrupts = <GIC_SPI 1239 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH 0>; 1260 clocks = <&imp_iic_wr 1240 clocks = <&imp_iic_wrap CLK_IMP_IIC_WRAP_AP_CLOCK_I2C2>, 1261 <&infracfg_a 1241 <&infracfg_ao CLK_INFRA_AO_AP_DMA>; 1262 clock-names = "main", 1242 clock-names = "main", "dma"; 1263 clock-div = <1>; 1243 clock-div = <1>; 1264 #address-cells = <1>; 1244 #address-cells = <1>; 1265 #size-cells = <0>; 1245 #size-cells = <0>; 1266 status = "disabled"; 1246 status = "disabled"; 1267 }; 1247 }; 1268 1248 1269 i2c3: i2c@1100f000 { 1249 i2c3: i2c@1100f000 { 1270 compatible = "mediate 1250 compatible = "mediatek,mt8186-i2c"; 1271 reg = <0 0x1100f000 0 1251 reg = <0 0x1100f000 0 0x1000>, 1272 <0 0x10200480 0 1252 <0 0x10200480 0 0x100>; 1273 interrupts = <GIC_SPI 1253 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH 0>; 1274 clocks = <&imp_iic_wr 1254 clocks = <&imp_iic_wrap CLK_IMP_IIC_WRAP_AP_CLOCK_I2C3>, 1275 <&infracfg_a 1255 <&infracfg_ao CLK_INFRA_AO_AP_DMA>; 1276 clock-names = "main", 1256 clock-names = "main", "dma"; 1277 clock-div = <1>; 1257 clock-div = <1>; 1278 #address-cells = <1>; 1258 #address-cells = <1>; 1279 #size-cells = <0>; 1259 #size-cells = <0>; 1280 status = "disabled"; 1260 status = "disabled"; 1281 }; 1261 }; 1282 1262 1283 i2c4: i2c@11011000 { 1263 i2c4: i2c@11011000 { 1284 compatible = "mediate 1264 compatible = "mediatek,mt8186-i2c"; 1285 reg = <0 0x11011000 0 1265 reg = <0 0x11011000 0 0x1000>, 1286 <0 0x10200580 0 1266 <0 0x10200580 0 0x180>; 1287 interrupts = <GIC_SPI 1267 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH 0>; 1288 clocks = <&imp_iic_wr 1268 clocks = <&imp_iic_wrap CLK_IMP_IIC_WRAP_AP_CLOCK_I2C4>, 1289 <&infracfg_a 1269 <&infracfg_ao CLK_INFRA_AO_AP_DMA>; 1290 clock-names = "main", 1270 clock-names = "main", "dma"; 1291 clock-div = <1>; 1271 clock-div = <1>; 1292 #address-cells = <1>; 1272 #address-cells = <1>; 1293 #size-cells = <0>; 1273 #size-cells = <0>; 1294 status = "disabled"; 1274 status = "disabled"; 1295 }; 1275 }; 1296 1276 1297 i2c5: i2c@11016000 { 1277 i2c5: i2c@11016000 { 1298 compatible = "mediate 1278 compatible = "mediatek,mt8186-i2c"; 1299 reg = <0 0x11016000 0 1279 reg = <0 0x11016000 0 0x1000>, 1300 <0 0x10200700 0 1280 <0 0x10200700 0 0x100>; 1301 interrupts = <GIC_SPI 1281 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH 0>; 1302 clocks = <&imp_iic_wr 1282 clocks = <&imp_iic_wrap CLK_IMP_IIC_WRAP_AP_CLOCK_I2C5>, 1303 <&infracfg_a 1283 <&infracfg_ao CLK_INFRA_AO_AP_DMA>; 1304 clock-names = "main", 1284 clock-names = "main", "dma"; 1305 clock-div = <1>; 1285 clock-div = <1>; 1306 #address-cells = <1>; 1286 #address-cells = <1>; 1307 #size-cells = <0>; 1287 #size-cells = <0>; 1308 status = "disabled"; 1288 status = "disabled"; 1309 }; 1289 }; 1310 1290 1311 i2c6: i2c@1100d000 { 1291 i2c6: i2c@1100d000 { 1312 compatible = "mediate 1292 compatible = "mediatek,mt8186-i2c"; 1313 reg = <0 0x1100d000 0 1293 reg = <0 0x1100d000 0 0x1000>, 1314 <0 0x10200800 0 1294 <0 0x10200800 0 0x100>; 1315 interrupts = <GIC_SPI 1295 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH 0>; 1316 clocks = <&imp_iic_wr 1296 clocks = <&imp_iic_wrap CLK_IMP_IIC_WRAP_AP_CLOCK_I2C6>, 1317 <&infracfg_a 1297 <&infracfg_ao CLK_INFRA_AO_AP_DMA>; 1318 clock-names = "main", 1298 clock-names = "main", "dma"; 1319 clock-div = <1>; 1299 clock-div = <1>; 1320 #address-cells = <1>; 1300 #address-cells = <1>; 1321 #size-cells = <0>; 1301 #size-cells = <0>; 1322 status = "disabled"; 1302 status = "disabled"; 1323 }; 1303 }; 1324 1304 1325 i2c7: i2c@11004000 { 1305 i2c7: i2c@11004000 { 1326 compatible = "mediate 1306 compatible = "mediatek,mt8186-i2c"; 1327 reg = <0 0x11004000 0 1307 reg = <0 0x11004000 0 0x1000>, 1328 <0 0x10200900 0 1308 <0 0x10200900 0 0x180>; 1329 interrupts = <GIC_SPI 1309 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH 0>; 1330 clocks = <&imp_iic_wr 1310 clocks = <&imp_iic_wrap CLK_IMP_IIC_WRAP_AP_CLOCK_I2C7>, 1331 <&infracfg_a 1311 <&infracfg_ao CLK_INFRA_AO_AP_DMA>; 1332 clock-names = "main", 1312 clock-names = "main", "dma"; 1333 clock-div = <1>; 1313 clock-div = <1>; 1334 #address-cells = <1>; 1314 #address-cells = <1>; 1335 #size-cells = <0>; 1315 #size-cells = <0>; 1336 status = "disabled"; 1316 status = "disabled"; 1337 }; 1317 }; 1338 1318 1339 i2c8: i2c@11005000 { 1319 i2c8: i2c@11005000 { 1340 compatible = "mediate 1320 compatible = "mediatek,mt8186-i2c"; 1341 reg = <0 0x11005000 0 1321 reg = <0 0x11005000 0 0x1000>, 1342 <0 0x10200A80 0 1322 <0 0x10200A80 0 0x180>; 1343 interrupts = <GIC_SPI 1323 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH 0>; 1344 clocks = <&imp_iic_wr 1324 clocks = <&imp_iic_wrap CLK_IMP_IIC_WRAP_AP_CLOCK_I2C8>, 1345 <&infracfg_a 1325 <&infracfg_ao CLK_INFRA_AO_AP_DMA>; 1346 clock-names = "main", 1326 clock-names = "main", "dma"; 1347 clock-div = <1>; 1327 clock-div = <1>; 1348 #address-cells = <1>; 1328 #address-cells = <1>; 1349 #size-cells = <0>; 1329 #size-cells = <0>; 1350 status = "disabled"; 1330 status = "disabled"; 1351 }; 1331 }; 1352 1332 1353 spi0: spi@1100a000 { 1333 spi0: spi@1100a000 { 1354 compatible = "mediate 1334 compatible = "mediatek,mt8186-spi", "mediatek,mt6765-spi"; 1355 #address-cells = <1>; 1335 #address-cells = <1>; 1356 #size-cells = <0>; 1336 #size-cells = <0>; 1357 reg = <0 0x1100a000 0 1337 reg = <0 0x1100a000 0 0x1000>; 1358 interrupts = <GIC_SPI 1338 interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH 0>; 1359 clocks = <&topckgen C 1339 clocks = <&topckgen CLK_TOP_MAINPLL_D5>, 1360 <&topckgen C 1340 <&topckgen CLK_TOP_SPI>, 1361 <&infracfg_a 1341 <&infracfg_ao CLK_INFRA_AO_SPI0>; 1362 clock-names = "parent 1342 clock-names = "parent-clk", "sel-clk", "spi-clk"; 1363 status = "disabled"; 1343 status = "disabled"; 1364 }; 1344 }; 1365 1345 1366 lvts: thermal-sensor@1100b000 << 1367 compatible = "mediate << 1368 reg = <0 0x1100b000 0 << 1369 interrupts = <GIC_SPI << 1370 clocks = <&infracfg_a << 1371 resets = <&infracfg_a << 1372 nvmem-cells = <&lvts_ << 1373 nvmem-cell-names = "l << 1374 #thermal-sensor-cells << 1375 }; << 1376 << 1377 svs: svs@1100bc00 { << 1378 compatible = "mediate << 1379 reg = <0 0x1100bc00 0 << 1380 interrupts = <GIC_SPI << 1381 clocks = <&infracfg_a << 1382 clock-names = "main"; << 1383 nvmem-cells = <&svs_c << 1384 nvmem-cell-names = "s << 1385 resets = <&infracfg_a << 1386 reset-names = "svs_rs << 1387 }; << 1388 << 1389 pwm0: pwm@1100e000 { 1346 pwm0: pwm@1100e000 { 1390 compatible = "mediate 1347 compatible = "mediatek,mt8186-disp-pwm", "mediatek,mt8183-disp-pwm"; 1391 reg = <0 0x1100e000 0 1348 reg = <0 0x1100e000 0 0x1000>; 1392 interrupts = <GIC_SPI 1349 interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH 0>; 1393 #pwm-cells = <2>; 1350 #pwm-cells = <2>; 1394 clocks = <&topckgen C 1351 clocks = <&topckgen CLK_TOP_DISP_PWM>, 1395 <&infracfg_a 1352 <&infracfg_ao CLK_INFRA_AO_DISP_PWM>; 1396 clock-names = "main", 1353 clock-names = "main", "mm"; 1397 status = "disabled"; 1354 status = "disabled"; 1398 }; 1355 }; 1399 1356 1400 spi1: spi@11010000 { 1357 spi1: spi@11010000 { 1401 compatible = "mediate 1358 compatible = "mediatek,mt8186-spi", "mediatek,mt6765-spi"; 1402 #address-cells = <1>; 1359 #address-cells = <1>; 1403 #size-cells = <0>; 1360 #size-cells = <0>; 1404 reg = <0 0x11010000 0 1361 reg = <0 0x11010000 0 0x1000>; 1405 interrupts = <GIC_SPI 1362 interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH 0>; 1406 clocks = <&topckgen C 1363 clocks = <&topckgen CLK_TOP_MAINPLL_D5>, 1407 <&topckgen C 1364 <&topckgen CLK_TOP_SPI>, 1408 <&infracfg_a 1365 <&infracfg_ao CLK_INFRA_AO_SPI1>; 1409 clock-names = "parent 1366 clock-names = "parent-clk", "sel-clk", "spi-clk"; 1410 status = "disabled"; 1367 status = "disabled"; 1411 }; 1368 }; 1412 1369 1413 spi2: spi@11012000 { 1370 spi2: spi@11012000 { 1414 compatible = "mediate 1371 compatible = "mediatek,mt8186-spi", "mediatek,mt6765-spi"; 1415 #address-cells = <1>; 1372 #address-cells = <1>; 1416 #size-cells = <0>; 1373 #size-cells = <0>; 1417 reg = <0 0x11012000 0 1374 reg = <0 0x11012000 0 0x1000>; 1418 interrupts = <GIC_SPI 1375 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH 0>; 1419 clocks = <&topckgen C 1376 clocks = <&topckgen CLK_TOP_MAINPLL_D5>, 1420 <&topckgen C 1377 <&topckgen CLK_TOP_SPI>, 1421 <&infracfg_a 1378 <&infracfg_ao CLK_INFRA_AO_SPI2>; 1422 clock-names = "parent 1379 clock-names = "parent-clk", "sel-clk", "spi-clk"; 1423 status = "disabled"; 1380 status = "disabled"; 1424 }; 1381 }; 1425 1382 1426 spi3: spi@11013000 { 1383 spi3: spi@11013000 { 1427 compatible = "mediate 1384 compatible = "mediatek,mt8186-spi", "mediatek,mt6765-spi"; 1428 #address-cells = <1>; 1385 #address-cells = <1>; 1429 #size-cells = <0>; 1386 #size-cells = <0>; 1430 reg = <0 0x11013000 0 1387 reg = <0 0x11013000 0 0x1000>; 1431 interrupts = <GIC_SPI 1388 interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH 0>; 1432 clocks = <&topckgen C 1389 clocks = <&topckgen CLK_TOP_MAINPLL_D5>, 1433 <&topckgen C 1390 <&topckgen CLK_TOP_SPI>, 1434 <&infracfg_a 1391 <&infracfg_ao CLK_INFRA_AO_SPI3>; 1435 clock-names = "parent 1392 clock-names = "parent-clk", "sel-clk", "spi-clk"; 1436 status = "disabled"; 1393 status = "disabled"; 1437 }; 1394 }; 1438 1395 1439 spi4: spi@11014000 { 1396 spi4: spi@11014000 { 1440 compatible = "mediate 1397 compatible = "mediatek,mt8186-spi", "mediatek,mt6765-spi"; 1441 #address-cells = <1>; 1398 #address-cells = <1>; 1442 #size-cells = <0>; 1399 #size-cells = <0>; 1443 reg = <0 0x11014000 0 1400 reg = <0 0x11014000 0 0x1000>; 1444 interrupts = <GIC_SPI 1401 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH 0>; 1445 clocks = <&topckgen C 1402 clocks = <&topckgen CLK_TOP_MAINPLL_D5>, 1446 <&topckgen C 1403 <&topckgen CLK_TOP_SPI>, 1447 <&infracfg_a 1404 <&infracfg_ao CLK_INFRA_AO_SPI4>; 1448 clock-names = "parent 1405 clock-names = "parent-clk", "sel-clk", "spi-clk"; 1449 status = "disabled"; 1406 status = "disabled"; 1450 }; 1407 }; 1451 1408 1452 spi5: spi@11015000 { 1409 spi5: spi@11015000 { 1453 compatible = "mediate 1410 compatible = "mediatek,mt8186-spi", "mediatek,mt6765-spi"; 1454 #address-cells = <1>; 1411 #address-cells = <1>; 1455 #size-cells = <0>; 1412 #size-cells = <0>; 1456 reg = <0 0x11015000 0 1413 reg = <0 0x11015000 0 0x1000>; 1457 interrupts = <GIC_SPI 1414 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH 0>; 1458 clocks = <&topckgen C 1415 clocks = <&topckgen CLK_TOP_MAINPLL_D5>, 1459 <&topckgen C 1416 <&topckgen CLK_TOP_SPI>, 1460 <&infracfg_a 1417 <&infracfg_ao CLK_INFRA_AO_SPI5>; 1461 clock-names = "parent 1418 clock-names = "parent-clk", "sel-clk", "spi-clk"; 1462 status = "disabled"; 1419 status = "disabled"; 1463 }; 1420 }; 1464 1421 1465 imp_iic_wrap: clock-controlle 1422 imp_iic_wrap: clock-controller@11017000 { 1466 compatible = "mediate 1423 compatible = "mediatek,mt8186-imp_iic_wrap"; 1467 reg = <0 0x11017000 0 1424 reg = <0 0x11017000 0 0x1000>; 1468 #clock-cells = <1>; 1425 #clock-cells = <1>; 1469 }; 1426 }; 1470 1427 1471 uart2: serial@11018000 { 1428 uart2: serial@11018000 { 1472 compatible = "mediate 1429 compatible = "mediatek,mt8186-uart", 1473 "mediate 1430 "mediatek,mt6577-uart"; 1474 reg = <0 0x11018000 0 1431 reg = <0 0x11018000 0 0x1000>; 1475 interrupts = <GIC_SPI 1432 interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH 0>; 1476 clocks = <&clk26m>, < 1433 clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART2>; 1477 clock-names = "baud", 1434 clock-names = "baud", "bus"; 1478 status = "disabled"; 1435 status = "disabled"; 1479 }; 1436 }; 1480 1437 1481 i2c9: i2c@11019000 { 1438 i2c9: i2c@11019000 { 1482 compatible = "mediate 1439 compatible = "mediatek,mt8186-i2c"; 1483 reg = <0 0x11019000 0 1440 reg = <0 0x11019000 0 0x1000>, 1484 <0 0x10200c00 0 1441 <0 0x10200c00 0 0x180>; 1485 interrupts = <GIC_SPI 1442 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH 0>; 1486 clocks = <&imp_iic_wr 1443 clocks = <&imp_iic_wrap CLK_IMP_IIC_WRAP_AP_CLOCK_I2C9>, 1487 <&infracfg_a 1444 <&infracfg_ao CLK_INFRA_AO_AP_DMA>; 1488 clock-names = "main", 1445 clock-names = "main", "dma"; 1489 clock-div = <1>; 1446 clock-div = <1>; 1490 #address-cells = <1>; 1447 #address-cells = <1>; 1491 #size-cells = <0>; 1448 #size-cells = <0>; 1492 status = "disabled"; 1449 status = "disabled"; 1493 }; 1450 }; 1494 1451 1495 afe: audio-controller@1121000 1452 afe: audio-controller@11210000 { 1496 compatible = "mediate 1453 compatible = "mediatek,mt8186-sound"; 1497 reg = <0 0x11210000 0 1454 reg = <0 0x11210000 0 0x2000>; 1498 clocks = <&infracfg_a 1455 clocks = <&infracfg_ao CLK_INFRA_AO_AUDIO>, 1499 <&infracfg_a 1456 <&infracfg_ao CLK_INFRA_AO_AUDIO_26M_BCLK>, 1500 <&topckgen C 1457 <&topckgen CLK_TOP_AUDIO>, 1501 <&topckgen C 1458 <&topckgen CLK_TOP_AUD_INTBUS>, 1502 <&topckgen C 1459 <&topckgen CLK_TOP_MAINPLL_D2_D4>, 1503 <&topckgen C 1460 <&topckgen CLK_TOP_AUD_1>, 1504 <&apmixedsys 1461 <&apmixedsys CLK_APMIXED_APLL1>, 1505 <&topckgen C 1462 <&topckgen CLK_TOP_AUD_2>, 1506 <&apmixedsys 1463 <&apmixedsys CLK_APMIXED_APLL2>, 1507 <&topckgen C 1464 <&topckgen CLK_TOP_AUD_ENGEN1>, 1508 <&topckgen C 1465 <&topckgen CLK_TOP_APLL1_D8>, 1509 <&topckgen C 1466 <&topckgen CLK_TOP_AUD_ENGEN2>, 1510 <&topckgen C 1467 <&topckgen CLK_TOP_APLL2_D8>, 1511 <&topckgen C 1468 <&topckgen CLK_TOP_APLL_I2S0_MCK_SEL>, 1512 <&topckgen C 1469 <&topckgen CLK_TOP_APLL_I2S1_MCK_SEL>, 1513 <&topckgen C 1470 <&topckgen CLK_TOP_APLL_I2S2_MCK_SEL>, 1514 <&topckgen C 1471 <&topckgen CLK_TOP_APLL_I2S4_MCK_SEL>, 1515 <&topckgen C 1472 <&topckgen CLK_TOP_APLL_TDMOUT_MCK_SEL>, 1516 <&topckgen C 1473 <&topckgen CLK_TOP_APLL12_CK_DIV0>, 1517 <&topckgen C 1474 <&topckgen CLK_TOP_APLL12_CK_DIV1>, 1518 <&topckgen C 1475 <&topckgen CLK_TOP_APLL12_CK_DIV2>, 1519 <&topckgen C 1476 <&topckgen CLK_TOP_APLL12_CK_DIV4>, 1520 <&topckgen C 1477 <&topckgen CLK_TOP_APLL12_CK_DIV_TDMOUT_M>, 1521 <&topckgen C 1478 <&topckgen CLK_TOP_AUDIO_H>, 1522 <&clk26m>; 1479 <&clk26m>; 1523 clock-names = "aud_in 1480 clock-names = "aud_infra_clk", 1524 "mtkaif 1481 "mtkaif_26m_clk", 1525 "top_mu 1482 "top_mux_audio", 1526 "top_mu 1483 "top_mux_audio_int", 1527 "top_ma 1484 "top_mainpll_d2_d4", 1528 "top_mu 1485 "top_mux_aud_1", 1529 "top_ap 1486 "top_apll1_ck", 1530 "top_mu 1487 "top_mux_aud_2", 1531 "top_ap 1488 "top_apll2_ck", 1532 "top_mu 1489 "top_mux_aud_eng1", 1533 "top_ap 1490 "top_apll1_d8", 1534 "top_mu 1491 "top_mux_aud_eng2", 1535 "top_ap 1492 "top_apll2_d8", 1536 "top_i2 1493 "top_i2s0_m_sel", 1537 "top_i2 1494 "top_i2s1_m_sel", 1538 "top_i2 1495 "top_i2s2_m_sel", 1539 "top_i2 1496 "top_i2s4_m_sel", 1540 "top_td 1497 "top_tdm_m_sel", 1541 "top_ap 1498 "top_apll12_div0", 1542 "top_ap 1499 "top_apll12_div1", 1543 "top_ap 1500 "top_apll12_div2", 1544 "top_ap 1501 "top_apll12_div4", 1545 "top_ap 1502 "top_apll12_div_tdm", 1546 "top_mu 1503 "top_mux_audio_h", 1547 "top_cl 1504 "top_clk26m_clk"; 1548 interrupts = <GIC_SPI 1505 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH 0>; 1549 mediatek,apmixedsys = 1506 mediatek,apmixedsys = <&apmixedsys>; 1550 mediatek,infracfg = < 1507 mediatek,infracfg = <&infracfg_ao>; 1551 mediatek,topckgen = < 1508 mediatek,topckgen = <&topckgen>; 1552 resets = <&watchdog M 1509 resets = <&watchdog MT8186_TOPRGU_AUDIO_SW_RST>; 1553 reset-names = "audios 1510 reset-names = "audiosys"; 1554 status = "disabled"; 1511 status = "disabled"; 1555 }; 1512 }; 1556 1513 1557 ssusb0: usb@11201000 { 1514 ssusb0: usb@11201000 { 1558 compatible = "mediate 1515 compatible = "mediatek,mt8186-mtu3", "mediatek,mtu3"; 1559 reg = <0 0x11201000 0 1516 reg = <0 0x11201000 0 0x2dff>, <0 0x11203e00 0 0x0100>; 1560 reg-names = "mac", "i 1517 reg-names = "mac", "ippc"; 1561 clocks = <&topckgen C 1518 clocks = <&topckgen CLK_TOP_USB_TOP>, 1562 <&infracfg_a 1519 <&infracfg_ao CLK_INFRA_AO_SSUSB_TOP_REF>, 1563 <&infracfg_a 1520 <&infracfg_ao CLK_INFRA_AO_SSUSB_TOP_HCLK>, 1564 <&infracfg_a !! 1521 <&infracfg_ao CLK_INFRA_AO_ICUSB>; 1565 <&infracfg_a !! 1522 clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck"; 1566 clock-names = "sys_ck << 1567 interrupts = <GIC_SPI 1523 interrupts = <GIC_SPI 303 IRQ_TYPE_LEVEL_HIGH 0>; 1568 phys = <&u2port0 PHY_ 1524 phys = <&u2port0 PHY_TYPE_USB2>; 1569 power-domains = <&spm 1525 power-domains = <&spm MT8186_POWER_DOMAIN_SSUSB>; 1570 #address-cells = <2>; 1526 #address-cells = <2>; 1571 #size-cells = <2>; 1527 #size-cells = <2>; 1572 ranges; 1528 ranges; 1573 status = "disabled"; 1529 status = "disabled"; 1574 1530 1575 usb_host0: usb@112000 1531 usb_host0: usb@11200000 { 1576 compatible = 1532 compatible = "mediatek,mt8186-xhci", "mediatek,mtk-xhci"; 1577 reg = <0 0x11 1533 reg = <0 0x11200000 0 0x1000>; 1578 reg-names = " 1534 reg-names = "mac"; 1579 clocks = <&to 1535 clocks = <&topckgen CLK_TOP_USB_TOP>, 1580 <&in 1536 <&infracfg_ao CLK_INFRA_AO_SSUSB_TOP_REF>, 1581 <&in 1537 <&infracfg_ao CLK_INFRA_AO_SSUSB_TOP_HCLK>, 1582 <&in 1538 <&infracfg_ao CLK_INFRA_AO_ICUSB>, 1583 <&in 1539 <&infracfg_ao CLK_INFRA_AO_SSUSB_TOP_XHCI>; 1584 clock-names = 1540 clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck", "xhci_ck"; 1585 interrupts = 1541 interrupts = <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH 0>; 1586 mediatek,sysc 1542 mediatek,syscon-wakeup = <&pericfg 0x420 2>; 1587 wakeup-source 1543 wakeup-source; 1588 status = "dis 1544 status = "disabled"; 1589 }; 1545 }; 1590 }; 1546 }; 1591 1547 1592 mmc0: mmc@11230000 { 1548 mmc0: mmc@11230000 { 1593 compatible = "mediate 1549 compatible = "mediatek,mt8186-mmc", 1594 "mediate 1550 "mediatek,mt8183-mmc"; 1595 reg = <0 0x11230000 0 1551 reg = <0 0x11230000 0 0x10000>, 1596 <0 0x11cd0000 0 1552 <0 0x11cd0000 0 0x1000>; 1597 clocks = <&topckgen C 1553 clocks = <&topckgen CLK_TOP_MSDC50_0>, 1598 <&infracfg_a 1554 <&infracfg_ao CLK_INFRA_AO_MSDC0>, 1599 <&infracfg_a 1555 <&infracfg_ao CLK_INFRA_AO_MSDC0_SRC>, 1600 <&infracfg_a 1556 <&infracfg_ao CLK_INFRA_AO_MSDCFDE>; 1601 clock-names = "source 1557 clock-names = "source", "hclk", "source_cg", "crypto"; 1602 interrupts = <GIC_SPI 1558 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH 0>; 1603 assigned-clocks = <&t 1559 assigned-clocks = <&topckgen CLK_TOP_MSDC50_0>; 1604 assigned-clock-parent 1560 assigned-clock-parents = <&apmixedsys CLK_APMIXED_MSDCPLL>; 1605 status = "disabled"; 1561 status = "disabled"; 1606 }; 1562 }; 1607 1563 1608 mmc1: mmc@11240000 { 1564 mmc1: mmc@11240000 { 1609 compatible = "mediate 1565 compatible = "mediatek,mt8186-mmc", 1610 "mediate 1566 "mediatek,mt8183-mmc"; 1611 reg = <0 0x11240000 0 1567 reg = <0 0x11240000 0 0x1000>, 1612 <0 0x11c90000 0 1568 <0 0x11c90000 0 0x1000>; 1613 clocks = <&topckgen C 1569 clocks = <&topckgen CLK_TOP_MSDC30_1>, 1614 <&infracfg_a 1570 <&infracfg_ao CLK_INFRA_AO_MSDC1>, 1615 <&infracfg_a 1571 <&infracfg_ao CLK_INFRA_AO_MSDC1_SRC>; 1616 clock-names = "source 1572 clock-names = "source", "hclk", "source_cg"; 1617 interrupts = <GIC_SPI 1573 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH 0>; 1618 assigned-clocks = <&t 1574 assigned-clocks = <&topckgen CLK_TOP_MSDC30_1>; 1619 assigned-clock-parent 1575 assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_D2>; 1620 status = "disabled"; 1576 status = "disabled"; 1621 }; 1577 }; 1622 1578 1623 ssusb1: usb@11281000 { 1579 ssusb1: usb@11281000 { 1624 compatible = "mediate 1580 compatible = "mediatek,mt8186-mtu3", "mediatek,mtu3"; 1625 reg = <0 0x11281000 0 1581 reg = <0 0x11281000 0 0x2dff>, <0 0x11283e00 0 0x0100>; 1626 reg-names = "mac", "i 1582 reg-names = "mac", "ippc"; 1627 clocks = <&infracfg_a 1583 clocks = <&infracfg_ao CLK_INFRA_AO_SSUSB_TOP_P1_SYS>, 1628 <&infracfg_a 1584 <&infracfg_ao CLK_INFRA_AO_SSUSB_TOP_P1_REF>, 1629 <&infracfg_a 1585 <&infracfg_ao CLK_INFRA_AO_SSUSB_TOP_P1_HCLK>, 1630 <&clk26m>, !! 1586 <&clk26m>; 1631 <&infracfg_a !! 1587 clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck"; 1632 clock-names = "sys_ck << 1633 interrupts = <GIC_SPI 1588 interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH 0>; 1634 phys = <&u2port1 PHY_ 1589 phys = <&u2port1 PHY_TYPE_USB2>, <&u3port1 PHY_TYPE_USB3>; 1635 power-domains = <&spm 1590 power-domains = <&spm MT8186_POWER_DOMAIN_SSUSB_P1>; 1636 #address-cells = <2>; 1591 #address-cells = <2>; 1637 #size-cells = <2>; 1592 #size-cells = <2>; 1638 ranges; 1593 ranges; 1639 status = "disabled"; 1594 status = "disabled"; 1640 1595 1641 usb_host1: usb@112800 1596 usb_host1: usb@11280000 { 1642 compatible = 1597 compatible = "mediatek,mt8186-xhci", "mediatek,mtk-xhci"; 1643 reg = <0 0x11 1598 reg = <0 0x11280000 0 0x1000>; 1644 reg-names = " 1599 reg-names = "mac"; 1645 clocks = <&in 1600 clocks = <&infracfg_ao CLK_INFRA_AO_SSUSB_TOP_P1_SYS>, 1646 <&in 1601 <&infracfg_ao CLK_INFRA_AO_SSUSB_TOP_P1_REF>, 1647 <&in 1602 <&infracfg_ao CLK_INFRA_AO_SSUSB_TOP_P1_HCLK>, 1648 <&cl 1603 <&clk26m>, 1649 <&in 1604 <&infracfg_ao CLK_INFRA_AO_SSUSB_TOP_P1_XHCI>; 1650 clock-names = 1605 clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck","xhci_ck"; 1651 interrupts = 1606 interrupts = <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH 0>; 1652 mediatek,sysc 1607 mediatek,syscon-wakeup = <&pericfg 0x424 2>; 1653 wakeup-source 1608 wakeup-source; 1654 status = "dis 1609 status = "disabled"; 1655 }; 1610 }; 1656 }; 1611 }; 1657 1612 1658 u3phy0: t-phy@11c80000 { 1613 u3phy0: t-phy@11c80000 { 1659 compatible = "mediate 1614 compatible = "mediatek,mt8186-tphy", 1660 "mediate 1615 "mediatek,generic-tphy-v2"; 1661 #address-cells = <1>; 1616 #address-cells = <1>; 1662 #size-cells = <1>; 1617 #size-cells = <1>; 1663 ranges = <0x0 0x0 0x1 1618 ranges = <0x0 0x0 0x11c80000 0x1000>; 1664 status = "disabled"; 1619 status = "disabled"; 1665 1620 1666 u2port1: usb-phy@0 { 1621 u2port1: usb-phy@0 { 1667 reg = <0x0 0x 1622 reg = <0x0 0x700>; 1668 clocks = <&cl 1623 clocks = <&clk26m>; 1669 clock-names = 1624 clock-names = "ref"; 1670 #phy-cells = 1625 #phy-cells = <1>; 1671 }; 1626 }; 1672 1627 1673 u3port1: usb-phy@700 1628 u3port1: usb-phy@700 { 1674 reg = <0x700 1629 reg = <0x700 0x900>; 1675 clocks = <&cl 1630 clocks = <&clk26m>; 1676 clock-names = 1631 clock-names = "ref"; 1677 #phy-cells = 1632 #phy-cells = <1>; 1678 }; 1633 }; 1679 }; 1634 }; 1680 1635 1681 u3phy1: t-phy@11ca0000 { 1636 u3phy1: t-phy@11ca0000 { 1682 compatible = "mediate 1637 compatible = "mediatek,mt8186-tphy", 1683 "mediate 1638 "mediatek,generic-tphy-v2"; 1684 #address-cells = <1>; 1639 #address-cells = <1>; 1685 #size-cells = <1>; 1640 #size-cells = <1>; 1686 ranges = <0x0 0x0 0x1 1641 ranges = <0x0 0x0 0x11ca0000 0x1000>; 1687 status = "disabled"; 1642 status = "disabled"; 1688 1643 1689 u2port0: usb-phy@0 { 1644 u2port0: usb-phy@0 { 1690 reg = <0x0 0x 1645 reg = <0x0 0x700>; 1691 clocks = <&cl 1646 clocks = <&clk26m>; 1692 clock-names = 1647 clock-names = "ref"; 1693 #phy-cells = 1648 #phy-cells = <1>; 1694 mediatek,disc 1649 mediatek,discth = <0x8>; 1695 }; 1650 }; 1696 }; 1651 }; 1697 1652 1698 efuse: efuse@11cb0000 { 1653 efuse: efuse@11cb0000 { 1699 compatible = "mediate 1654 compatible = "mediatek,mt8186-efuse", "mediatek,efuse"; 1700 reg = <0 0x11cb0000 0 1655 reg = <0 0x11cb0000 0 0x1000>; 1701 #address-cells = <1>; 1656 #address-cells = <1>; 1702 #size-cells = <1>; 1657 #size-cells = <1>; 1703 1658 1704 lvts_efuse_data1: lvt !! 1659 gpu_speedbin: gpu-speed-bin@59c { 1705 reg = <0x1cc << 1706 }; << 1707 << 1708 lvts_efuse_data2: lvt << 1709 reg = <0x2f8 << 1710 }; << 1711 << 1712 svs_calibration: cali << 1713 reg = <0x550 << 1714 }; << 1715 << 1716 gpu_speedbin: gpu-spe << 1717 reg = <0x59c 1660 reg = <0x59c 0x4>; 1718 bits = <0 3>; 1661 bits = <0 3>; 1719 }; 1662 }; 1720 << 1721 socinfo-data1@7a0 { << 1722 reg = <0x7a0 << 1723 }; << 1724 }; 1663 }; 1725 1664 1726 mipi_tx0: dsi-phy@11cc0000 { 1665 mipi_tx0: dsi-phy@11cc0000 { 1727 compatible = "mediate 1666 compatible = "mediatek,mt8183-mipi-tx"; 1728 reg = <0 0x11cc0000 0 1667 reg = <0 0x11cc0000 0 0x1000>; 1729 clocks = <&clk26m>; 1668 clocks = <&clk26m>; 1730 #clock-cells = <0>; 1669 #clock-cells = <0>; 1731 #phy-cells = <0>; 1670 #phy-cells = <0>; 1732 clock-output-names = 1671 clock-output-names = "mipi_tx0_pll"; 1733 status = "disabled"; 1672 status = "disabled"; 1734 }; 1673 }; 1735 1674 1736 mfgsys: clock-controller@1300 1675 mfgsys: clock-controller@13000000 { 1737 compatible = "mediate 1676 compatible = "mediatek,mt8186-mfgsys"; 1738 reg = <0 0x13000000 0 1677 reg = <0 0x13000000 0 0x1000>; 1739 #clock-cells = <1>; 1678 #clock-cells = <1>; 1740 }; 1679 }; 1741 1680 1742 gpu: gpu@13040000 { 1681 gpu: gpu@13040000 { 1743 compatible = "mediate 1682 compatible = "mediatek,mt8186-mali", 1744 "arm,mal 1683 "arm,mali-bifrost"; 1745 reg = <0 0x13040000 0 1684 reg = <0 0x13040000 0 0x4000>; 1746 1685 1747 clocks = <&mfgsys CLK 1686 clocks = <&mfgsys CLK_MFG_BG3D>; 1748 interrupts = <GIC_SPI 1687 interrupts = <GIC_SPI 276 IRQ_TYPE_LEVEL_HIGH 0>, 1749 <GIC_SPI 1688 <GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH 0>, 1750 <GIC_SPI 1689 <GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH 0>; 1751 interrupt-names = "jo 1690 interrupt-names = "job", "mmu", "gpu"; 1752 power-domains = <&spm 1691 power-domains = <&spm MT8186_POWER_DOMAIN_MFG2>, 1753 <&spm 1692 <&spm MT8186_POWER_DOMAIN_MFG3>; 1754 power-domain-names = 1693 power-domain-names = "core0", "core1"; 1755 #cooling-cells = <2>; 1694 #cooling-cells = <2>; 1756 nvmem-cells = <&gpu_s 1695 nvmem-cells = <&gpu_speedbin>; 1757 nvmem-cell-names = "s 1696 nvmem-cell-names = "speed-bin"; 1758 operating-points-v2 = 1697 operating-points-v2 = <&gpu_opp_table>; 1759 dynamic-power-coeffic 1698 dynamic-power-coefficient = <4687>; 1760 status = "disabled"; 1699 status = "disabled"; 1761 }; 1700 }; 1762 1701 1763 mmsys: syscon@14000000 { 1702 mmsys: syscon@14000000 { 1764 compatible = "mediate 1703 compatible = "mediatek,mt8186-mmsys", "syscon"; 1765 reg = <0 0x14000000 0 1704 reg = <0 0x14000000 0 0x1000>; 1766 #clock-cells = <1>; 1705 #clock-cells = <1>; 1767 #reset-cells = <1>; 1706 #reset-cells = <1>; 1768 mboxes = <&gce 0 CMDQ 1707 mboxes = <&gce 0 CMDQ_THR_PRIO_HIGHEST>, 1769 <&gce 1 CMDQ 1708 <&gce 1 CMDQ_THR_PRIO_HIGHEST>; 1770 mediatek,gce-client-r 1709 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0 0x1000>; 1771 }; 1710 }; 1772 1711 1773 mutex: mutex@14001000 { 1712 mutex: mutex@14001000 { 1774 compatible = "mediate 1713 compatible = "mediatek,mt8186-disp-mutex"; 1775 reg = <0 0x14001000 0 1714 reg = <0 0x14001000 0 0x1000>; 1776 clocks = <&mmsys CLK_ 1715 clocks = <&mmsys CLK_MM_DISP_MUTEX0>; 1777 interrupts = <GIC_SPI 1716 interrupts = <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH 0>; 1778 mediatek,gce-client-r 1717 mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x1000 0x1000>; 1779 mediatek,gce-events = 1718 mediatek,gce-events = <CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_0>, 1780 1719 <CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_1>; 1781 power-domains = <&spm 1720 power-domains = <&spm MT8186_POWER_DOMAIN_DIS>; 1782 }; 1721 }; 1783 1722 1784 smi_common: smi@14002000 { 1723 smi_common: smi@14002000 { 1785 compatible = "mediate 1724 compatible = "mediatek,mt8186-smi-common"; 1786 reg = <0 0x14002000 0 1725 reg = <0 0x14002000 0 0x1000>; 1787 clocks = <&mmsys CLK_ 1726 clocks = <&mmsys CLK_MM_SMI_COMMON>, <&mmsys CLK_MM_SMI_COMMON>, 1788 <&mmsys CLK_ 1727 <&mmsys CLK_MM_SMI_GALS>, <&mmsys CLK_MM_SMI_GALS>; 1789 clock-names = "apb", 1728 clock-names = "apb", "smi", "gals0", "gals1"; 1790 power-domains = <&spm 1729 power-domains = <&spm MT8186_POWER_DOMAIN_DIS>; 1791 }; 1730 }; 1792 1731 1793 larb0: smi@14003000 { 1732 larb0: smi@14003000 { 1794 compatible = "mediate 1733 compatible = "mediatek,mt8186-smi-larb"; 1795 reg = <0 0x14003000 0 1734 reg = <0 0x14003000 0 0x1000>; 1796 clocks = <&mmsys CLK_ 1735 clocks = <&mmsys CLK_MM_SMI_COMMON>, 1797 <&mmsys CLK_ 1736 <&mmsys CLK_MM_SMI_COMMON>; 1798 clock-names = "apb", 1737 clock-names = "apb", "smi"; 1799 mediatek,larb-id = <0 1738 mediatek,larb-id = <0>; 1800 mediatek,smi = <&smi_ 1739 mediatek,smi = <&smi_common>; 1801 power-domains = <&spm 1740 power-domains = <&spm MT8186_POWER_DOMAIN_DIS>; 1802 }; 1741 }; 1803 1742 1804 larb1: smi@14004000 { 1743 larb1: smi@14004000 { 1805 compatible = "mediate 1744 compatible = "mediatek,mt8186-smi-larb"; 1806 reg = <0 0x14004000 0 1745 reg = <0 0x14004000 0 0x1000>; 1807 clocks = <&mmsys CLK_ 1746 clocks = <&mmsys CLK_MM_SMI_COMMON>, 1808 <&mmsys CLK_ 1747 <&mmsys CLK_MM_SMI_COMMON>; 1809 clock-names = "apb", 1748 clock-names = "apb", "smi"; 1810 mediatek,larb-id = <1 1749 mediatek,larb-id = <1>; 1811 mediatek,smi = <&smi_ 1750 mediatek,smi = <&smi_common>; 1812 power-domains = <&spm 1751 power-domains = <&spm MT8186_POWER_DOMAIN_DIS>; 1813 }; 1752 }; 1814 1753 1815 ovl0: ovl@14005000 { 1754 ovl0: ovl@14005000 { 1816 compatible = "mediate 1755 compatible = "mediatek,mt8186-disp-ovl", "mediatek,mt8192-disp-ovl"; 1817 reg = <0 0x14005000 0 1756 reg = <0 0x14005000 0 0x1000>; 1818 clocks = <&mmsys CLK_ 1757 clocks = <&mmsys CLK_MM_DISP_OVL0>; 1819 interrupts = <GIC_SPI 1758 interrupts = <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH 0>; 1820 iommus = <&iommu_mm I 1759 iommus = <&iommu_mm IOMMU_PORT_L0_OVL_RDMA0>; 1821 mediatek,gce-client-r 1760 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x5000 0x1000>; 1822 power-domains = <&spm 1761 power-domains = <&spm MT8186_POWER_DOMAIN_DIS>; 1823 }; 1762 }; 1824 1763 1825 ovl_2l0: ovl@14006000 { 1764 ovl_2l0: ovl@14006000 { 1826 compatible = "mediate 1765 compatible = "mediatek,mt8186-disp-ovl-2l", "mediatek,mt8192-disp-ovl-2l"; 1827 reg = <0 0x14006000 0 1766 reg = <0 0x14006000 0 0x1000>; 1828 clocks = <&mmsys CLK_ 1767 clocks = <&mmsys CLK_MM_DISP_OVL0_2L>; 1829 interrupts = <GIC_SPI 1768 interrupts = <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH 0>; 1830 iommus = <&iommu_mm I 1769 iommus = <&iommu_mm IOMMU_PORT_L1_OVL_2L_RDMA0>; 1831 mediatek,gce-client-r 1770 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x6000 0x1000>; 1832 power-domains = <&spm 1771 power-domains = <&spm MT8186_POWER_DOMAIN_DIS>; 1833 }; 1772 }; 1834 1773 1835 rdma0: rdma@14007000 { 1774 rdma0: rdma@14007000 { 1836 compatible = "mediate 1775 compatible = "mediatek,mt8186-disp-rdma", "mediatek,mt8183-disp-rdma"; 1837 reg = <0 0x14007000 0 1776 reg = <0 0x14007000 0 0x1000>; 1838 clocks = <&mmsys CLK_ 1777 clocks = <&mmsys CLK_MM_DISP_RDMA0>; 1839 interrupts = <GIC_SPI 1778 interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH 0>; 1840 iommus = <&iommu_mm I 1779 iommus = <&iommu_mm IOMMU_PORT_L1_DISP_RDMA0>; 1841 mediatek,gce-client-r 1780 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x7000 0x1000>; 1842 power-domains = <&spm 1781 power-domains = <&spm MT8186_POWER_DOMAIN_DIS>; 1843 }; 1782 }; 1844 1783 1845 color: color@14009000 { 1784 color: color@14009000 { 1846 compatible = "mediate 1785 compatible = "mediatek,mt8186-disp-color", "mediatek,mt8173-disp-color"; 1847 reg = <0 0x14009000 0 1786 reg = <0 0x14009000 0 0x1000>; 1848 clocks = <&mmsys CLK_ 1787 clocks = <&mmsys CLK_MM_DISP_COLOR0>; 1849 interrupts = <GIC_SPI 1788 interrupts = <GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH 0>; 1850 mediatek,gce-client-r 1789 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x8000 0x1000>; 1851 power-domains = <&spm 1790 power-domains = <&spm MT8186_POWER_DOMAIN_DIS>; 1852 }; 1791 }; 1853 1792 1854 dpi: dpi@1400a000 { 1793 dpi: dpi@1400a000 { 1855 compatible = "mediate 1794 compatible = "mediatek,mt8186-dpi"; 1856 reg = <0 0x1400a000 0 1795 reg = <0 0x1400a000 0 0x1000>; 1857 clocks = <&topckgen C 1796 clocks = <&topckgen CLK_TOP_DPI>, 1858 <&mmsys CLK_ 1797 <&mmsys CLK_MM_DISP_DPI>, 1859 <&apmixedsys 1798 <&apmixedsys CLK_APMIXED_TVDPLL>; 1860 clock-names = "pixel" 1799 clock-names = "pixel", "engine", "pll"; 1861 assigned-clocks = <&t 1800 assigned-clocks = <&topckgen CLK_TOP_DPI>; 1862 assigned-clock-parent 1801 assigned-clock-parents = <&topckgen CLK_TOP_TVDPLL_D2>; 1863 interrupts = <GIC_SPI 1802 interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_LOW 0>; 1864 power-domains = <&spm << 1865 status = "disabled"; 1803 status = "disabled"; 1866 1804 1867 port { 1805 port { 1868 dpi_out: endp 1806 dpi_out: endpoint { }; 1869 }; 1807 }; 1870 }; 1808 }; 1871 1809 1872 ccorr: ccorr@1400b000 { 1810 ccorr: ccorr@1400b000 { 1873 compatible = "mediate 1811 compatible = "mediatek,mt8186-disp-ccorr", "mediatek,mt8192-disp-ccorr"; 1874 reg = <0 0x1400b000 0 1812 reg = <0 0x1400b000 0 0x1000>; 1875 clocks = <&mmsys CLK_ 1813 clocks = <&mmsys CLK_MM_DISP_CCORR0>; 1876 interrupts = <GIC_SPI 1814 interrupts = <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH 0>; 1877 mediatek,gce-client-r 1815 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xb000 0x1000>; 1878 power-domains = <&spm 1816 power-domains = <&spm MT8186_POWER_DOMAIN_DIS>; 1879 }; 1817 }; 1880 1818 1881 aal: aal@1400c000 { 1819 aal: aal@1400c000 { 1882 compatible = "mediate 1820 compatible = "mediatek,mt8186-disp-aal", "mediatek,mt8183-disp-aal"; 1883 reg = <0 0x1400c000 0 1821 reg = <0 0x1400c000 0 0x1000>; 1884 clocks = <&mmsys CLK_ 1822 clocks = <&mmsys CLK_MM_DISP_AAL0>; 1885 interrupts = <GIC_SPI 1823 interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH 0>; 1886 mediatek,gce-client-r 1824 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xc000 0x1000>; 1887 power-domains = <&spm 1825 power-domains = <&spm MT8186_POWER_DOMAIN_DIS>; 1888 }; 1826 }; 1889 1827 1890 gamma: gamma@1400d000 { 1828 gamma: gamma@1400d000 { 1891 compatible = "mediate 1829 compatible = "mediatek,mt8186-disp-gamma", "mediatek,mt8183-disp-gamma"; 1892 reg = <0 0x1400d000 0 1830 reg = <0 0x1400d000 0 0x1000>; 1893 clocks = <&mmsys CLK_ 1831 clocks = <&mmsys CLK_MM_DISP_GAMMA0>; 1894 interrupts = <GIC_SPI 1832 interrupts = <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH 0>; 1895 mediatek,gce-client-r 1833 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xd000 0x1000>; 1896 power-domains = <&spm 1834 power-domains = <&spm MT8186_POWER_DOMAIN_DIS>; 1897 }; 1835 }; 1898 1836 1899 postmask: postmask@1400e000 { 1837 postmask: postmask@1400e000 { 1900 compatible = "mediate 1838 compatible = "mediatek,mt8186-disp-postmask", 1901 "mediate 1839 "mediatek,mt8192-disp-postmask"; 1902 reg = <0 0x1400e000 0 1840 reg = <0 0x1400e000 0 0x1000>; 1903 clocks = <&mmsys CLK_ 1841 clocks = <&mmsys CLK_MM_DISP_POSTMASK0>; 1904 interrupts = <GIC_SPI 1842 interrupts = <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH 0>; 1905 mediatek,gce-client-r 1843 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xe000 0x1000>; 1906 power-domains = <&spm 1844 power-domains = <&spm MT8186_POWER_DOMAIN_DIS>; 1907 }; 1845 }; 1908 1846 1909 dither: dither@1400f000 { 1847 dither: dither@1400f000 { 1910 compatible = "mediate 1848 compatible = "mediatek,mt8186-disp-dither", "mediatek,mt8183-disp-dither"; 1911 reg = <0 0x1400f000 0 1849 reg = <0 0x1400f000 0 0x1000>; 1912 clocks = <&mmsys CLK_ 1850 clocks = <&mmsys CLK_MM_DISP_DITHER0>; 1913 interrupts = <GIC_SPI 1851 interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH 0>; 1914 mediatek,gce-client-r 1852 mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xf000 0x1000>; 1915 power-domains = <&spm 1853 power-domains = <&spm MT8186_POWER_DOMAIN_DIS>; 1916 }; 1854 }; 1917 1855 1918 dsi0: dsi@14013000 { 1856 dsi0: dsi@14013000 { 1919 compatible = "mediate 1857 compatible = "mediatek,mt8186-dsi"; 1920 reg = <0 0x14013000 0 1858 reg = <0 0x14013000 0 0x1000>; 1921 clocks = <&mmsys CLK_ 1859 clocks = <&mmsys CLK_MM_DSI0>, 1922 <&mmsys CLK_ 1860 <&mmsys CLK_MM_DSI0_DSI_CK_DOMAIN>, 1923 <&mipi_tx0>; 1861 <&mipi_tx0>; 1924 clock-names = "engine 1862 clock-names = "engine", "digital", "hs"; 1925 interrupts = <GIC_SPI 1863 interrupts = <GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH 0>; 1926 power-domains = <&spm 1864 power-domains = <&spm MT8186_POWER_DOMAIN_DIS>; 1927 resets = <&mmsys MT81 1865 resets = <&mmsys MT8186_MMSYS_SW0_RST_B_DISP_DSI0>; 1928 phys = <&mipi_tx0>; 1866 phys = <&mipi_tx0>; 1929 phy-names = "dphy"; 1867 phy-names = "dphy"; 1930 status = "disabled"; 1868 status = "disabled"; 1931 1869 1932 port { 1870 port { 1933 dsi_out: endp 1871 dsi_out: endpoint { }; 1934 }; 1872 }; 1935 }; 1873 }; 1936 1874 1937 iommu_mm: iommu@14016000 { 1875 iommu_mm: iommu@14016000 { 1938 compatible = "mediate 1876 compatible = "mediatek,mt8186-iommu-mm"; 1939 reg = <0 0x14016000 0 1877 reg = <0 0x14016000 0 0x1000>; 1940 clocks = <&mmsys CLK_ 1878 clocks = <&mmsys CLK_MM_SMI_IOMMU>; 1941 clock-names = "bclk"; 1879 clock-names = "bclk"; 1942 interrupts = <GIC_SPI 1880 interrupts = <GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH 0>; 1943 mediatek,larbs = <&la 1881 mediatek,larbs = <&larb0 &larb1 &larb2 &larb4 1944 &la 1882 &larb7 &larb8 &larb9 &larb11 1945 &la 1883 &larb13 &larb14 &larb16 &larb17 1946 &la 1884 &larb19 &larb20>; 1947 power-domains = <&spm 1885 power-domains = <&spm MT8186_POWER_DOMAIN_DIS>; 1948 #iommu-cells = <1>; 1886 #iommu-cells = <1>; 1949 }; 1887 }; 1950 1888 1951 rdma1: rdma@1401f000 { 1889 rdma1: rdma@1401f000 { 1952 compatible = "mediate 1890 compatible = "mediatek,mt8186-disp-rdma", "mediatek,mt8183-disp-rdma"; 1953 reg = <0 0x1401f000 0 1891 reg = <0 0x1401f000 0 0x1000>; 1954 clocks = <&mmsys CLK_ 1892 clocks = <&mmsys CLK_MM_DISP_RDMA1>; 1955 interrupts = <GIC_SPI 1893 interrupts = <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH 0>; 1956 iommus = <&iommu_mm I 1894 iommus = <&iommu_mm IOMMU_PORT_L1_DISP_RDMA1>; 1957 mediatek,gce-client-r 1895 mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0xf000 0x1000>; 1958 power-domains = <&spm 1896 power-domains = <&spm MT8186_POWER_DOMAIN_DIS>; 1959 }; 1897 }; 1960 1898 1961 wpesys: clock-controller@1402 1899 wpesys: clock-controller@14020000 { 1962 compatible = "mediate 1900 compatible = "mediatek,mt8186-wpesys"; 1963 reg = <0 0x14020000 0 1901 reg = <0 0x14020000 0 0x1000>; 1964 #clock-cells = <1>; 1902 #clock-cells = <1>; 1965 }; 1903 }; 1966 1904 1967 larb8: smi@14023000 { 1905 larb8: smi@14023000 { 1968 compatible = "mediate 1906 compatible = "mediatek,mt8186-smi-larb"; 1969 reg = <0 0x14023000 0 1907 reg = <0 0x14023000 0 0x1000>; 1970 clocks = <&wpesys CLK 1908 clocks = <&wpesys CLK_WPE_SMI_LARB8_CK_EN>, 1971 <&wpesys CLK 1909 <&wpesys CLK_WPE_SMI_LARB8_CK_EN>; 1972 clock-names = "apb", 1910 clock-names = "apb", "smi"; 1973 mediatek,larb-id = <8 1911 mediatek,larb-id = <8>; 1974 mediatek,smi = <&smi_ 1912 mediatek,smi = <&smi_common>; 1975 power-domains = <&spm 1913 power-domains = <&spm MT8186_POWER_DOMAIN_WPE>; 1976 }; 1914 }; 1977 1915 1978 imgsys1: clock-controller@150 1916 imgsys1: clock-controller@15020000 { 1979 compatible = "mediate 1917 compatible = "mediatek,mt8186-imgsys1"; 1980 reg = <0 0x15020000 0 1918 reg = <0 0x15020000 0 0x1000>; 1981 #clock-cells = <1>; 1919 #clock-cells = <1>; 1982 }; 1920 }; 1983 1921 1984 larb9: smi@1502e000 { 1922 larb9: smi@1502e000 { 1985 compatible = "mediate 1923 compatible = "mediatek,mt8186-smi-larb"; 1986 reg = <0 0x1502e000 0 1924 reg = <0 0x1502e000 0 0x1000>; 1987 clocks = <&imgsys1 CL 1925 clocks = <&imgsys1 CLK_IMG1_GALS_IMG1>, 1988 <&imgsys1 CL 1926 <&imgsys1 CLK_IMG1_LARB9_IMG1>; 1989 clock-names = "apb", 1927 clock-names = "apb", "smi"; 1990 mediatek,larb-id = <9 1928 mediatek,larb-id = <9>; 1991 mediatek,smi = <&smi_ 1929 mediatek,smi = <&smi_common>; 1992 power-domains = <&spm 1930 power-domains = <&spm MT8186_POWER_DOMAIN_IMG>; 1993 }; 1931 }; 1994 1932 1995 imgsys2: clock-controller@158 1933 imgsys2: clock-controller@15820000 { 1996 compatible = "mediate 1934 compatible = "mediatek,mt8186-imgsys2"; 1997 reg = <0 0x15820000 0 1935 reg = <0 0x15820000 0 0x1000>; 1998 #clock-cells = <1>; 1936 #clock-cells = <1>; 1999 }; 1937 }; 2000 1938 2001 larb11: smi@1582e000 { 1939 larb11: smi@1582e000 { 2002 compatible = "mediate 1940 compatible = "mediatek,mt8186-smi-larb"; 2003 reg = <0 0x1582e000 0 1941 reg = <0 0x1582e000 0 0x1000>; 2004 clocks = <&imgsys1 CL 1942 clocks = <&imgsys1 CLK_IMG1_LARB9_IMG1>, 2005 <&imgsys2 CL 1943 <&imgsys2 CLK_IMG2_LARB9_IMG2>; 2006 clock-names = "apb", 1944 clock-names = "apb", "smi"; 2007 mediatek,larb-id = <1 1945 mediatek,larb-id = <11>; 2008 mediatek,smi = <&smi_ 1946 mediatek,smi = <&smi_common>; 2009 power-domains = <&spm 1947 power-domains = <&spm MT8186_POWER_DOMAIN_IMG2>; 2010 }; 1948 }; 2011 1949 2012 video_decoder: video-decoder@ << 2013 compatible = "mediate << 2014 reg = <0 0x16000000 0 << 2015 ranges; << 2016 #address-cells = <2>; << 2017 #size-cells = <2>; << 2018 dma-ranges = <0x1 0x0 << 2019 iommus = <&iommu_mm I << 2020 mediatek,scp = <&scp> << 2021 << 2022 vcodec_core: video-co << 2023 compatible = << 2024 reg = <0 0x16 << 2025 interrupts = << 2026 iommus = <&io << 2027 <&io << 2028 <&io << 2029 <&io << 2030 <&io << 2031 <&io << 2032 <&io << 2033 <&io << 2034 <&io << 2035 <&io << 2036 <&io << 2037 <&io << 2038 clocks = <&to << 2039 <&vd << 2040 <&vd << 2041 <&to << 2042 clock-names = << 2043 assigned-cloc << 2044 assigned-cloc << 2045 power-domains << 2046 }; << 2047 }; << 2048 << 2049 larb4: smi@1602e000 { 1950 larb4: smi@1602e000 { 2050 compatible = "mediate 1951 compatible = "mediatek,mt8186-smi-larb"; 2051 reg = <0 0x1602e000 0 1952 reg = <0 0x1602e000 0 0x1000>; 2052 clocks = <&vdecsys CL 1953 clocks = <&vdecsys CLK_VDEC_LARB1_CKEN>, 2053 <&vdecsys CL 1954 <&vdecsys CLK_VDEC_LARB1_CKEN>; 2054 clock-names = "apb", 1955 clock-names = "apb", "smi"; 2055 mediatek,larb-id = <4 1956 mediatek,larb-id = <4>; 2056 mediatek,smi = <&smi_ 1957 mediatek,smi = <&smi_common>; 2057 power-domains = <&spm 1958 power-domains = <&spm MT8186_POWER_DOMAIN_VDEC>; 2058 }; 1959 }; 2059 1960 2060 vdecsys: clock-controller@160 1961 vdecsys: clock-controller@1602f000 { 2061 compatible = "mediate 1962 compatible = "mediatek,mt8186-vdecsys"; 2062 reg = <0 0x1602f000 0 1963 reg = <0 0x1602f000 0 0x1000>; 2063 #clock-cells = <1>; 1964 #clock-cells = <1>; 2064 }; 1965 }; 2065 1966 2066 vencsys: clock-controller@170 1967 vencsys: clock-controller@17000000 { 2067 compatible = "mediate 1968 compatible = "mediatek,mt8186-vencsys"; 2068 reg = <0 0x17000000 0 1969 reg = <0 0x17000000 0 0x1000>; 2069 #clock-cells = <1>; 1970 #clock-cells = <1>; 2070 }; 1971 }; 2071 1972 2072 larb7: smi@17010000 { 1973 larb7: smi@17010000 { 2073 compatible = "mediate 1974 compatible = "mediatek,mt8186-smi-larb"; 2074 reg = <0 0x17010000 0 1975 reg = <0 0x17010000 0 0x1000>; 2075 clocks = <&vencsys CL 1976 clocks = <&vencsys CLK_VENC_CKE1_VENC>, 2076 <&vencsys CL 1977 <&vencsys CLK_VENC_CKE1_VENC>; 2077 clock-names = "apb", 1978 clock-names = "apb", "smi"; 2078 mediatek,larb-id = <7 1979 mediatek,larb-id = <7>; 2079 mediatek,smi = <&smi_ 1980 mediatek,smi = <&smi_common>; 2080 power-domains = <&spm 1981 power-domains = <&spm MT8186_POWER_DOMAIN_VENC>; 2081 }; 1982 }; 2082 1983 2083 venc: video-encoder@17020000 << 2084 compatible = "mediate << 2085 reg = <0 0x17020000 0 << 2086 interrupts = <GIC_SPI << 2087 iommus = <&iommu_mm I << 2088 <&iommu_mm I << 2089 <&iommu_mm I << 2090 <&iommu_mm I << 2091 <&iommu_mm I << 2092 <&iommu_mm I << 2093 <&iommu_mm I << 2094 <&iommu_mm I << 2095 <&iommu_mm I << 2096 clocks = <&vencsys CL << 2097 clock-names = "venc_s << 2098 assigned-clocks = <&t << 2099 assigned-clock-parent << 2100 power-domains = <&spm << 2101 mediatek,scp = <&scp> << 2102 }; << 2103 << 2104 jpgenc: jpeg-encoder@17030000 << 2105 compatible = "mediate << 2106 reg = <0 0x17030000 0 << 2107 interrupts = <GIC_SPI << 2108 clocks = <&vencsys CL << 2109 clock-names = "jpgenc << 2110 iommus = <&iommu_mm I << 2111 <&iommu_mm I << 2112 <&iommu_mm I << 2113 <&iommu_mm I << 2114 power-domains = <&spm << 2115 }; << 2116 << 2117 camsys: clock-controller@1a00 1984 camsys: clock-controller@1a000000 { 2118 compatible = "mediate 1985 compatible = "mediatek,mt8186-camsys"; 2119 reg = <0 0x1a000000 0 1986 reg = <0 0x1a000000 0 0x1000>; 2120 #clock-cells = <1>; 1987 #clock-cells = <1>; 2121 }; 1988 }; 2122 1989 2123 larb13: smi@1a001000 { 1990 larb13: smi@1a001000 { 2124 compatible = "mediate 1991 compatible = "mediatek,mt8186-smi-larb"; 2125 reg = <0 0x1a001000 0 1992 reg = <0 0x1a001000 0 0x1000>; 2126 clocks = <&camsys CLK 1993 clocks = <&camsys CLK_CAM2MM_GALS>, <&camsys CLK_CAM_LARB13>; 2127 clock-names = "apb", 1994 clock-names = "apb", "smi"; 2128 mediatek,larb-id = <1 1995 mediatek,larb-id = <13>; 2129 mediatek,smi = <&smi_ 1996 mediatek,smi = <&smi_common>; 2130 power-domains = <&spm 1997 power-domains = <&spm MT8186_POWER_DOMAIN_CAM>; 2131 }; 1998 }; 2132 1999 2133 larb14: smi@1a002000 { 2000 larb14: smi@1a002000 { 2134 compatible = "mediate 2001 compatible = "mediatek,mt8186-smi-larb"; 2135 reg = <0 0x1a002000 0 2002 reg = <0 0x1a002000 0 0x1000>; 2136 clocks = <&camsys CLK 2003 clocks = <&camsys CLK_CAM2MM_GALS>, <&camsys CLK_CAM_LARB14>; 2137 clock-names = "apb", 2004 clock-names = "apb", "smi"; 2138 mediatek,larb-id = <1 2005 mediatek,larb-id = <14>; 2139 mediatek,smi = <&smi_ 2006 mediatek,smi = <&smi_common>; 2140 power-domains = <&spm 2007 power-domains = <&spm MT8186_POWER_DOMAIN_CAM>; 2141 }; 2008 }; 2142 2009 2143 larb16: smi@1a00f000 { 2010 larb16: smi@1a00f000 { 2144 compatible = "mediate 2011 compatible = "mediatek,mt8186-smi-larb"; 2145 reg = <0 0x1a00f000 0 2012 reg = <0 0x1a00f000 0 0x1000>; 2146 clocks = <&camsys CLK 2013 clocks = <&camsys CLK_CAM_LARB14>, 2147 <&camsys_raw 2014 <&camsys_rawa CLK_CAM_RAWA_LARBX_RAWA>; 2148 clock-names = "apb", 2015 clock-names = "apb", "smi"; 2149 mediatek,larb-id = <1 2016 mediatek,larb-id = <16>; 2150 mediatek,smi = <&smi_ 2017 mediatek,smi = <&smi_common>; 2151 power-domains = <&spm 2018 power-domains = <&spm MT8186_POWER_DOMAIN_CAM_RAWA>; 2152 }; 2019 }; 2153 2020 2154 larb17: smi@1a010000 { 2021 larb17: smi@1a010000 { 2155 compatible = "mediate 2022 compatible = "mediatek,mt8186-smi-larb"; 2156 reg = <0 0x1a010000 0 2023 reg = <0 0x1a010000 0 0x1000>; 2157 clocks = <&camsys CLK 2024 clocks = <&camsys CLK_CAM_LARB13>, 2158 <&camsys_raw 2025 <&camsys_rawb CLK_CAM_RAWB_LARBX_RAWB>; 2159 clock-names = "apb", 2026 clock-names = "apb", "smi"; 2160 mediatek,larb-id = <1 2027 mediatek,larb-id = <17>; 2161 mediatek,smi = <&smi_ 2028 mediatek,smi = <&smi_common>; 2162 power-domains = <&spm 2029 power-domains = <&spm MT8186_POWER_DOMAIN_CAM_RAWB>; 2163 }; 2030 }; 2164 2031 2165 camsys_rawa: clock-controller 2032 camsys_rawa: clock-controller@1a04f000 { 2166 compatible = "mediate 2033 compatible = "mediatek,mt8186-camsys_rawa"; 2167 reg = <0 0x1a04f000 0 2034 reg = <0 0x1a04f000 0 0x1000>; 2168 #clock-cells = <1>; 2035 #clock-cells = <1>; 2169 }; 2036 }; 2170 2037 2171 camsys_rawb: clock-controller 2038 camsys_rawb: clock-controller@1a06f000 { 2172 compatible = "mediate 2039 compatible = "mediatek,mt8186-camsys_rawb"; 2173 reg = <0 0x1a06f000 0 2040 reg = <0 0x1a06f000 0 0x1000>; 2174 #clock-cells = <1>; 2041 #clock-cells = <1>; 2175 }; 2042 }; 2176 2043 2177 mdpsys: clock-controller@1b00 2044 mdpsys: clock-controller@1b000000 { 2178 compatible = "mediate 2045 compatible = "mediatek,mt8186-mdpsys"; 2179 reg = <0 0x1b000000 0 2046 reg = <0 0x1b000000 0 0x1000>; 2180 #clock-cells = <1>; 2047 #clock-cells = <1>; 2181 }; 2048 }; 2182 2049 2183 larb2: smi@1b002000 { 2050 larb2: smi@1b002000 { 2184 compatible = "mediate 2051 compatible = "mediatek,mt8186-smi-larb"; 2185 reg = <0 0x1b002000 0 2052 reg = <0 0x1b002000 0 0x1000>; 2186 clocks = <&mdpsys CLK 2053 clocks = <&mdpsys CLK_MDP_SMI0>, <&mdpsys CLK_MDP_SMI0>; 2187 clock-names = "apb", 2054 clock-names = "apb", "smi"; 2188 mediatek,larb-id = <2 2055 mediatek,larb-id = <2>; 2189 mediatek,smi = <&smi_ 2056 mediatek,smi = <&smi_common>; 2190 power-domains = <&spm 2057 power-domains = <&spm MT8186_POWER_DOMAIN_DIS>; 2191 }; 2058 }; 2192 2059 2193 ipesys: clock-controller@1c00 2060 ipesys: clock-controller@1c000000 { 2194 compatible = "mediate 2061 compatible = "mediatek,mt8186-ipesys"; 2195 reg = <0 0x1c000000 0 2062 reg = <0 0x1c000000 0 0x1000>; 2196 #clock-cells = <1>; 2063 #clock-cells = <1>; 2197 }; 2064 }; 2198 2065 2199 larb20: smi@1c00f000 { 2066 larb20: smi@1c00f000 { 2200 compatible = "mediate 2067 compatible = "mediatek,mt8186-smi-larb"; 2201 reg = <0 0x1c00f000 0 2068 reg = <0 0x1c00f000 0 0x1000>; 2202 clocks = <&ipesys CLK 2069 clocks = <&ipesys CLK_IPE_LARB20>, <&ipesys CLK_IPE_LARB20>; 2203 clock-names = "apb", 2070 clock-names = "apb", "smi"; 2204 mediatek,larb-id = <2 2071 mediatek,larb-id = <20>; 2205 mediatek,smi = <&smi_ 2072 mediatek,smi = <&smi_common>; 2206 power-domains = <&spm 2073 power-domains = <&spm MT8186_POWER_DOMAIN_IPE>; 2207 }; 2074 }; 2208 2075 2209 larb19: smi@1c10f000 { 2076 larb19: smi@1c10f000 { 2210 compatible = "mediate 2077 compatible = "mediatek,mt8186-smi-larb"; 2211 reg = <0 0x1c10f000 0 2078 reg = <0 0x1c10f000 0 0x1000>; 2212 clocks = <&ipesys CLK 2079 clocks = <&ipesys CLK_IPE_LARB19>, <&ipesys CLK_IPE_LARB19>; 2213 clock-names = "apb", 2080 clock-names = "apb", "smi"; 2214 mediatek,larb-id = <1 2081 mediatek,larb-id = <19>; 2215 mediatek,smi = <&smi_ 2082 mediatek,smi = <&smi_common>; 2216 power-domains = <&spm 2083 power-domains = <&spm MT8186_POWER_DOMAIN_IPE>; 2217 }; << 2218 }; << 2219 << 2220 thermal_zones: thermal-zones { << 2221 cpu-little0-thermal { << 2222 polling-delay = <1000 << 2223 polling-delay-passive << 2224 thermal-sensors = <&l << 2225 << 2226 trips { << 2227 cpu_little0_a << 2228 tempe << 2229 hyste << 2230 type << 2231 }; << 2232 << 2233 cpu_little0_a << 2234 tempe << 2235 hyste << 2236 type << 2237 }; << 2238 << 2239 cpu_little0_c << 2240 tempe << 2241 hyste << 2242 type << 2243 }; << 2244 }; << 2245 << 2246 cooling-maps { << 2247 map0 { << 2248 trip << 2249 cooli << 2250 << 2251 << 2252 << 2253 << 2254 << 2255 }; << 2256 }; << 2257 }; << 2258 << 2259 cpu-little1-thermal { << 2260 polling-delay = <1000 << 2261 polling-delay-passive << 2262 thermal-sensors = <&l << 2263 << 2264 trips { << 2265 cpu_little1_a << 2266 tempe << 2267 hyste << 2268 type << 2269 }; << 2270 << 2271 cpu_little1_a << 2272 tempe << 2273 hyste << 2274 type << 2275 }; << 2276 << 2277 cpu_little1_c << 2278 tempe << 2279 hyste << 2280 type << 2281 }; << 2282 }; << 2283 << 2284 cooling-maps { << 2285 map0 { << 2286 trip << 2287 cooli << 2288 << 2289 << 2290 << 2291 << 2292 << 2293 }; << 2294 }; << 2295 }; << 2296 << 2297 cpu-little2-thermal { << 2298 polling-delay = <1000 << 2299 polling-delay-passive << 2300 thermal-sensors = <&l << 2301 << 2302 trips { << 2303 cpu_little2_a << 2304 tempe << 2305 hyste << 2306 type << 2307 }; << 2308 << 2309 cpu_little2_a << 2310 tempe << 2311 hyste << 2312 type << 2313 }; << 2314 << 2315 cpu_little2_c << 2316 tempe << 2317 hyste << 2318 type << 2319 }; << 2320 }; << 2321 << 2322 cooling-maps { << 2323 map0 { << 2324 trip << 2325 cooli << 2326 << 2327 << 2328 << 2329 << 2330 << 2331 }; << 2332 }; << 2333 }; << 2334 << 2335 cam-thermal { << 2336 polling-delay = <1000 << 2337 polling-delay-passive << 2338 thermal-sensors = <&l << 2339 << 2340 trips { << 2341 cam_alert0: t << 2342 tempe << 2343 hyste << 2344 type << 2345 }; << 2346 << 2347 cam_alert1: t << 2348 tempe << 2349 hyste << 2350 type << 2351 }; << 2352 << 2353 cam_crit: tri << 2354 tempe << 2355 hyste << 2356 type << 2357 }; << 2358 }; << 2359 }; << 2360 << 2361 nna-thermal { << 2362 polling-delay = <1000 << 2363 polling-delay-passive << 2364 thermal-sensors = <&l << 2365 << 2366 trips { << 2367 nna_alert0: t << 2368 tempe << 2369 hyste << 2370 type << 2371 }; << 2372 << 2373 nna_alert1: t << 2374 tempe << 2375 hyste << 2376 type << 2377 }; << 2378 << 2379 nna_crit: tri << 2380 tempe << 2381 hyste << 2382 type << 2383 }; << 2384 }; << 2385 }; << 2386 << 2387 adsp-thermal { << 2388 polling-delay = <1000 << 2389 polling-delay-passive << 2390 thermal-sensors = <&l << 2391 << 2392 trips { << 2393 adsp_alert0: << 2394 tempe << 2395 hyste << 2396 type << 2397 }; << 2398 << 2399 adsp_alert1: << 2400 tempe << 2401 hyste << 2402 type << 2403 }; << 2404 << 2405 adsp_crit: tr << 2406 tempe << 2407 hyste << 2408 type << 2409 }; << 2410 }; << 2411 }; << 2412 << 2413 gpu-thermal { << 2414 polling-delay = <1000 << 2415 polling-delay-passive << 2416 thermal-sensors = <&l << 2417 << 2418 trips { << 2419 gpu_alert0: t << 2420 tempe << 2421 hyste << 2422 type << 2423 }; << 2424 << 2425 gpu_alert1: t << 2426 tempe << 2427 hyste << 2428 type << 2429 }; << 2430 << 2431 gpu_crit: tri << 2432 tempe << 2433 hyste << 2434 type << 2435 }; << 2436 }; << 2437 << 2438 cooling-maps { << 2439 map0 { << 2440 trip << 2441 cooli << 2442 }; << 2443 }; << 2444 }; << 2445 << 2446 cpu-big0-thermal { << 2447 polling-delay = <1000 << 2448 polling-delay-passive << 2449 thermal-sensors = <&l << 2450 << 2451 trips { << 2452 cpu_big0_aler << 2453 tempe << 2454 hyste << 2455 type << 2456 }; << 2457 << 2458 cpu_big0_aler << 2459 tempe << 2460 hyste << 2461 type << 2462 }; << 2463 << 2464 cpu_big0_crit << 2465 tempe << 2466 hyste << 2467 type << 2468 }; << 2469 }; << 2470 << 2471 cooling-maps { << 2472 map0 { << 2473 trip << 2474 cooli << 2475 << 2476 }; << 2477 }; << 2478 }; << 2479 << 2480 cpu-big1-thermal { << 2481 polling-delay = <1000 << 2482 polling-delay-passive << 2483 thermal-sensors = <&l << 2484 << 2485 trips { << 2486 cpu_big1_aler << 2487 tempe << 2488 hyste << 2489 type << 2490 }; << 2491 << 2492 cpu_big1_aler << 2493 tempe << 2494 hyste << 2495 type << 2496 }; << 2497 << 2498 cpu_big1_crit << 2499 tempe << 2500 hyste << 2501 type << 2502 }; << 2503 }; << 2504 << 2505 cooling-maps { << 2506 map0 { << 2507 trip << 2508 cooli << 2509 << 2510 }; << 2511 }; << 2512 }; 2084 }; 2513 }; 2085 }; 2514 }; 2086 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.