mt8192.dtsi 64 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377
  1. // SPDX-License-Identifier: (GPL-2.0 OR MIT)
  2. /*
  3. * Copyright (C) 2020 MediaTek Inc.
  4. * Author: Seiya Wang <seiya.wang@mediatek.com>
  5. */
  6. /dts-v1/;
  7. #include <dt-bindings/clock/mt8192-clk.h>
  8. #include <dt-bindings/gce/mt8192-gce.h>
  9. #include <dt-bindings/interrupt-controller/arm-gic.h>
  10. #include <dt-bindings/interrupt-controller/irq.h>
  11. #include <dt-bindings/memory/mt8192-larb-port.h>
  12. #include <dt-bindings/pinctrl/mt8192-pinfunc.h>
  13. #include <dt-bindings/phy/phy.h>
  14. #include <dt-bindings/power/mt8192-power.h>
  15. #include <dt-bindings/reset/mt8192-resets.h>
  16. #include <dt-bindings/thermal/thermal.h>
  17. #include <dt-bindings/thermal/mediatek,lvts-thermal.h>
  18. / {
  19. compatible = "mediatek,mt8192";
  20. interrupt-parent = <&gic>;
  21. #address-cells = <2>;
  22. #size-cells = <2>;
  23. aliases {
  24. ovl0 = &ovl0;
  25. ovl-2l0 = &ovl_2l0;
  26. ovl-2l2 = &ovl_2l2;
  27. rdma0 = &rdma0;
  28. rdma4 = &rdma4;
  29. };
  30. clk13m: fixed-factor-clock-13m {
  31. compatible = "fixed-factor-clock";
  32. #clock-cells = <0>;
  33. clocks = <&clk26m>;
  34. clock-div = <2>;
  35. clock-mult = <1>;
  36. clock-output-names = "clk13m";
  37. };
  38. clk26m: oscillator0 {
  39. compatible = "fixed-clock";
  40. #clock-cells = <0>;
  41. clock-frequency = <26000000>;
  42. clock-output-names = "clk26m";
  43. };
  44. clk32k: oscillator1 {
  45. compatible = "fixed-clock";
  46. #clock-cells = <0>;
  47. clock-frequency = <32768>;
  48. clock-output-names = "clk32k";
  49. };
  50. cpus {
  51. #address-cells = <1>;
  52. #size-cells = <0>;
  53. cpu0: cpu@0 {
  54. device_type = "cpu";
  55. compatible = "arm,cortex-a55";
  56. reg = <0x000>;
  57. enable-method = "psci";
  58. clock-frequency = <1701000000>;
  59. cpu-idle-states = <&cpu_ret_l &cpu_off_l>;
  60. i-cache-size = <32768>;
  61. i-cache-line-size = <64>;
  62. i-cache-sets = <128>;
  63. d-cache-size = <32768>;
  64. d-cache-line-size = <64>;
  65. d-cache-sets = <128>;
  66. next-level-cache = <&l2_0>;
  67. performance-domains = <&performance 0>;
  68. capacity-dmips-mhz = <427>;
  69. #cooling-cells = <2>;
  70. };
  71. cpu1: cpu@100 {
  72. device_type = "cpu";
  73. compatible = "arm,cortex-a55";
  74. reg = <0x100>;
  75. enable-method = "psci";
  76. clock-frequency = <1701000000>;
  77. cpu-idle-states = <&cpu_ret_l &cpu_off_l>;
  78. i-cache-size = <32768>;
  79. i-cache-line-size = <64>;
  80. i-cache-sets = <128>;
  81. d-cache-size = <32768>;
  82. d-cache-line-size = <64>;
  83. d-cache-sets = <128>;
  84. next-level-cache = <&l2_0>;
  85. performance-domains = <&performance 0>;
  86. capacity-dmips-mhz = <427>;
  87. #cooling-cells = <2>;
  88. };
  89. cpu2: cpu@200 {
  90. device_type = "cpu";
  91. compatible = "arm,cortex-a55";
  92. reg = <0x200>;
  93. enable-method = "psci";
  94. clock-frequency = <1701000000>;
  95. cpu-idle-states = <&cpu_ret_l &cpu_off_l>;
  96. i-cache-size = <32768>;
  97. i-cache-line-size = <64>;
  98. i-cache-sets = <128>;
  99. d-cache-size = <32768>;
  100. d-cache-line-size = <64>;
  101. d-cache-sets = <128>;
  102. next-level-cache = <&l2_0>;
  103. performance-domains = <&performance 0>;
  104. capacity-dmips-mhz = <427>;
  105. #cooling-cells = <2>;
  106. };
  107. cpu3: cpu@300 {
  108. device_type = "cpu";
  109. compatible = "arm,cortex-a55";
  110. reg = <0x300>;
  111. enable-method = "psci";
  112. clock-frequency = <1701000000>;
  113. cpu-idle-states = <&cpu_ret_l &cpu_off_l>;
  114. i-cache-size = <32768>;
  115. i-cache-line-size = <64>;
  116. i-cache-sets = <128>;
  117. d-cache-size = <32768>;
  118. d-cache-line-size = <64>;
  119. d-cache-sets = <128>;
  120. next-level-cache = <&l2_0>;
  121. performance-domains = <&performance 0>;
  122. capacity-dmips-mhz = <427>;
  123. #cooling-cells = <2>;
  124. };
  125. cpu4: cpu@400 {
  126. device_type = "cpu";
  127. compatible = "arm,cortex-a76";
  128. reg = <0x400>;
  129. enable-method = "psci";
  130. clock-frequency = <2171000000>;
  131. cpu-idle-states = <&cpu_ret_b &cpu_off_b>;
  132. i-cache-size = <65536>;
  133. i-cache-line-size = <64>;
  134. i-cache-sets = <256>;
  135. d-cache-size = <65536>;
  136. d-cache-line-size = <64>;
  137. d-cache-sets = <256>;
  138. next-level-cache = <&l2_1>;
  139. performance-domains = <&performance 1>;
  140. capacity-dmips-mhz = <1024>;
  141. #cooling-cells = <2>;
  142. };
  143. cpu5: cpu@500 {
  144. device_type = "cpu";
  145. compatible = "arm,cortex-a76";
  146. reg = <0x500>;
  147. enable-method = "psci";
  148. clock-frequency = <2171000000>;
  149. cpu-idle-states = <&cpu_ret_b &cpu_off_b>;
  150. i-cache-size = <65536>;
  151. i-cache-line-size = <64>;
  152. i-cache-sets = <256>;
  153. d-cache-size = <65536>;
  154. d-cache-line-size = <64>;
  155. d-cache-sets = <256>;
  156. next-level-cache = <&l2_1>;
  157. performance-domains = <&performance 1>;
  158. capacity-dmips-mhz = <1024>;
  159. #cooling-cells = <2>;
  160. };
  161. cpu6: cpu@600 {
  162. device_type = "cpu";
  163. compatible = "arm,cortex-a76";
  164. reg = <0x600>;
  165. enable-method = "psci";
  166. clock-frequency = <2171000000>;
  167. cpu-idle-states = <&cpu_ret_b &cpu_off_b>;
  168. i-cache-size = <65536>;
  169. i-cache-line-size = <64>;
  170. i-cache-sets = <256>;
  171. d-cache-size = <65536>;
  172. d-cache-line-size = <64>;
  173. d-cache-sets = <256>;
  174. next-level-cache = <&l2_1>;
  175. performance-domains = <&performance 1>;
  176. capacity-dmips-mhz = <1024>;
  177. #cooling-cells = <2>;
  178. };
  179. cpu7: cpu@700 {
  180. device_type = "cpu";
  181. compatible = "arm,cortex-a76";
  182. reg = <0x700>;
  183. enable-method = "psci";
  184. clock-frequency = <2171000000>;
  185. cpu-idle-states = <&cpu_ret_b &cpu_off_b>;
  186. i-cache-size = <65536>;
  187. i-cache-line-size = <64>;
  188. i-cache-sets = <256>;
  189. d-cache-size = <65536>;
  190. d-cache-line-size = <64>;
  191. d-cache-sets = <256>;
  192. next-level-cache = <&l2_1>;
  193. performance-domains = <&performance 1>;
  194. capacity-dmips-mhz = <1024>;
  195. #cooling-cells = <2>;
  196. };
  197. cpu-map {
  198. cluster0 {
  199. core0 {
  200. cpu = <&cpu0>;
  201. };
  202. core1 {
  203. cpu = <&cpu1>;
  204. };
  205. core2 {
  206. cpu = <&cpu2>;
  207. };
  208. core3 {
  209. cpu = <&cpu3>;
  210. };
  211. core4 {
  212. cpu = <&cpu4>;
  213. };
  214. core5 {
  215. cpu = <&cpu5>;
  216. };
  217. core6 {
  218. cpu = <&cpu6>;
  219. };
  220. core7 {
  221. cpu = <&cpu7>;
  222. };
  223. };
  224. };
  225. l2_0: l2-cache0 {
  226. compatible = "cache";
  227. cache-level = <2>;
  228. cache-size = <131072>;
  229. cache-line-size = <64>;
  230. cache-sets = <512>;
  231. next-level-cache = <&l3_0>;
  232. cache-unified;
  233. };
  234. l2_1: l2-cache1 {
  235. compatible = "cache";
  236. cache-level = <2>;
  237. cache-size = <262144>;
  238. cache-line-size = <64>;
  239. cache-sets = <512>;
  240. next-level-cache = <&l3_0>;
  241. cache-unified;
  242. };
  243. l3_0: l3-cache {
  244. compatible = "cache";
  245. cache-level = <3>;
  246. cache-size = <2097152>;
  247. cache-line-size = <64>;
  248. cache-sets = <2048>;
  249. cache-unified;
  250. };
  251. idle-states {
  252. entry-method = "psci";
  253. cpu_ret_l: cpu-retention-l {
  254. compatible = "arm,idle-state";
  255. arm,psci-suspend-param = <0x00010001>;
  256. local-timer-stop;
  257. entry-latency-us = <55>;
  258. exit-latency-us = <140>;
  259. min-residency-us = <780>;
  260. };
  261. cpu_ret_b: cpu-retention-b {
  262. compatible = "arm,idle-state";
  263. arm,psci-suspend-param = <0x00010001>;
  264. local-timer-stop;
  265. entry-latency-us = <35>;
  266. exit-latency-us = <145>;
  267. min-residency-us = <720>;
  268. };
  269. cpu_off_l: cpu-off-l {
  270. compatible = "arm,idle-state";
  271. arm,psci-suspend-param = <0x01010002>;
  272. local-timer-stop;
  273. entry-latency-us = <60>;
  274. exit-latency-us = <155>;
  275. min-residency-us = <860>;
  276. };
  277. cpu_off_b: cpu-off-b {
  278. compatible = "arm,idle-state";
  279. arm,psci-suspend-param = <0x01010002>;
  280. local-timer-stop;
  281. entry-latency-us = <40>;
  282. exit-latency-us = <155>;
  283. min-residency-us = <780>;
  284. };
  285. };
  286. };
  287. pmu-a55 {
  288. compatible = "arm,cortex-a55-pmu";
  289. interrupt-parent = <&gic>;
  290. interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster0>;
  291. };
  292. pmu-a76 {
  293. compatible = "arm,cortex-a76-pmu";
  294. interrupt-parent = <&gic>;
  295. interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster1>;
  296. };
  297. psci {
  298. compatible = "arm,psci-1.0";
  299. method = "smc";
  300. };
  301. timer: timer {
  302. compatible = "arm,armv8-timer";
  303. interrupt-parent = <&gic>;
  304. interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH 0>,
  305. <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH 0>,
  306. <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH 0>,
  307. <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH 0>;
  308. clock-frequency = <13000000>;
  309. };
  310. gpu_opp_table: opp-table-0 {
  311. compatible = "operating-points-v2";
  312. opp-shared;
  313. opp-358000000 {
  314. opp-hz = /bits/ 64 <358000000>;
  315. opp-microvolt = <606250>;
  316. };
  317. opp-399000000 {
  318. opp-hz = /bits/ 64 <399000000>;
  319. opp-microvolt = <618750>;
  320. };
  321. opp-440000000 {
  322. opp-hz = /bits/ 64 <440000000>;
  323. opp-microvolt = <631250>;
  324. };
  325. opp-482000000 {
  326. opp-hz = /bits/ 64 <482000000>;
  327. opp-microvolt = <643750>;
  328. };
  329. opp-523000000 {
  330. opp-hz = /bits/ 64 <523000000>;
  331. opp-microvolt = <656250>;
  332. };
  333. opp-564000000 {
  334. opp-hz = /bits/ 64 <564000000>;
  335. opp-microvolt = <668750>;
  336. };
  337. opp-605000000 {
  338. opp-hz = /bits/ 64 <605000000>;
  339. opp-microvolt = <681250>;
  340. };
  341. opp-647000000 {
  342. opp-hz = /bits/ 64 <647000000>;
  343. opp-microvolt = <693750>;
  344. };
  345. opp-688000000 {
  346. opp-hz = /bits/ 64 <688000000>;
  347. opp-microvolt = <706250>;
  348. };
  349. opp-724000000 {
  350. opp-hz = /bits/ 64 <724000000>;
  351. opp-microvolt = <725000>;
  352. };
  353. opp-748000000 {
  354. opp-hz = /bits/ 64 <748000000>;
  355. opp-microvolt = <737500>;
  356. };
  357. opp-772000000 {
  358. opp-hz = /bits/ 64 <772000000>;
  359. opp-microvolt = <750000>;
  360. };
  361. opp-795000000 {
  362. opp-hz = /bits/ 64 <795000000>;
  363. opp-microvolt = <762500>;
  364. };
  365. opp-819000000 {
  366. opp-hz = /bits/ 64 <819000000>;
  367. opp-microvolt = <775000>;
  368. };
  369. opp-843000000 {
  370. opp-hz = /bits/ 64 <843000000>;
  371. opp-microvolt = <787500>;
  372. };
  373. opp-866000000 {
  374. opp-hz = /bits/ 64 <866000000>;
  375. opp-microvolt = <800000>;
  376. };
  377. };
  378. soc {
  379. #address-cells = <2>;
  380. #size-cells = <2>;
  381. compatible = "simple-bus";
  382. dma-ranges = <0x0 0x0 0x0 0x0 0x4 0x0>;
  383. ranges;
  384. performance: performance-controller@11bc10 {
  385. compatible = "mediatek,cpufreq-hw";
  386. reg = <0 0x0011bc10 0 0x120>, <0 0x0011bd30 0 0x120>;
  387. #performance-domain-cells = <1>;
  388. };
  389. gic: interrupt-controller@c000000 {
  390. compatible = "arm,gic-v3";
  391. #interrupt-cells = <4>;
  392. #redistributor-regions = <1>;
  393. interrupt-parent = <&gic>;
  394. interrupt-controller;
  395. reg = <0 0x0c000000 0 0x40000>,
  396. <0 0x0c040000 0 0x200000>;
  397. interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
  398. ppi-partitions {
  399. ppi_cluster0: interrupt-partition-0 {
  400. affinity = <&cpu0 &cpu1 &cpu2 &cpu3>;
  401. };
  402. ppi_cluster1: interrupt-partition-1 {
  403. affinity = <&cpu4 &cpu5 &cpu6 &cpu7>;
  404. };
  405. };
  406. };
  407. topckgen: syscon@10000000 {
  408. compatible = "mediatek,mt8192-topckgen", "syscon";
  409. reg = <0 0x10000000 0 0x1000>;
  410. #clock-cells = <1>;
  411. };
  412. infracfg: syscon@10001000 {
  413. compatible = "mediatek,mt8192-infracfg", "syscon";
  414. reg = <0 0x10001000 0 0x1000>;
  415. #clock-cells = <1>;
  416. #reset-cells = <1>;
  417. };
  418. pericfg: syscon@10003000 {
  419. compatible = "mediatek,mt8192-pericfg", "syscon";
  420. reg = <0 0x10003000 0 0x1000>;
  421. #clock-cells = <1>;
  422. };
  423. pio: pinctrl@10005000 {
  424. compatible = "mediatek,mt8192-pinctrl";
  425. reg = <0 0x10005000 0 0x1000>,
  426. <0 0x11c20000 0 0x1000>,
  427. <0 0x11d10000 0 0x1000>,
  428. <0 0x11d30000 0 0x1000>,
  429. <0 0x11d40000 0 0x1000>,
  430. <0 0x11e20000 0 0x1000>,
  431. <0 0x11e70000 0 0x1000>,
  432. <0 0x11ea0000 0 0x1000>,
  433. <0 0x11f20000 0 0x1000>,
  434. <0 0x11f30000 0 0x1000>,
  435. <0 0x1000b000 0 0x1000>;
  436. reg-names = "iocfg0", "iocfg_rm", "iocfg_bm",
  437. "iocfg_bl", "iocfg_br", "iocfg_lm",
  438. "iocfg_lb", "iocfg_rt", "iocfg_lt",
  439. "iocfg_tl", "eint";
  440. gpio-controller;
  441. #gpio-cells = <2>;
  442. gpio-ranges = <&pio 0 0 220>;
  443. interrupt-controller;
  444. interrupts = <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH 0>;
  445. #interrupt-cells = <2>;
  446. };
  447. scpsys: syscon@10006000 {
  448. compatible = "mediatek,mt8192-scpsys", "syscon", "simple-mfd";
  449. reg = <0 0x10006000 0 0x1000>;
  450. /* System Power Manager */
  451. spm: power-controller {
  452. compatible = "mediatek,mt8192-power-controller";
  453. #address-cells = <1>;
  454. #size-cells = <0>;
  455. #power-domain-cells = <1>;
  456. /* power domain of the SoC */
  457. power-domain@MT8192_POWER_DOMAIN_AUDIO {
  458. reg = <MT8192_POWER_DOMAIN_AUDIO>;
  459. clocks = <&topckgen CLK_TOP_AUD_INTBUS_SEL>,
  460. <&infracfg CLK_INFRA_AUDIO_26M_B>,
  461. <&infracfg CLK_INFRA_AUDIO>;
  462. clock-names = "audio", "audio1", "audio2";
  463. mediatek,infracfg = <&infracfg>;
  464. #power-domain-cells = <0>;
  465. };
  466. power-domain@MT8192_POWER_DOMAIN_CONN {
  467. reg = <MT8192_POWER_DOMAIN_CONN>;
  468. clocks = <&infracfg CLK_INFRA_PMIC_CONN>;
  469. clock-names = "conn";
  470. mediatek,infracfg = <&infracfg>;
  471. #power-domain-cells = <0>;
  472. };
  473. mfg0: power-domain@MT8192_POWER_DOMAIN_MFG0 {
  474. reg = <MT8192_POWER_DOMAIN_MFG0>;
  475. clocks = <&topckgen CLK_TOP_MFG_PLL_SEL>,
  476. <&topckgen CLK_TOP_MFG_REF_SEL>;
  477. clock-names = "mfg", "alt";
  478. #address-cells = <1>;
  479. #size-cells = <0>;
  480. #power-domain-cells = <1>;
  481. mfg1: power-domain@MT8192_POWER_DOMAIN_MFG1 {
  482. reg = <MT8192_POWER_DOMAIN_MFG1>;
  483. mediatek,infracfg = <&infracfg>;
  484. #address-cells = <1>;
  485. #size-cells = <0>;
  486. #power-domain-cells = <1>;
  487. power-domain@MT8192_POWER_DOMAIN_MFG2 {
  488. reg = <MT8192_POWER_DOMAIN_MFG2>;
  489. #power-domain-cells = <0>;
  490. };
  491. power-domain@MT8192_POWER_DOMAIN_MFG3 {
  492. reg = <MT8192_POWER_DOMAIN_MFG3>;
  493. #power-domain-cells = <0>;
  494. };
  495. power-domain@MT8192_POWER_DOMAIN_MFG4 {
  496. reg = <MT8192_POWER_DOMAIN_MFG4>;
  497. #power-domain-cells = <0>;
  498. };
  499. power-domain@MT8192_POWER_DOMAIN_MFG5 {
  500. reg = <MT8192_POWER_DOMAIN_MFG5>;
  501. #power-domain-cells = <0>;
  502. };
  503. power-domain@MT8192_POWER_DOMAIN_MFG6 {
  504. reg = <MT8192_POWER_DOMAIN_MFG6>;
  505. #power-domain-cells = <0>;
  506. };
  507. };
  508. };
  509. power-domain@MT8192_POWER_DOMAIN_DISP {
  510. reg = <MT8192_POWER_DOMAIN_DISP>;
  511. clocks = <&topckgen CLK_TOP_DISP_SEL>,
  512. <&mmsys CLK_MM_SMI_INFRA>,
  513. <&mmsys CLK_MM_SMI_COMMON>,
  514. <&mmsys CLK_MM_SMI_GALS>,
  515. <&mmsys CLK_MM_SMI_IOMMU>;
  516. clock-names = "disp", "disp-0", "disp-1", "disp-2",
  517. "disp-3";
  518. mediatek,infracfg = <&infracfg>;
  519. #address-cells = <1>;
  520. #size-cells = <0>;
  521. #power-domain-cells = <1>;
  522. power-domain@MT8192_POWER_DOMAIN_IPE {
  523. reg = <MT8192_POWER_DOMAIN_IPE>;
  524. clocks = <&topckgen CLK_TOP_IPE_SEL>,
  525. <&ipesys CLK_IPE_LARB19>,
  526. <&ipesys CLK_IPE_LARB20>,
  527. <&ipesys CLK_IPE_SMI_SUBCOM>,
  528. <&ipesys CLK_IPE_GALS>;
  529. clock-names = "ipe", "ipe-0", "ipe-1", "ipe-2",
  530. "ipe-3";
  531. mediatek,infracfg = <&infracfg>;
  532. #power-domain-cells = <0>;
  533. };
  534. power-domain@MT8192_POWER_DOMAIN_ISP {
  535. reg = <MT8192_POWER_DOMAIN_ISP>;
  536. clocks = <&topckgen CLK_TOP_IMG1_SEL>,
  537. <&imgsys CLK_IMG_LARB9>,
  538. <&imgsys CLK_IMG_GALS>;
  539. clock-names = "isp", "isp-0", "isp-1";
  540. mediatek,infracfg = <&infracfg>;
  541. #power-domain-cells = <0>;
  542. };
  543. power-domain@MT8192_POWER_DOMAIN_ISP2 {
  544. reg = <MT8192_POWER_DOMAIN_ISP2>;
  545. clocks = <&topckgen CLK_TOP_IMG2_SEL>,
  546. <&imgsys2 CLK_IMG2_LARB11>,
  547. <&imgsys2 CLK_IMG2_GALS>;
  548. clock-names = "isp2", "isp2-0", "isp2-1";
  549. mediatek,infracfg = <&infracfg>;
  550. #power-domain-cells = <0>;
  551. };
  552. power-domain@MT8192_POWER_DOMAIN_MDP {
  553. reg = <MT8192_POWER_DOMAIN_MDP>;
  554. clocks = <&topckgen CLK_TOP_MDP_SEL>,
  555. <&mdpsys CLK_MDP_SMI0>;
  556. clock-names = "mdp", "mdp-0";
  557. mediatek,infracfg = <&infracfg>;
  558. #power-domain-cells = <0>;
  559. };
  560. power-domain@MT8192_POWER_DOMAIN_VENC {
  561. reg = <MT8192_POWER_DOMAIN_VENC>;
  562. clocks = <&topckgen CLK_TOP_VENC_SEL>,
  563. <&vencsys CLK_VENC_SET1_VENC>;
  564. clock-names = "venc", "venc-0";
  565. mediatek,infracfg = <&infracfg>;
  566. #power-domain-cells = <0>;
  567. };
  568. power-domain@MT8192_POWER_DOMAIN_VDEC {
  569. reg = <MT8192_POWER_DOMAIN_VDEC>;
  570. clocks = <&topckgen CLK_TOP_VDEC_SEL>,
  571. <&vdecsys_soc CLK_VDEC_SOC_VDEC>,
  572. <&vdecsys_soc CLK_VDEC_SOC_LAT>,
  573. <&vdecsys_soc CLK_VDEC_SOC_LARB1>;
  574. clock-names = "vdec", "vdec-0", "vdec-1", "vdec-2";
  575. mediatek,infracfg = <&infracfg>;
  576. #address-cells = <1>;
  577. #size-cells = <0>;
  578. #power-domain-cells = <1>;
  579. power-domain@MT8192_POWER_DOMAIN_VDEC2 {
  580. reg = <MT8192_POWER_DOMAIN_VDEC2>;
  581. clocks = <&vdecsys CLK_VDEC_VDEC>,
  582. <&vdecsys CLK_VDEC_LAT>,
  583. <&vdecsys CLK_VDEC_LARB1>;
  584. clock-names = "vdec2-0", "vdec2-1",
  585. "vdec2-2";
  586. #power-domain-cells = <0>;
  587. };
  588. };
  589. power-domain@MT8192_POWER_DOMAIN_CAM {
  590. reg = <MT8192_POWER_DOMAIN_CAM>;
  591. clocks = <&topckgen CLK_TOP_CAM_SEL>,
  592. <&camsys CLK_CAM_LARB13>,
  593. <&camsys CLK_CAM_LARB14>,
  594. <&camsys CLK_CAM_CCU_GALS>,
  595. <&camsys CLK_CAM_CAM2MM_GALS>;
  596. clock-names = "cam", "cam-0", "cam-1", "cam-2",
  597. "cam-3";
  598. mediatek,infracfg = <&infracfg>;
  599. #address-cells = <1>;
  600. #size-cells = <0>;
  601. #power-domain-cells = <1>;
  602. power-domain@MT8192_POWER_DOMAIN_CAM_RAWA {
  603. reg = <MT8192_POWER_DOMAIN_CAM_RAWA>;
  604. clocks = <&camsys_rawa CLK_CAM_RAWA_LARBX>;
  605. clock-names = "cam_rawa-0";
  606. #power-domain-cells = <0>;
  607. };
  608. power-domain@MT8192_POWER_DOMAIN_CAM_RAWB {
  609. reg = <MT8192_POWER_DOMAIN_CAM_RAWB>;
  610. clocks = <&camsys_rawb CLK_CAM_RAWB_LARBX>;
  611. clock-names = "cam_rawb-0";
  612. #power-domain-cells = <0>;
  613. };
  614. power-domain@MT8192_POWER_DOMAIN_CAM_RAWC {
  615. reg = <MT8192_POWER_DOMAIN_CAM_RAWC>;
  616. clocks = <&camsys_rawc CLK_CAM_RAWC_LARBX>;
  617. clock-names = "cam_rawc-0";
  618. #power-domain-cells = <0>;
  619. };
  620. };
  621. };
  622. };
  623. };
  624. watchdog: watchdog@10007000 {
  625. compatible = "mediatek,mt8192-wdt";
  626. reg = <0 0x10007000 0 0x100>;
  627. #reset-cells = <1>;
  628. };
  629. apmixedsys: syscon@1000c000 {
  630. compatible = "mediatek,mt8192-apmixedsys", "syscon";
  631. reg = <0 0x1000c000 0 0x1000>;
  632. #clock-cells = <1>;
  633. };
  634. systimer: timer@10017000 {
  635. compatible = "mediatek,mt8192-timer",
  636. "mediatek,mt6765-timer";
  637. reg = <0 0x10017000 0 0x1000>;
  638. interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH 0>;
  639. clocks = <&clk13m>;
  640. };
  641. pwrap: pwrap@10026000 {
  642. compatible = "mediatek,mt6873-pwrap";
  643. reg = <0 0x10026000 0 0x1000>;
  644. reg-names = "pwrap";
  645. interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH 0>;
  646. clocks = <&infracfg CLK_INFRA_PMIC_AP>,
  647. <&infracfg CLK_INFRA_PMIC_TMR>;
  648. clock-names = "spi", "wrap";
  649. assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC_SEL>;
  650. assigned-clock-parents = <&topckgen CLK_TOP_OSC_D10>;
  651. };
  652. spmi: spmi@10027000 {
  653. compatible = "mediatek,mt6873-spmi";
  654. reg = <0 0x10027000 0 0x000e00>,
  655. <0 0x10029000 0 0x000100>;
  656. reg-names = "pmif", "spmimst";
  657. clocks = <&infracfg CLK_INFRA_PMIC_AP>,
  658. <&infracfg CLK_INFRA_PMIC_TMR>,
  659. <&topckgen CLK_TOP_SPMI_MST_SEL>;
  660. clock-names = "pmif_sys_ck",
  661. "pmif_tmr_ck",
  662. "spmimst_clk_mux";
  663. assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC_SEL>;
  664. assigned-clock-parents = <&topckgen CLK_TOP_OSC_D10>;
  665. };
  666. gce: mailbox@10228000 {
  667. compatible = "mediatek,mt8192-gce";
  668. reg = <0 0x10228000 0 0x4000>;
  669. interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH 0>;
  670. #mbox-cells = <2>;
  671. clocks = <&infracfg CLK_INFRA_GCE>;
  672. clock-names = "gce";
  673. };
  674. scp_adsp: clock-controller@10720000 {
  675. compatible = "mediatek,mt8192-scp_adsp";
  676. reg = <0 0x10720000 0 0x1000>;
  677. #clock-cells = <1>;
  678. /* power domain dependency not upstreamed */
  679. status = "fail";
  680. };
  681. uart0: serial@11002000 {
  682. compatible = "mediatek,mt8192-uart",
  683. "mediatek,mt6577-uart";
  684. reg = <0 0x11002000 0 0x1000>;
  685. interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH 0>;
  686. clocks = <&clk26m>, <&infracfg CLK_INFRA_UART0>;
  687. clock-names = "baud", "bus";
  688. status = "disabled";
  689. };
  690. uart1: serial@11003000 {
  691. compatible = "mediatek,mt8192-uart",
  692. "mediatek,mt6577-uart";
  693. reg = <0 0x11003000 0 0x1000>;
  694. interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH 0>;
  695. clocks = <&clk26m>, <&infracfg CLK_INFRA_UART1>;
  696. clock-names = "baud", "bus";
  697. status = "disabled";
  698. };
  699. imp_iic_wrap_c: clock-controller@11007000 {
  700. compatible = "mediatek,mt8192-imp_iic_wrap_c";
  701. reg = <0 0x11007000 0 0x1000>;
  702. #clock-cells = <1>;
  703. };
  704. spi0: spi@1100a000 {
  705. compatible = "mediatek,mt8192-spi",
  706. "mediatek,mt6765-spi";
  707. #address-cells = <1>;
  708. #size-cells = <0>;
  709. reg = <0 0x1100a000 0 0x1000>;
  710. interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH 0>;
  711. clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
  712. <&topckgen CLK_TOP_SPI_SEL>,
  713. <&infracfg CLK_INFRA_SPI0>;
  714. clock-names = "parent-clk", "sel-clk", "spi-clk";
  715. status = "disabled";
  716. };
  717. lvts_ap: thermal-sensor@1100b000 {
  718. compatible = "mediatek,mt8192-lvts-ap";
  719. reg = <0 0x1100b000 0 0xc00>;
  720. interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH 0>;
  721. clocks = <&infracfg CLK_INFRA_THERM>;
  722. resets = <&infracfg MT8192_INFRA_RST0_THERM_CTRL_SWRST>;
  723. nvmem-cells = <&lvts_e_data1>;
  724. nvmem-cell-names = "lvts-calib-data-1";
  725. #thermal-sensor-cells = <1>;
  726. };
  727. svs: svs@1100bc00 {
  728. compatible = "mediatek,mt8192-svs";
  729. reg = <0 0x1100bc00 0 0x400>;
  730. interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH 0>;
  731. clocks = <&infracfg CLK_INFRA_THERM>;
  732. clock-names = "main";
  733. nvmem-cells = <&svs_calibration>, <&lvts_e_data1>;
  734. nvmem-cell-names = "svs-calibration-data", "t-calibration-data";
  735. resets = <&infracfg MT8192_INFRA_RST3_THERM_CTRL_PTP_SWRST>;
  736. reset-names = "svs_rst";
  737. };
  738. pwm0: pwm@1100e000 {
  739. compatible = "mediatek,mt8183-disp-pwm";
  740. reg = <0 0x1100e000 0 0x1000>;
  741. interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH 0>;
  742. #pwm-cells = <2>;
  743. clocks = <&topckgen CLK_TOP_DISP_PWM_SEL>,
  744. <&infracfg CLK_INFRA_DISP_PWM>;
  745. clock-names = "main", "mm";
  746. status = "disabled";
  747. };
  748. spi1: spi@11010000 {
  749. compatible = "mediatek,mt8192-spi",
  750. "mediatek,mt6765-spi";
  751. #address-cells = <1>;
  752. #size-cells = <0>;
  753. reg = <0 0x11010000 0 0x1000>;
  754. interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH 0>;
  755. clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
  756. <&topckgen CLK_TOP_SPI_SEL>,
  757. <&infracfg CLK_INFRA_SPI1>;
  758. clock-names = "parent-clk", "sel-clk", "spi-clk";
  759. status = "disabled";
  760. };
  761. spi2: spi@11012000 {
  762. compatible = "mediatek,mt8192-spi",
  763. "mediatek,mt6765-spi";
  764. #address-cells = <1>;
  765. #size-cells = <0>;
  766. reg = <0 0x11012000 0 0x1000>;
  767. interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH 0>;
  768. clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
  769. <&topckgen CLK_TOP_SPI_SEL>,
  770. <&infracfg CLK_INFRA_SPI2>;
  771. clock-names = "parent-clk", "sel-clk", "spi-clk";
  772. status = "disabled";
  773. };
  774. spi3: spi@11013000 {
  775. compatible = "mediatek,mt8192-spi",
  776. "mediatek,mt6765-spi";
  777. #address-cells = <1>;
  778. #size-cells = <0>;
  779. reg = <0 0x11013000 0 0x1000>;
  780. interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH 0>;
  781. clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
  782. <&topckgen CLK_TOP_SPI_SEL>,
  783. <&infracfg CLK_INFRA_SPI3>;
  784. clock-names = "parent-clk", "sel-clk", "spi-clk";
  785. status = "disabled";
  786. };
  787. spi4: spi@11018000 {
  788. compatible = "mediatek,mt8192-spi",
  789. "mediatek,mt6765-spi";
  790. #address-cells = <1>;
  791. #size-cells = <0>;
  792. reg = <0 0x11018000 0 0x1000>;
  793. interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH 0>;
  794. clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
  795. <&topckgen CLK_TOP_SPI_SEL>,
  796. <&infracfg CLK_INFRA_SPI4>;
  797. clock-names = "parent-clk", "sel-clk", "spi-clk";
  798. status = "disabled";
  799. };
  800. spi5: spi@11019000 {
  801. compatible = "mediatek,mt8192-spi",
  802. "mediatek,mt6765-spi";
  803. #address-cells = <1>;
  804. #size-cells = <0>;
  805. reg = <0 0x11019000 0 0x1000>;
  806. interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH 0>;
  807. clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
  808. <&topckgen CLK_TOP_SPI_SEL>,
  809. <&infracfg CLK_INFRA_SPI5>;
  810. clock-names = "parent-clk", "sel-clk", "spi-clk";
  811. status = "disabled";
  812. };
  813. spi6: spi@1101d000 {
  814. compatible = "mediatek,mt8192-spi",
  815. "mediatek,mt6765-spi";
  816. #address-cells = <1>;
  817. #size-cells = <0>;
  818. reg = <0 0x1101d000 0 0x1000>;
  819. interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH 0>;
  820. clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
  821. <&topckgen CLK_TOP_SPI_SEL>,
  822. <&infracfg CLK_INFRA_SPI6>;
  823. clock-names = "parent-clk", "sel-clk", "spi-clk";
  824. status = "disabled";
  825. };
  826. spi7: spi@1101e000 {
  827. compatible = "mediatek,mt8192-spi",
  828. "mediatek,mt6765-spi";
  829. #address-cells = <1>;
  830. #size-cells = <0>;
  831. reg = <0 0x1101e000 0 0x1000>;
  832. interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH 0>;
  833. clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
  834. <&topckgen CLK_TOP_SPI_SEL>,
  835. <&infracfg CLK_INFRA_SPI7>;
  836. clock-names = "parent-clk", "sel-clk", "spi-clk";
  837. status = "disabled";
  838. };
  839. scp: scp@10500000 {
  840. compatible = "mediatek,mt8192-scp";
  841. reg = <0 0x10500000 0 0x100000>,
  842. <0 0x10720000 0 0xe0000>,
  843. <0 0x10700000 0 0x8000>;
  844. reg-names = "sram", "cfg", "l1tcm";
  845. interrupts = <GIC_SPI 435 IRQ_TYPE_LEVEL_HIGH 0>;
  846. clocks = <&infracfg CLK_INFRA_SCPSYS>;
  847. clock-names = "main";
  848. status = "disabled";
  849. };
  850. xhci: usb@11200000 {
  851. compatible = "mediatek,mt8192-xhci",
  852. "mediatek,mtk-xhci";
  853. reg = <0 0x11200000 0 0x1000>,
  854. <0 0x11203e00 0 0x0100>;
  855. reg-names = "mac", "ippc";
  856. interrupts-extended = <&gic GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH 0>;
  857. interrupt-names = "host";
  858. phys = <&u2port0 PHY_TYPE_USB2>,
  859. <&u3port0 PHY_TYPE_USB3>;
  860. assigned-clocks = <&topckgen CLK_TOP_USB_TOP_SEL>,
  861. <&topckgen CLK_TOP_SSUSB_XHCI_SEL>;
  862. assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>,
  863. <&topckgen CLK_TOP_UNIVPLL_D5_D4>;
  864. clocks = <&infracfg CLK_INFRA_SSUSB>,
  865. <&apmixedsys CLK_APMIXED_USBPLL>,
  866. <&clk26m>,
  867. <&clk26m>,
  868. <&infracfg CLK_INFRA_SSUSB_XHCI>;
  869. clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck",
  870. "xhci_ck";
  871. wakeup-source;
  872. mediatek,syscon-wakeup = <&pericfg 0x420 102>;
  873. status = "disabled";
  874. };
  875. audsys: syscon@11210000 {
  876. compatible = "mediatek,mt8192-audsys", "syscon";
  877. reg = <0 0x11210000 0 0x2000>;
  878. #clock-cells = <1>;
  879. afe: mt8192-afe-pcm {
  880. compatible = "mediatek,mt8192-audio";
  881. interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH 0>;
  882. resets = <&watchdog 17>;
  883. reset-names = "audiosys";
  884. mediatek,apmixedsys = <&apmixedsys>;
  885. mediatek,infracfg = <&infracfg>;
  886. mediatek,topckgen = <&topckgen>;
  887. power-domains = <&spm MT8192_POWER_DOMAIN_AUDIO>;
  888. clocks = <&audsys CLK_AUD_AFE>,
  889. <&audsys CLK_AUD_DAC>,
  890. <&audsys CLK_AUD_DAC_PREDIS>,
  891. <&audsys CLK_AUD_ADC>,
  892. <&audsys CLK_AUD_ADDA6_ADC>,
  893. <&audsys CLK_AUD_22M>,
  894. <&audsys CLK_AUD_24M>,
  895. <&audsys CLK_AUD_APLL_TUNER>,
  896. <&audsys CLK_AUD_APLL2_TUNER>,
  897. <&audsys CLK_AUD_TDM>,
  898. <&audsys CLK_AUD_TML>,
  899. <&audsys CLK_AUD_NLE>,
  900. <&audsys CLK_AUD_DAC_HIRES>,
  901. <&audsys CLK_AUD_ADC_HIRES>,
  902. <&audsys CLK_AUD_ADC_HIRES_TML>,
  903. <&audsys CLK_AUD_ADDA6_ADC_HIRES>,
  904. <&audsys CLK_AUD_3RD_DAC>,
  905. <&audsys CLK_AUD_3RD_DAC_PREDIS>,
  906. <&audsys CLK_AUD_3RD_DAC_TML>,
  907. <&audsys CLK_AUD_3RD_DAC_HIRES>,
  908. <&infracfg CLK_INFRA_AUDIO>,
  909. <&infracfg CLK_INFRA_AUDIO_26M_B>,
  910. <&topckgen CLK_TOP_AUDIO_SEL>,
  911. <&topckgen CLK_TOP_AUD_INTBUS_SEL>,
  912. <&topckgen CLK_TOP_MAINPLL_D4_D4>,
  913. <&topckgen CLK_TOP_AUD_1_SEL>,
  914. <&topckgen CLK_TOP_APLL1>,
  915. <&topckgen CLK_TOP_AUD_2_SEL>,
  916. <&topckgen CLK_TOP_APLL2>,
  917. <&topckgen CLK_TOP_AUD_ENGEN1_SEL>,
  918. <&topckgen CLK_TOP_APLL1_D4>,
  919. <&topckgen CLK_TOP_AUD_ENGEN2_SEL>,
  920. <&topckgen CLK_TOP_APLL2_D4>,
  921. <&topckgen CLK_TOP_APLL_I2S0_M_SEL>,
  922. <&topckgen CLK_TOP_APLL_I2S1_M_SEL>,
  923. <&topckgen CLK_TOP_APLL_I2S2_M_SEL>,
  924. <&topckgen CLK_TOP_APLL_I2S3_M_SEL>,
  925. <&topckgen CLK_TOP_APLL_I2S4_M_SEL>,
  926. <&topckgen CLK_TOP_APLL_I2S5_M_SEL>,
  927. <&topckgen CLK_TOP_APLL_I2S6_M_SEL>,
  928. <&topckgen CLK_TOP_APLL_I2S7_M_SEL>,
  929. <&topckgen CLK_TOP_APLL_I2S8_M_SEL>,
  930. <&topckgen CLK_TOP_APLL_I2S9_M_SEL>,
  931. <&topckgen CLK_TOP_APLL12_DIV0>,
  932. <&topckgen CLK_TOP_APLL12_DIV1>,
  933. <&topckgen CLK_TOP_APLL12_DIV2>,
  934. <&topckgen CLK_TOP_APLL12_DIV3>,
  935. <&topckgen CLK_TOP_APLL12_DIV4>,
  936. <&topckgen CLK_TOP_APLL12_DIVB>,
  937. <&topckgen CLK_TOP_APLL12_DIV5>,
  938. <&topckgen CLK_TOP_APLL12_DIV6>,
  939. <&topckgen CLK_TOP_APLL12_DIV7>,
  940. <&topckgen CLK_TOP_APLL12_DIV8>,
  941. <&topckgen CLK_TOP_APLL12_DIV9>,
  942. <&topckgen CLK_TOP_AUDIO_H_SEL>,
  943. <&clk26m>;
  944. clock-names = "aud_afe_clk",
  945. "aud_dac_clk",
  946. "aud_dac_predis_clk",
  947. "aud_adc_clk",
  948. "aud_adda6_adc_clk",
  949. "aud_apll22m_clk",
  950. "aud_apll24m_clk",
  951. "aud_apll1_tuner_clk",
  952. "aud_apll2_tuner_clk",
  953. "aud_tdm_clk",
  954. "aud_tml_clk",
  955. "aud_nle",
  956. "aud_dac_hires_clk",
  957. "aud_adc_hires_clk",
  958. "aud_adc_hires_tml",
  959. "aud_adda6_adc_hires_clk",
  960. "aud_3rd_dac_clk",
  961. "aud_3rd_dac_predis_clk",
  962. "aud_3rd_dac_tml",
  963. "aud_3rd_dac_hires_clk",
  964. "aud_infra_clk",
  965. "aud_infra_26m_clk",
  966. "top_mux_audio",
  967. "top_mux_audio_int",
  968. "top_mainpll_d4_d4",
  969. "top_mux_aud_1",
  970. "top_apll1_ck",
  971. "top_mux_aud_2",
  972. "top_apll2_ck",
  973. "top_mux_aud_eng1",
  974. "top_apll1_d4",
  975. "top_mux_aud_eng2",
  976. "top_apll2_d4",
  977. "top_i2s0_m_sel",
  978. "top_i2s1_m_sel",
  979. "top_i2s2_m_sel",
  980. "top_i2s3_m_sel",
  981. "top_i2s4_m_sel",
  982. "top_i2s5_m_sel",
  983. "top_i2s6_m_sel",
  984. "top_i2s7_m_sel",
  985. "top_i2s8_m_sel",
  986. "top_i2s9_m_sel",
  987. "top_apll12_div0",
  988. "top_apll12_div1",
  989. "top_apll12_div2",
  990. "top_apll12_div3",
  991. "top_apll12_div4",
  992. "top_apll12_divb",
  993. "top_apll12_div5",
  994. "top_apll12_div6",
  995. "top_apll12_div7",
  996. "top_apll12_div8",
  997. "top_apll12_div9",
  998. "top_mux_audio_h",
  999. "top_clk26m_clk";
  1000. };
  1001. };
  1002. pcie: pcie@11230000 {
  1003. compatible = "mediatek,mt8192-pcie";
  1004. device_type = "pci";
  1005. reg = <0 0x11230000 0 0x2000>;
  1006. reg-names = "pcie-mac";
  1007. #address-cells = <3>;
  1008. #size-cells = <2>;
  1009. clocks = <&infracfg CLK_INFRA_PCIE_PL_P_250M>,
  1010. <&infracfg CLK_INFRA_PCIE_TL_26M>,
  1011. <&infracfg CLK_INFRA_PCIE_TL_96M>,
  1012. <&infracfg CLK_INFRA_PCIE_TL_32K>,
  1013. <&infracfg CLK_INFRA_PCIE_PERI_26M>,
  1014. <&infracfg CLK_INFRA_PCIE_TOP_H_133M>;
  1015. clock-names = "pl_250m", "tl_26m", "tl_96m",
  1016. "tl_32k", "peri_26m", "top_133m";
  1017. assigned-clocks = <&topckgen CLK_TOP_TL_SEL>;
  1018. assigned-clock-parents = <&topckgen CLK_TOP_MAINPLL_D6_D4>;
  1019. interrupts = <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH 0>;
  1020. bus-range = <0x00 0xff>;
  1021. ranges = <0x82000000 0 0x12000000 0x0 0x12000000 0 0x0800000>,
  1022. <0x81000000 0 0x12800000 0x0 0x12800000 0 0x0800000>;
  1023. #interrupt-cells = <1>;
  1024. interrupt-map-mask = <0 0 0 7>;
  1025. interrupt-map = <0 0 0 1 &pcie_intc0 0>,
  1026. <0 0 0 2 &pcie_intc0 1>,
  1027. <0 0 0 3 &pcie_intc0 2>,
  1028. <0 0 0 4 &pcie_intc0 3>;
  1029. pcie_intc0: interrupt-controller {
  1030. interrupt-controller;
  1031. #address-cells = <0>;
  1032. #interrupt-cells = <1>;
  1033. };
  1034. };
  1035. nor_flash: spi@11234000 {
  1036. compatible = "mediatek,mt8192-nor";
  1037. reg = <0 0x11234000 0 0xe0>;
  1038. interrupts = <GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH 0>;
  1039. clocks = <&topckgen CLK_TOP_SFLASH_SEL>,
  1040. <&infracfg CLK_INFRA_FLASHIF_SFLASH>,
  1041. <&infracfg CLK_INFRA_FLASHIF_TOP_H_133M>;
  1042. clock-names = "spi", "sf", "axi";
  1043. assigned-clocks = <&topckgen CLK_TOP_SFLASH_SEL>;
  1044. assigned-clock-parents = <&clk26m>;
  1045. #address-cells = <1>;
  1046. #size-cells = <0>;
  1047. status = "disabled";
  1048. };
  1049. lvts_mcu: thermal-sensor@11278000 {
  1050. compatible = "mediatek,mt8192-lvts-mcu";
  1051. reg = <0 0x11278000 0 0x1000>;
  1052. interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH 0>;
  1053. clocks = <&infracfg CLK_INFRA_THERM>;
  1054. resets = <&infracfg MT8192_INFRA_RST4_THERM_CTRL_MCU_SWRST>;
  1055. nvmem-cells = <&lvts_e_data1>;
  1056. nvmem-cell-names = "lvts-calib-data-1";
  1057. #thermal-sensor-cells = <1>;
  1058. };
  1059. efuse: efuse@11c10000 {
  1060. compatible = "mediatek,mt8192-efuse", "mediatek,efuse";
  1061. reg = <0 0x11c10000 0 0x1000>;
  1062. #address-cells = <1>;
  1063. #size-cells = <1>;
  1064. socinfo-data1@44 {
  1065. reg = <0x044 0x4>;
  1066. };
  1067. socinfo-data2@50 {
  1068. reg = <0x050 0x4>;
  1069. };
  1070. lvts_e_data1: data1@1c0 {
  1071. reg = <0x1c0 0x58>;
  1072. };
  1073. svs_calibration: calib@580 {
  1074. reg = <0x580 0x68>;
  1075. };
  1076. };
  1077. i2c3: i2c@11cb0000 {
  1078. compatible = "mediatek,mt8192-i2c";
  1079. reg = <0 0x11cb0000 0 0x1000>,
  1080. <0 0x10217300 0 0x80>;
  1081. interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH 0>;
  1082. clocks = <&imp_iic_wrap_e CLK_IMP_IIC_WRAP_E_I2C3>,
  1083. <&infracfg CLK_INFRA_AP_DMA>;
  1084. clock-names = "main", "dma";
  1085. clock-div = <1>;
  1086. #address-cells = <1>;
  1087. #size-cells = <0>;
  1088. status = "disabled";
  1089. };
  1090. imp_iic_wrap_e: clock-controller@11cb1000 {
  1091. compatible = "mediatek,mt8192-imp_iic_wrap_e";
  1092. reg = <0 0x11cb1000 0 0x1000>;
  1093. #clock-cells = <1>;
  1094. };
  1095. i2c7: i2c@11d00000 {
  1096. compatible = "mediatek,mt8192-i2c";
  1097. reg = <0 0x11d00000 0 0x1000>,
  1098. <0 0x10217600 0 0x180>;
  1099. interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH 0>;
  1100. clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C7>,
  1101. <&infracfg CLK_INFRA_AP_DMA>;
  1102. clock-names = "main", "dma";
  1103. clock-div = <1>;
  1104. #address-cells = <1>;
  1105. #size-cells = <0>;
  1106. status = "disabled";
  1107. };
  1108. i2c8: i2c@11d01000 {
  1109. compatible = "mediatek,mt8192-i2c";
  1110. reg = <0 0x11d01000 0 0x1000>,
  1111. <0 0x10217780 0 0x180>;
  1112. interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH 0>;
  1113. clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C8>,
  1114. <&infracfg CLK_INFRA_AP_DMA>;
  1115. clock-names = "main", "dma";
  1116. clock-div = <1>;
  1117. #address-cells = <1>;
  1118. #size-cells = <0>;
  1119. status = "disabled";
  1120. };
  1121. i2c9: i2c@11d02000 {
  1122. compatible = "mediatek,mt8192-i2c";
  1123. reg = <0 0x11d02000 0 0x1000>,
  1124. <0 0x10217900 0 0x180>;
  1125. interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH 0>;
  1126. clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C9>,
  1127. <&infracfg CLK_INFRA_AP_DMA>;
  1128. clock-names = "main", "dma";
  1129. clock-div = <1>;
  1130. #address-cells = <1>;
  1131. #size-cells = <0>;
  1132. status = "disabled";
  1133. };
  1134. imp_iic_wrap_s: clock-controller@11d03000 {
  1135. compatible = "mediatek,mt8192-imp_iic_wrap_s";
  1136. reg = <0 0x11d03000 0 0x1000>;
  1137. #clock-cells = <1>;
  1138. };
  1139. i2c1: i2c@11d20000 {
  1140. compatible = "mediatek,mt8192-i2c";
  1141. reg = <0 0x11d20000 0 0x1000>,
  1142. <0 0x10217100 0 0x80>;
  1143. interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH 0>;
  1144. clocks = <&imp_iic_wrap_ws CLK_IMP_IIC_WRAP_WS_I2C1>,
  1145. <&infracfg CLK_INFRA_AP_DMA>;
  1146. clock-names = "main", "dma";
  1147. clock-div = <1>;
  1148. #address-cells = <1>;
  1149. #size-cells = <0>;
  1150. status = "disabled";
  1151. };
  1152. i2c2: i2c@11d21000 {
  1153. compatible = "mediatek,mt8192-i2c";
  1154. reg = <0 0x11d21000 0 0x1000>,
  1155. <0 0x10217180 0 0x180>;
  1156. interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH 0>;
  1157. clocks = <&imp_iic_wrap_ws CLK_IMP_IIC_WRAP_WS_I2C2>,
  1158. <&infracfg CLK_INFRA_AP_DMA>;
  1159. clock-names = "main", "dma";
  1160. clock-div = <1>;
  1161. #address-cells = <1>;
  1162. #size-cells = <0>;
  1163. status = "disabled";
  1164. };
  1165. i2c4: i2c@11d22000 {
  1166. compatible = "mediatek,mt8192-i2c";
  1167. reg = <0 0x11d22000 0 0x1000>,
  1168. <0 0x10217380 0 0x180>;
  1169. interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH 0>;
  1170. clocks = <&imp_iic_wrap_ws CLK_IMP_IIC_WRAP_WS_I2C4>,
  1171. <&infracfg CLK_INFRA_AP_DMA>;
  1172. clock-names = "main", "dma";
  1173. clock-div = <1>;
  1174. #address-cells = <1>;
  1175. #size-cells = <0>;
  1176. status = "disabled";
  1177. };
  1178. imp_iic_wrap_ws: clock-controller@11d23000 {
  1179. compatible = "mediatek,mt8192-imp_iic_wrap_ws";
  1180. reg = <0 0x11d23000 0 0x1000>;
  1181. #clock-cells = <1>;
  1182. };
  1183. i2c5: i2c@11e00000 {
  1184. compatible = "mediatek,mt8192-i2c";
  1185. reg = <0 0x11e00000 0 0x1000>,
  1186. <0 0x10217500 0 0x80>;
  1187. interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH 0>;
  1188. clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C5>,
  1189. <&infracfg CLK_INFRA_AP_DMA>;
  1190. clock-names = "main", "dma";
  1191. clock-div = <1>;
  1192. #address-cells = <1>;
  1193. #size-cells = <0>;
  1194. status = "disabled";
  1195. };
  1196. imp_iic_wrap_w: clock-controller@11e01000 {
  1197. compatible = "mediatek,mt8192-imp_iic_wrap_w";
  1198. reg = <0 0x11e01000 0 0x1000>;
  1199. #clock-cells = <1>;
  1200. };
  1201. u3phy0: t-phy@11e40000 {
  1202. compatible = "mediatek,mt8192-tphy",
  1203. "mediatek,generic-tphy-v2";
  1204. #address-cells = <1>;
  1205. #size-cells = <1>;
  1206. ranges = <0x0 0x0 0x11e40000 0x1000>;
  1207. u2port0: usb-phy@0 {
  1208. reg = <0x0 0x700>;
  1209. clocks = <&clk26m>;
  1210. clock-names = "ref";
  1211. #phy-cells = <1>;
  1212. };
  1213. u3port0: usb-phy@700 {
  1214. reg = <0x700 0x900>;
  1215. clocks = <&clk26m>;
  1216. clock-names = "ref";
  1217. #phy-cells = <1>;
  1218. };
  1219. };
  1220. mipi_tx0: dsi-phy@11e50000 {
  1221. compatible = "mediatek,mt8183-mipi-tx";
  1222. reg = <0 0x11e50000 0 0x1000>;
  1223. clocks = <&apmixedsys CLK_APMIXED_MIPID26M>;
  1224. #clock-cells = <0>;
  1225. #phy-cells = <0>;
  1226. clock-output-names = "mipi_tx0_pll";
  1227. status = "disabled";
  1228. };
  1229. i2c0: i2c@11f00000 {
  1230. compatible = "mediatek,mt8192-i2c";
  1231. reg = <0 0x11f00000 0 0x1000>,
  1232. <0 0x10217080 0 0x80>;
  1233. interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH 0>;
  1234. clocks = <&imp_iic_wrap_n CLK_IMP_IIC_WRAP_N_I2C0>,
  1235. <&infracfg CLK_INFRA_AP_DMA>;
  1236. clock-names = "main", "dma";
  1237. clock-div = <1>;
  1238. #address-cells = <1>;
  1239. #size-cells = <0>;
  1240. status = "disabled";
  1241. };
  1242. i2c6: i2c@11f01000 {
  1243. compatible = "mediatek,mt8192-i2c";
  1244. reg = <0 0x11f01000 0 0x1000>,
  1245. <0 0x10217580 0 0x80>;
  1246. interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH 0>;
  1247. clocks = <&imp_iic_wrap_n CLK_IMP_IIC_WRAP_N_I2C6>,
  1248. <&infracfg CLK_INFRA_AP_DMA>;
  1249. clock-names = "main", "dma";
  1250. clock-div = <1>;
  1251. #address-cells = <1>;
  1252. #size-cells = <0>;
  1253. status = "disabled";
  1254. };
  1255. imp_iic_wrap_n: clock-controller@11f02000 {
  1256. compatible = "mediatek,mt8192-imp_iic_wrap_n";
  1257. reg = <0 0x11f02000 0 0x1000>;
  1258. #clock-cells = <1>;
  1259. };
  1260. msdc_top: clock-controller@11f10000 {
  1261. compatible = "mediatek,mt8192-msdc_top";
  1262. reg = <0 0x11f10000 0 0x1000>;
  1263. #clock-cells = <1>;
  1264. };
  1265. mmc0: mmc@11f60000 {
  1266. compatible = "mediatek,mt8192-mmc", "mediatek,mt8183-mmc";
  1267. reg = <0 0x11f60000 0 0x1000>, <0 0x11f50000 0 0x1000>;
  1268. interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH 0>;
  1269. clocks = <&topckgen CLK_TOP_MSDC50_0_SEL>,
  1270. <&msdc_top CLK_MSDC_TOP_H_MST_0P>,
  1271. <&msdc_top CLK_MSDC_TOP_SRC_0P>,
  1272. <&msdc_top CLK_MSDC_TOP_P_CFG>,
  1273. <&msdc_top CLK_MSDC_TOP_P_MSDC0>,
  1274. <&msdc_top CLK_MSDC_TOP_AXI>,
  1275. <&msdc_top CLK_MSDC_TOP_AHB2AXI_BRG_AXI>;
  1276. clock-names = "source", "hclk", "source_cg", "sys_cg",
  1277. "pclk_cg", "axi_cg", "ahb_cg";
  1278. status = "disabled";
  1279. };
  1280. mmc1: mmc@11f70000 {
  1281. compatible = "mediatek,mt8192-mmc", "mediatek,mt8183-mmc";
  1282. reg = <0 0x11f70000 0 0x1000>, <0 0x11c70000 0 0x1000>;
  1283. interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>;
  1284. clocks = <&topckgen CLK_TOP_MSDC30_1_SEL>,
  1285. <&msdc_top CLK_MSDC_TOP_H_MST_1P>,
  1286. <&msdc_top CLK_MSDC_TOP_SRC_1P>,
  1287. <&msdc_top CLK_MSDC_TOP_P_CFG>,
  1288. <&msdc_top CLK_MSDC_TOP_P_MSDC1>,
  1289. <&msdc_top CLK_MSDC_TOP_AXI>,
  1290. <&msdc_top CLK_MSDC_TOP_AHB2AXI_BRG_AXI>;
  1291. clock-names = "source", "hclk", "source_cg", "sys_cg",
  1292. "pclk_cg", "axi_cg", "ahb_cg";
  1293. status = "disabled";
  1294. };
  1295. gpu: gpu@13000000 {
  1296. compatible = "mediatek,mt8192-mali", "arm,mali-valhall-jm";
  1297. reg = <0 0x13000000 0 0x4000>;
  1298. interrupts = <GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH 0>,
  1299. <GIC_SPI 364 IRQ_TYPE_LEVEL_HIGH 0>,
  1300. <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH 0>;
  1301. interrupt-names = "job", "mmu", "gpu";
  1302. clocks = <&apmixedsys CLK_APMIXED_MFGPLL>;
  1303. power-domains = <&spm MT8192_POWER_DOMAIN_MFG2>,
  1304. <&spm MT8192_POWER_DOMAIN_MFG3>,
  1305. <&spm MT8192_POWER_DOMAIN_MFG4>,
  1306. <&spm MT8192_POWER_DOMAIN_MFG5>,
  1307. <&spm MT8192_POWER_DOMAIN_MFG6>;
  1308. power-domain-names = "core0", "core1", "core2", "core3", "core4";
  1309. operating-points-v2 = <&gpu_opp_table>;
  1310. status = "disabled";
  1311. };
  1312. mfgcfg: clock-controller@13fbf000 {
  1313. compatible = "mediatek,mt8192-mfgcfg";
  1314. reg = <0 0x13fbf000 0 0x1000>;
  1315. #clock-cells = <1>;
  1316. };
  1317. mmsys: syscon@14000000 {
  1318. compatible = "mediatek,mt8192-mmsys", "syscon";
  1319. reg = <0 0x14000000 0 0x1000>;
  1320. #clock-cells = <1>;
  1321. #reset-cells = <1>;
  1322. mboxes = <&gce 0 CMDQ_THR_PRIO_HIGHEST>,
  1323. <&gce 1 CMDQ_THR_PRIO_HIGHEST>;
  1324. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0 0x1000>;
  1325. };
  1326. mutex: mutex@14001000 {
  1327. compatible = "mediatek,mt8192-disp-mutex";
  1328. reg = <0 0x14001000 0 0x1000>;
  1329. interrupts = <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH 0>;
  1330. clocks = <&mmsys CLK_MM_DISP_MUTEX0>;
  1331. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x1000 0x1000>;
  1332. mediatek,gce-events = <CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_0>,
  1333. <CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_1>;
  1334. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1335. };
  1336. smi_common: smi@14002000 {
  1337. compatible = "mediatek,mt8192-smi-common";
  1338. reg = <0 0x14002000 0 0x1000>;
  1339. clocks = <&mmsys CLK_MM_SMI_COMMON>,
  1340. <&mmsys CLK_MM_SMI_INFRA>,
  1341. <&mmsys CLK_MM_SMI_GALS>,
  1342. <&mmsys CLK_MM_SMI_GALS>;
  1343. clock-names = "apb", "smi", "gals0", "gals1";
  1344. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1345. };
  1346. larb0: larb@14003000 {
  1347. compatible = "mediatek,mt8192-smi-larb";
  1348. reg = <0 0x14003000 0 0x1000>;
  1349. mediatek,larb-id = <0>;
  1350. mediatek,smi = <&smi_common>;
  1351. clocks = <&clk26m>, <&clk26m>;
  1352. clock-names = "apb", "smi";
  1353. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1354. };
  1355. larb1: larb@14004000 {
  1356. compatible = "mediatek,mt8192-smi-larb";
  1357. reg = <0 0x14004000 0 0x1000>;
  1358. mediatek,larb-id = <1>;
  1359. mediatek,smi = <&smi_common>;
  1360. clocks = <&clk26m>, <&clk26m>;
  1361. clock-names = "apb", "smi";
  1362. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1363. };
  1364. ovl0: ovl@14005000 {
  1365. compatible = "mediatek,mt8192-disp-ovl";
  1366. reg = <0 0x14005000 0 0x1000>;
  1367. interrupts = <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH 0>;
  1368. clocks = <&mmsys CLK_MM_DISP_OVL0>;
  1369. iommus = <&iommu0 M4U_PORT_L0_OVL_RDMA0>,
  1370. <&iommu0 M4U_PORT_L0_OVL_RDMA0_HDR>;
  1371. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1372. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x5000 0x1000>;
  1373. };
  1374. ovl_2l0: ovl@14006000 {
  1375. compatible = "mediatek,mt8192-disp-ovl-2l";
  1376. reg = <0 0x14006000 0 0x1000>;
  1377. interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH 0>;
  1378. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1379. clocks = <&mmsys CLK_MM_DISP_OVL0_2L>;
  1380. iommus = <&iommu0 M4U_PORT_L1_OVL_2L_RDMA0>,
  1381. <&iommu0 M4U_PORT_L1_OVL_2L_RDMA0_HDR>;
  1382. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x6000 0x1000>;
  1383. };
  1384. rdma0: rdma@14007000 {
  1385. compatible = "mediatek,mt8192-disp-rdma",
  1386. "mediatek,mt8183-disp-rdma";
  1387. reg = <0 0x14007000 0 0x1000>;
  1388. interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH 0>;
  1389. clocks = <&mmsys CLK_MM_DISP_RDMA0>;
  1390. iommus = <&iommu0 M4U_PORT_L0_DISP_RDMA0>;
  1391. mediatek,rdma-fifo-size = <5120>;
  1392. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1393. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x7000 0x1000>;
  1394. };
  1395. color0: color@14009000 {
  1396. compatible = "mediatek,mt8192-disp-color",
  1397. "mediatek,mt8173-disp-color";
  1398. reg = <0 0x14009000 0 0x1000>;
  1399. interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH 0>;
  1400. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1401. clocks = <&mmsys CLK_MM_DISP_COLOR0>;
  1402. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x9000 0x1000>;
  1403. };
  1404. ccorr0: ccorr@1400a000 {
  1405. compatible = "mediatek,mt8192-disp-ccorr";
  1406. reg = <0 0x1400a000 0 0x1000>;
  1407. interrupts = <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH 0>;
  1408. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1409. clocks = <&mmsys CLK_MM_DISP_CCORR0>;
  1410. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xa000 0x1000>;
  1411. };
  1412. aal0: aal@1400b000 {
  1413. compatible = "mediatek,mt8192-disp-aal",
  1414. "mediatek,mt8183-disp-aal";
  1415. reg = <0 0x1400b000 0 0x1000>;
  1416. interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH 0>;
  1417. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1418. clocks = <&mmsys CLK_MM_DISP_AAL0>;
  1419. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xb000 0x1000>;
  1420. };
  1421. gamma0: gamma@1400c000 {
  1422. compatible = "mediatek,mt8192-disp-gamma",
  1423. "mediatek,mt8183-disp-gamma";
  1424. reg = <0 0x1400c000 0 0x1000>;
  1425. interrupts = <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH 0>;
  1426. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1427. clocks = <&mmsys CLK_MM_DISP_GAMMA0>;
  1428. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xc000 0x1000>;
  1429. };
  1430. postmask0: postmask@1400d000 {
  1431. compatible = "mediatek,mt8192-disp-postmask";
  1432. reg = <0 0x1400d000 0 0x1000>;
  1433. interrupts = <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH 0>;
  1434. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1435. clocks = <&mmsys CLK_MM_DISP_POSTMASK0>;
  1436. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xd000 0x1000>;
  1437. };
  1438. dither0: dither@1400e000 {
  1439. compatible = "mediatek,mt8192-disp-dither",
  1440. "mediatek,mt8183-disp-dither";
  1441. reg = <0 0x1400e000 0 0x1000>;
  1442. interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH 0>;
  1443. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1444. clocks = <&mmsys CLK_MM_DISP_DITHER0>;
  1445. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xe000 0x1000>;
  1446. };
  1447. dsi0: dsi@14010000 {
  1448. compatible = "mediatek,mt8183-dsi";
  1449. reg = <0 0x14010000 0 0x1000>;
  1450. interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH 0>;
  1451. clocks = <&mmsys CLK_MM_DSI0>,
  1452. <&mmsys CLK_MM_DSI_DSI0>,
  1453. <&mipi_tx0>;
  1454. clock-names = "engine", "digital", "hs";
  1455. phys = <&mipi_tx0>;
  1456. phy-names = "dphy";
  1457. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1458. resets = <&mmsys MT8192_MMSYS_SW0_RST_B_DISP_DSI0>;
  1459. status = "disabled";
  1460. port {
  1461. dsi_out: endpoint { };
  1462. };
  1463. };
  1464. ovl_2l2: ovl@14014000 {
  1465. compatible = "mediatek,mt8192-disp-ovl-2l";
  1466. reg = <0 0x14014000 0 0x1000>;
  1467. interrupts = <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH 0>;
  1468. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1469. clocks = <&mmsys CLK_MM_DISP_OVL2_2L>;
  1470. iommus = <&iommu0 M4U_PORT_L1_OVL_2L_RDMA2>,
  1471. <&iommu0 M4U_PORT_L1_OVL_2L_RDMA2_HDR>;
  1472. mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x4000 0x1000>;
  1473. };
  1474. rdma4: rdma@14015000 {
  1475. compatible = "mediatek,mt8192-disp-rdma",
  1476. "mediatek,mt8183-disp-rdma";
  1477. reg = <0 0x14015000 0 0x1000>;
  1478. interrupts = <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH 0>;
  1479. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1480. clocks = <&mmsys CLK_MM_DISP_RDMA4>;
  1481. iommus = <&iommu0 M4U_PORT_L1_DISP_RDMA4>;
  1482. mediatek,rdma-fifo-size = <2048>;
  1483. mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x5000 0x1000>;
  1484. };
  1485. dpi0: dpi@14016000 {
  1486. compatible = "mediatek,mt8192-dpi";
  1487. reg = <0 0x14016000 0 0x1000>;
  1488. interrupts = <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH 0>;
  1489. clocks = <&mmsys CLK_MM_DPI_DPI0>,
  1490. <&mmsys CLK_MM_DISP_DPI0>,
  1491. <&apmixedsys CLK_APMIXED_TVDPLL>;
  1492. clock-names = "pixel", "engine", "pll";
  1493. status = "disabled";
  1494. };
  1495. iommu0: m4u@1401d000 {
  1496. compatible = "mediatek,mt8192-m4u";
  1497. reg = <0 0x1401d000 0 0x1000>;
  1498. mediatek,larbs = <&larb0>, <&larb1>, <&larb2>,
  1499. <&larb4>, <&larb5>, <&larb7>,
  1500. <&larb9>, <&larb11>, <&larb13>,
  1501. <&larb14>, <&larb16>, <&larb17>,
  1502. <&larb18>, <&larb19>, <&larb20>;
  1503. interrupts = <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH 0>;
  1504. clocks = <&mmsys CLK_MM_SMI_IOMMU>;
  1505. clock-names = "bclk";
  1506. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1507. #iommu-cells = <1>;
  1508. };
  1509. imgsys: clock-controller@15020000 {
  1510. compatible = "mediatek,mt8192-imgsys";
  1511. reg = <0 0x15020000 0 0x1000>;
  1512. #clock-cells = <1>;
  1513. };
  1514. larb9: larb@1502e000 {
  1515. compatible = "mediatek,mt8192-smi-larb";
  1516. reg = <0 0x1502e000 0 0x1000>;
  1517. mediatek,larb-id = <9>;
  1518. mediatek,smi = <&smi_common>;
  1519. clocks = <&imgsys CLK_IMG_LARB9>,
  1520. <&imgsys CLK_IMG_LARB9>;
  1521. clock-names = "apb", "smi";
  1522. power-domains = <&spm MT8192_POWER_DOMAIN_ISP>;
  1523. };
  1524. imgsys2: clock-controller@15820000 {
  1525. compatible = "mediatek,mt8192-imgsys2";
  1526. reg = <0 0x15820000 0 0x1000>;
  1527. #clock-cells = <1>;
  1528. };
  1529. larb11: larb@1582e000 {
  1530. compatible = "mediatek,mt8192-smi-larb";
  1531. reg = <0 0x1582e000 0 0x1000>;
  1532. mediatek,larb-id = <11>;
  1533. mediatek,smi = <&smi_common>;
  1534. clocks = <&imgsys2 CLK_IMG2_LARB11>,
  1535. <&imgsys2 CLK_IMG2_LARB11>;
  1536. clock-names = "apb", "smi";
  1537. power-domains = <&spm MT8192_POWER_DOMAIN_ISP2>;
  1538. };
  1539. vcodec_dec: video-codec@16000000 {
  1540. compatible = "mediatek,mt8192-vcodec-dec";
  1541. reg = <0 0x16000000 0 0x1000>;
  1542. mediatek,scp = <&scp>;
  1543. iommus = <&iommu0 M4U_PORT_L4_VDEC_MC_EXT>;
  1544. #address-cells = <2>;
  1545. #size-cells = <2>;
  1546. ranges = <0 0 0 0x16000000 0 0x26000>;
  1547. video-codec@10000 {
  1548. compatible = "mediatek,mtk-vcodec-lat";
  1549. reg = <0x0 0x10000 0 0x800>;
  1550. interrupts = <GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH 0>;
  1551. iommus = <&iommu0 M4U_PORT_L5_VDEC_LAT0_VLD_EXT>,
  1552. <&iommu0 M4U_PORT_L5_VDEC_LAT0_VLD2_EXT>,
  1553. <&iommu0 M4U_PORT_L5_VDEC_LAT0_AVC_MV_EXT>,
  1554. <&iommu0 M4U_PORT_L5_VDEC_LAT0_PRED_RD_EXT>,
  1555. <&iommu0 M4U_PORT_L5_VDEC_LAT0_TILE_EXT>,
  1556. <&iommu0 M4U_PORT_L5_VDEC_LAT0_WDMA_EXT>,
  1557. <&iommu0 M4U_PORT_L5_VDEC_LAT0_RG_CTRL_DMA_EXT>,
  1558. <&iommu0 M4U_PORT_L5_VDEC_UFO_ENC_EXT>;
  1559. clocks = <&topckgen CLK_TOP_VDEC_SEL>,
  1560. <&vdecsys_soc CLK_VDEC_SOC_VDEC>,
  1561. <&vdecsys_soc CLK_VDEC_SOC_LAT>,
  1562. <&vdecsys_soc CLK_VDEC_SOC_LARB1>,
  1563. <&topckgen CLK_TOP_MAINPLL_D4>;
  1564. clock-names = "sel", "soc-vdec", "soc-lat", "vdec", "top";
  1565. assigned-clocks = <&topckgen CLK_TOP_VDEC_SEL>;
  1566. assigned-clock-parents = <&topckgen CLK_TOP_MAINPLL_D4>;
  1567. power-domains = <&spm MT8192_POWER_DOMAIN_VDEC>;
  1568. };
  1569. video-codec@25000 {
  1570. compatible = "mediatek,mtk-vcodec-core";
  1571. reg = <0 0x25000 0 0x1000>;
  1572. interrupts = <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH 0>;
  1573. iommus = <&iommu0 M4U_PORT_L4_VDEC_MC_EXT>,
  1574. <&iommu0 M4U_PORT_L4_VDEC_UFO_EXT>,
  1575. <&iommu0 M4U_PORT_L4_VDEC_PP_EXT>,
  1576. <&iommu0 M4U_PORT_L4_VDEC_PRED_RD_EXT>,
  1577. <&iommu0 M4U_PORT_L4_VDEC_PRED_WR_EXT>,
  1578. <&iommu0 M4U_PORT_L4_VDEC_PPWRAP_EXT>,
  1579. <&iommu0 M4U_PORT_L4_VDEC_TILE_EXT>,
  1580. <&iommu0 M4U_PORT_L4_VDEC_VLD_EXT>,
  1581. <&iommu0 M4U_PORT_L4_VDEC_VLD2_EXT>,
  1582. <&iommu0 M4U_PORT_L4_VDEC_AVC_MV_EXT>,
  1583. <&iommu0 M4U_PORT_L4_VDEC_RG_CTRL_DMA_EXT>;
  1584. clocks = <&topckgen CLK_TOP_VDEC_SEL>,
  1585. <&vdecsys CLK_VDEC_VDEC>,
  1586. <&vdecsys CLK_VDEC_LAT>,
  1587. <&vdecsys CLK_VDEC_LARB1>,
  1588. <&topckgen CLK_TOP_MAINPLL_D4>;
  1589. clock-names = "sel", "soc-vdec", "soc-lat", "vdec", "top";
  1590. assigned-clocks = <&topckgen CLK_TOP_VDEC_SEL>;
  1591. assigned-clock-parents = <&topckgen CLK_TOP_MAINPLL_D4>;
  1592. power-domains = <&spm MT8192_POWER_DOMAIN_VDEC2>;
  1593. };
  1594. };
  1595. larb5: larb@1600d000 {
  1596. compatible = "mediatek,mt8192-smi-larb";
  1597. reg = <0 0x1600d000 0 0x1000>;
  1598. mediatek,larb-id = <5>;
  1599. mediatek,smi = <&smi_common>;
  1600. clocks = <&vdecsys_soc CLK_VDEC_SOC_LARB1>,
  1601. <&vdecsys_soc CLK_VDEC_SOC_LARB1>;
  1602. clock-names = "apb", "smi";
  1603. power-domains = <&spm MT8192_POWER_DOMAIN_VDEC>;
  1604. };
  1605. vdecsys_soc: clock-controller@1600f000 {
  1606. compatible = "mediatek,mt8192-vdecsys_soc";
  1607. reg = <0 0x1600f000 0 0x1000>;
  1608. #clock-cells = <1>;
  1609. };
  1610. larb4: larb@1602e000 {
  1611. compatible = "mediatek,mt8192-smi-larb";
  1612. reg = <0 0x1602e000 0 0x1000>;
  1613. mediatek,larb-id = <4>;
  1614. mediatek,smi = <&smi_common>;
  1615. clocks = <&vdecsys CLK_VDEC_SOC_LARB1>,
  1616. <&vdecsys CLK_VDEC_SOC_LARB1>;
  1617. clock-names = "apb", "smi";
  1618. power-domains = <&spm MT8192_POWER_DOMAIN_VDEC2>;
  1619. };
  1620. vdecsys: clock-controller@1602f000 {
  1621. compatible = "mediatek,mt8192-vdecsys";
  1622. reg = <0 0x1602f000 0 0x1000>;
  1623. #clock-cells = <1>;
  1624. };
  1625. vencsys: clock-controller@17000000 {
  1626. compatible = "mediatek,mt8192-vencsys";
  1627. reg = <0 0x17000000 0 0x1000>;
  1628. #clock-cells = <1>;
  1629. };
  1630. larb7: larb@17010000 {
  1631. compatible = "mediatek,mt8192-smi-larb";
  1632. reg = <0 0x17010000 0 0x1000>;
  1633. mediatek,larb-id = <7>;
  1634. mediatek,smi = <&smi_common>;
  1635. clocks = <&vencsys CLK_VENC_SET0_LARB>,
  1636. <&vencsys CLK_VENC_SET1_VENC>;
  1637. clock-names = "apb", "smi";
  1638. power-domains = <&spm MT8192_POWER_DOMAIN_VENC>;
  1639. };
  1640. vcodec_enc: vcodec@17020000 {
  1641. compatible = "mediatek,mt8192-vcodec-enc";
  1642. reg = <0 0x17020000 0 0x2000>;
  1643. iommus = <&iommu0 M4U_PORT_L7_VENC_RCPU>,
  1644. <&iommu0 M4U_PORT_L7_VENC_REC>,
  1645. <&iommu0 M4U_PORT_L7_VENC_BSDMA>,
  1646. <&iommu0 M4U_PORT_L7_VENC_SV_COMV>,
  1647. <&iommu0 M4U_PORT_L7_VENC_RD_COMV>,
  1648. <&iommu0 M4U_PORT_L7_VENC_CUR_LUMA>,
  1649. <&iommu0 M4U_PORT_L7_VENC_CUR_CHROMA>,
  1650. <&iommu0 M4U_PORT_L7_VENC_REF_LUMA>,
  1651. <&iommu0 M4U_PORT_L7_VENC_REF_CHROMA>,
  1652. <&iommu0 M4U_PORT_L7_VENC_SUB_R_LUMA>,
  1653. <&iommu0 M4U_PORT_L7_VENC_SUB_W_LUMA>;
  1654. interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH 0>;
  1655. mediatek,scp = <&scp>;
  1656. power-domains = <&spm MT8192_POWER_DOMAIN_VENC>;
  1657. clocks = <&vencsys CLK_VENC_SET1_VENC>;
  1658. clock-names = "venc_sel";
  1659. assigned-clocks = <&topckgen CLK_TOP_VENC_SEL>;
  1660. assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D4>;
  1661. };
  1662. camsys: clock-controller@1a000000 {
  1663. compatible = "mediatek,mt8192-camsys";
  1664. reg = <0 0x1a000000 0 0x1000>;
  1665. #clock-cells = <1>;
  1666. };
  1667. larb13: larb@1a001000 {
  1668. compatible = "mediatek,mt8192-smi-larb";
  1669. reg = <0 0x1a001000 0 0x1000>;
  1670. mediatek,larb-id = <13>;
  1671. mediatek,smi = <&smi_common>;
  1672. clocks = <&camsys CLK_CAM_CAM>,
  1673. <&camsys CLK_CAM_LARB13>;
  1674. clock-names = "apb", "smi";
  1675. power-domains = <&spm MT8192_POWER_DOMAIN_CAM>;
  1676. };
  1677. larb14: larb@1a002000 {
  1678. compatible = "mediatek,mt8192-smi-larb";
  1679. reg = <0 0x1a002000 0 0x1000>;
  1680. mediatek,larb-id = <14>;
  1681. mediatek,smi = <&smi_common>;
  1682. clocks = <&camsys CLK_CAM_CAM>,
  1683. <&camsys CLK_CAM_LARB14>;
  1684. clock-names = "apb", "smi";
  1685. power-domains = <&spm MT8192_POWER_DOMAIN_CAM>;
  1686. };
  1687. larb16: larb@1a00f000 {
  1688. compatible = "mediatek,mt8192-smi-larb";
  1689. reg = <0 0x1a00f000 0 0x1000>;
  1690. mediatek,larb-id = <16>;
  1691. mediatek,smi = <&smi_common>;
  1692. clocks = <&camsys_rawa CLK_CAM_RAWA_CAM>,
  1693. <&camsys_rawa CLK_CAM_RAWA_LARBX>;
  1694. clock-names = "apb", "smi";
  1695. power-domains = <&spm MT8192_POWER_DOMAIN_CAM_RAWA>;
  1696. };
  1697. larb17: larb@1a010000 {
  1698. compatible = "mediatek,mt8192-smi-larb";
  1699. reg = <0 0x1a010000 0 0x1000>;
  1700. mediatek,larb-id = <17>;
  1701. mediatek,smi = <&smi_common>;
  1702. clocks = <&camsys_rawb CLK_CAM_RAWB_CAM>,
  1703. <&camsys_rawb CLK_CAM_RAWB_LARBX>;
  1704. clock-names = "apb", "smi";
  1705. power-domains = <&spm MT8192_POWER_DOMAIN_CAM_RAWB>;
  1706. };
  1707. larb18: larb@1a011000 {
  1708. compatible = "mediatek,mt8192-smi-larb";
  1709. reg = <0 0x1a011000 0 0x1000>;
  1710. mediatek,larb-id = <18>;
  1711. mediatek,smi = <&smi_common>;
  1712. clocks = <&camsys_rawc CLK_CAM_RAWC_LARBX>,
  1713. <&camsys_rawc CLK_CAM_RAWC_CAM>;
  1714. clock-names = "apb", "smi";
  1715. power-domains = <&spm MT8192_POWER_DOMAIN_CAM_RAWC>;
  1716. };
  1717. camsys_rawa: clock-controller@1a04f000 {
  1718. compatible = "mediatek,mt8192-camsys_rawa";
  1719. reg = <0 0x1a04f000 0 0x1000>;
  1720. #clock-cells = <1>;
  1721. };
  1722. camsys_rawb: clock-controller@1a06f000 {
  1723. compatible = "mediatek,mt8192-camsys_rawb";
  1724. reg = <0 0x1a06f000 0 0x1000>;
  1725. #clock-cells = <1>;
  1726. };
  1727. camsys_rawc: clock-controller@1a08f000 {
  1728. compatible = "mediatek,mt8192-camsys_rawc";
  1729. reg = <0 0x1a08f000 0 0x1000>;
  1730. #clock-cells = <1>;
  1731. };
  1732. ipesys: clock-controller@1b000000 {
  1733. compatible = "mediatek,mt8192-ipesys";
  1734. reg = <0 0x1b000000 0 0x1000>;
  1735. #clock-cells = <1>;
  1736. };
  1737. larb20: larb@1b00f000 {
  1738. compatible = "mediatek,mt8192-smi-larb";
  1739. reg = <0 0x1b00f000 0 0x1000>;
  1740. mediatek,larb-id = <20>;
  1741. mediatek,smi = <&smi_common>;
  1742. clocks = <&ipesys CLK_IPE_SMI_SUBCOM>,
  1743. <&ipesys CLK_IPE_LARB20>;
  1744. clock-names = "apb", "smi";
  1745. power-domains = <&spm MT8192_POWER_DOMAIN_IPE>;
  1746. };
  1747. larb19: larb@1b10f000 {
  1748. compatible = "mediatek,mt8192-smi-larb";
  1749. reg = <0 0x1b10f000 0 0x1000>;
  1750. mediatek,larb-id = <19>;
  1751. mediatek,smi = <&smi_common>;
  1752. clocks = <&ipesys CLK_IPE_SMI_SUBCOM>,
  1753. <&ipesys CLK_IPE_LARB19>;
  1754. clock-names = "apb", "smi";
  1755. power-domains = <&spm MT8192_POWER_DOMAIN_IPE>;
  1756. };
  1757. mdpsys: clock-controller@1f000000 {
  1758. compatible = "mediatek,mt8192-mdpsys";
  1759. reg = <0 0x1f000000 0 0x1000>;
  1760. #clock-cells = <1>;
  1761. };
  1762. larb2: larb@1f002000 {
  1763. compatible = "mediatek,mt8192-smi-larb";
  1764. reg = <0 0x1f002000 0 0x1000>;
  1765. mediatek,larb-id = <2>;
  1766. mediatek,smi = <&smi_common>;
  1767. clocks = <&mdpsys CLK_MDP_SMI0>,
  1768. <&mdpsys CLK_MDP_SMI0>;
  1769. clock-names = "apb", "smi";
  1770. power-domains = <&spm MT8192_POWER_DOMAIN_MDP>;
  1771. };
  1772. };
  1773. thermal_zones: thermal-zones {
  1774. cpu0-thermal {
  1775. polling-delay = <1000>;
  1776. polling-delay-passive = <250>;
  1777. thermal-sensors = <&lvts_mcu MT8192_MCU_LITTLE_CPU0>;
  1778. trips {
  1779. cpu0_alert: trip-alert {
  1780. temperature = <85000>;
  1781. hysteresis = <2000>;
  1782. type = "passive";
  1783. };
  1784. cpu0_crit: trip-crit {
  1785. temperature = <100000>;
  1786. hysteresis = <2000>;
  1787. type = "critical";
  1788. };
  1789. };
  1790. cooling-maps {
  1791. map0 {
  1792. trip = <&cpu0_alert>;
  1793. cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1794. <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1795. <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1796. <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
  1797. };
  1798. };
  1799. };
  1800. cpu1-thermal {
  1801. polling-delay = <1000>;
  1802. polling-delay-passive = <250>;
  1803. thermal-sensors = <&lvts_mcu MT8192_MCU_LITTLE_CPU1>;
  1804. trips {
  1805. cpu1_alert: trip-alert {
  1806. temperature = <85000>;
  1807. hysteresis = <2000>;
  1808. type = "passive";
  1809. };
  1810. cpu1_crit: trip-crit {
  1811. temperature = <100000>;
  1812. hysteresis = <2000>;
  1813. type = "critical";
  1814. };
  1815. };
  1816. cooling-maps {
  1817. map0 {
  1818. trip = <&cpu1_alert>;
  1819. cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1820. <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1821. <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1822. <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
  1823. };
  1824. };
  1825. };
  1826. cpu2-thermal {
  1827. polling-delay = <1000>;
  1828. polling-delay-passive = <250>;
  1829. thermal-sensors = <&lvts_mcu MT8192_MCU_LITTLE_CPU2>;
  1830. trips {
  1831. cpu2_alert: trip-alert {
  1832. temperature = <85000>;
  1833. hysteresis = <2000>;
  1834. type = "passive";
  1835. };
  1836. cpu2_crit: trip-crit {
  1837. temperature = <100000>;
  1838. hysteresis = <2000>;
  1839. type = "critical";
  1840. };
  1841. };
  1842. cooling-maps {
  1843. map0 {
  1844. trip = <&cpu2_alert>;
  1845. cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1846. <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1847. <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1848. <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
  1849. };
  1850. };
  1851. };
  1852. cpu3-thermal {
  1853. polling-delay = <1000>;
  1854. polling-delay-passive = <250>;
  1855. thermal-sensors = <&lvts_mcu MT8192_MCU_LITTLE_CPU3>;
  1856. trips {
  1857. cpu3_alert: trip-alert {
  1858. temperature = <85000>;
  1859. hysteresis = <2000>;
  1860. type = "passive";
  1861. };
  1862. cpu3_crit: trip-crit {
  1863. temperature = <100000>;
  1864. hysteresis = <2000>;
  1865. type = "critical";
  1866. };
  1867. };
  1868. cooling-maps {
  1869. map0 {
  1870. trip = <&cpu3_alert>;
  1871. cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1872. <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1873. <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1874. <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
  1875. };
  1876. };
  1877. };
  1878. cpu4-thermal {
  1879. polling-delay = <1000>;
  1880. polling-delay-passive = <250>;
  1881. thermal-sensors = <&lvts_mcu MT8192_MCU_BIG_CPU0>;
  1882. trips {
  1883. cpu4_alert: trip-alert {
  1884. temperature = <85000>;
  1885. hysteresis = <2000>;
  1886. type = "passive";
  1887. };
  1888. cpu4_crit: trip-crit {
  1889. temperature = <100000>;
  1890. hysteresis = <2000>;
  1891. type = "critical";
  1892. };
  1893. };
  1894. cooling-maps {
  1895. map0 {
  1896. trip = <&cpu4_alert>;
  1897. cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1898. <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1899. <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1900. <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
  1901. };
  1902. };
  1903. };
  1904. cpu5-thermal {
  1905. polling-delay = <1000>;
  1906. polling-delay-passive = <250>;
  1907. thermal-sensors = <&lvts_mcu MT8192_MCU_BIG_CPU1>;
  1908. trips {
  1909. cpu5_alert: trip-alert {
  1910. temperature = <85000>;
  1911. hysteresis = <2000>;
  1912. type = "passive";
  1913. };
  1914. cpu5_crit: trip-crit {
  1915. temperature = <100000>;
  1916. hysteresis = <2000>;
  1917. type = "critical";
  1918. };
  1919. };
  1920. cooling-maps {
  1921. map0 {
  1922. trip = <&cpu5_alert>;
  1923. cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1924. <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1925. <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1926. <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
  1927. };
  1928. };
  1929. };
  1930. cpu6-thermal {
  1931. polling-delay = <1000>;
  1932. polling-delay-passive = <250>;
  1933. thermal-sensors = <&lvts_mcu MT8192_MCU_BIG_CPU2>;
  1934. trips {
  1935. cpu6_alert: trip-alert {
  1936. temperature = <85000>;
  1937. hysteresis = <2000>;
  1938. type = "passive";
  1939. };
  1940. cpu6_crit: trip-crit {
  1941. temperature = <100000>;
  1942. hysteresis = <2000>;
  1943. type = "critical";
  1944. };
  1945. };
  1946. cooling-maps {
  1947. map0 {
  1948. trip = <&cpu6_alert>;
  1949. cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1950. <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1951. <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1952. <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
  1953. };
  1954. };
  1955. };
  1956. cpu7-thermal {
  1957. polling-delay = <1000>;
  1958. polling-delay-passive = <250>;
  1959. thermal-sensors = <&lvts_mcu MT8192_MCU_BIG_CPU3>;
  1960. trips {
  1961. cpu7_alert: trip-alert {
  1962. temperature = <85000>;
  1963. hysteresis = <2000>;
  1964. type = "passive";
  1965. };
  1966. cpu7_crit: trip-crit {
  1967. temperature = <100000>;
  1968. hysteresis = <2000>;
  1969. type = "critical";
  1970. };
  1971. };
  1972. cooling-maps {
  1973. map0 {
  1974. trip = <&cpu7_alert>;
  1975. cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1976. <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1977. <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
  1978. <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
  1979. };
  1980. };
  1981. };
  1982. vpu0-thermal {
  1983. polling-delay = <1000>;
  1984. polling-delay-passive = <250>;
  1985. thermal-sensors = <&lvts_ap MT8192_AP_VPU0>;
  1986. trips {
  1987. vpu0_alert: trip-alert {
  1988. temperature = <85000>;
  1989. hysteresis = <2000>;
  1990. type = "passive";
  1991. };
  1992. vpu0_crit: trip-crit {
  1993. temperature = <100000>;
  1994. hysteresis = <2000>;
  1995. type = "critical";
  1996. };
  1997. };
  1998. };
  1999. vpu1-thermal {
  2000. polling-delay = <1000>;
  2001. polling-delay-passive = <250>;
  2002. thermal-sensors = <&lvts_ap MT8192_AP_VPU1>;
  2003. trips {
  2004. vpu1_alert: trip-alert {
  2005. temperature = <85000>;
  2006. hysteresis = <2000>;
  2007. type = "passive";
  2008. };
  2009. vpu1_crit: trip-crit {
  2010. temperature = <100000>;
  2011. hysteresis = <2000>;
  2012. type = "critical";
  2013. };
  2014. };
  2015. };
  2016. gpu-thermal {
  2017. polling-delay = <1000>;
  2018. polling-delay-passive = <250>;
  2019. thermal-sensors = <&lvts_ap MT8192_AP_GPU0>;
  2020. trips {
  2021. gpu0_alert: trip-alert {
  2022. temperature = <85000>;
  2023. hysteresis = <2000>;
  2024. type = "passive";
  2025. };
  2026. gpu0_crit: trip-crit {
  2027. temperature = <100000>;
  2028. hysteresis = <2000>;
  2029. type = "critical";
  2030. };
  2031. };
  2032. };
  2033. gpu1-thermal {
  2034. polling-delay = <1000>;
  2035. polling-delay-passive = <250>;
  2036. thermal-sensors = <&lvts_ap MT8192_AP_GPU1>;
  2037. trips {
  2038. gpu1_alert: trip-alert {
  2039. temperature = <85000>;
  2040. hysteresis = <2000>;
  2041. type = "passive";
  2042. };
  2043. gpu1_crit: trip-crit {
  2044. temperature = <100000>;
  2045. hysteresis = <2000>;
  2046. type = "critical";
  2047. };
  2048. };
  2049. };
  2050. infra-thermal {
  2051. polling-delay = <1000>;
  2052. polling-delay-passive = <250>;
  2053. thermal-sensors = <&lvts_ap MT8192_AP_INFRA>;
  2054. trips {
  2055. infra_alert: trip-alert {
  2056. temperature = <85000>;
  2057. hysteresis = <2000>;
  2058. type = "passive";
  2059. };
  2060. infra_crit: trip-crit {
  2061. temperature = <100000>;
  2062. hysteresis = <2000>;
  2063. type = "critical";
  2064. };
  2065. };
  2066. };
  2067. cam-thermal {
  2068. polling-delay = <1000>;
  2069. polling-delay-passive = <250>;
  2070. thermal-sensors = <&lvts_ap MT8192_AP_CAM>;
  2071. trips {
  2072. cam_alert: trip-alert {
  2073. temperature = <85000>;
  2074. hysteresis = <2000>;
  2075. type = "passive";
  2076. };
  2077. cam_crit: trip-crit {
  2078. temperature = <100000>;
  2079. hysteresis = <2000>;
  2080. type = "critical";
  2081. };
  2082. };
  2083. };
  2084. md0-thermal {
  2085. polling-delay = <1000>;
  2086. polling-delay-passive = <250>;
  2087. thermal-sensors = <&lvts_ap MT8192_AP_MD0>;
  2088. trips {
  2089. md0_alert: trip-alert {
  2090. temperature = <85000>;
  2091. hysteresis = <2000>;
  2092. type = "passive";
  2093. };
  2094. md0_crit: trip-crit {
  2095. temperature = <100000>;
  2096. hysteresis = <2000>;
  2097. type = "critical";
  2098. };
  2099. };
  2100. };
  2101. md1-thermal {
  2102. polling-delay = <1000>;
  2103. polling-delay-passive = <250>;
  2104. thermal-sensors = <&lvts_ap MT8192_AP_MD1>;
  2105. trips {
  2106. md1_alert: trip-alert {
  2107. temperature = <85000>;
  2108. hysteresis = <2000>;
  2109. type = "passive";
  2110. };
  2111. md1_crit: trip-crit {
  2112. temperature = <100000>;
  2113. hysteresis = <2000>;
  2114. type = "critical";
  2115. };
  2116. };
  2117. };
  2118. md2-thermal {
  2119. polling-delay = <1000>;
  2120. polling-delay-passive = <250>;
  2121. thermal-sensors = <&lvts_ap MT8192_AP_MD2>;
  2122. trips {
  2123. md2_alert: trip-alert {
  2124. temperature = <85000>;
  2125. hysteresis = <2000>;
  2126. type = "passive";
  2127. };
  2128. md2_crit: trip-crit {
  2129. temperature = <100000>;
  2130. hysteresis = <2000>;
  2131. type = "critical";
  2132. };
  2133. };
  2134. };
  2135. };
  2136. };