mt8195.dtsi 63 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171
  1. // SPDX-License-Identifier: (GPL-2.0 OR MIT)
  2. /*
  3. * Copyright (c) 2021 MediaTek Inc.
  4. * Author: Seiya Wang <[email protected]>
  5. */
  6. /dts-v1/;
  7. #include <dt-bindings/clock/mt8195-clk.h>
  8. #include <dt-bindings/gce/mt8195-gce.h>
  9. #include <dt-bindings/interrupt-controller/arm-gic.h>
  10. #include <dt-bindings/interrupt-controller/irq.h>
  11. #include <dt-bindings/memory/mt8195-memory-port.h>
  12. #include <dt-bindings/phy/phy.h>
  13. #include <dt-bindings/pinctrl/mt8195-pinfunc.h>
  14. #include <dt-bindings/power/mt8195-power.h>
  15. / {
  16. compatible = "mediatek,mt8195";
  17. interrupt-parent = <&gic>;
  18. #address-cells = <2>;
  19. #size-cells = <2>;
  20. aliases {
  21. gce0 = &gce0;
  22. gce1 = &gce1;
  23. };
  24. cpus {
  25. #address-cells = <1>;
  26. #size-cells = <0>;
  27. cpu0: cpu@0 {
  28. device_type = "cpu";
  29. compatible = "arm,cortex-a55";
  30. reg = <0x000>;
  31. enable-method = "psci";
  32. performance-domains = <&performance 0>;
  33. clock-frequency = <1701000000>;
  34. capacity-dmips-mhz = <308>;
  35. cpu-idle-states = <&cpu_off_l &cluster_off_l>;
  36. next-level-cache = <&l2_0>;
  37. #cooling-cells = <2>;
  38. };
  39. cpu1: cpu@100 {
  40. device_type = "cpu";
  41. compatible = "arm,cortex-a55";
  42. reg = <0x100>;
  43. enable-method = "psci";
  44. performance-domains = <&performance 0>;
  45. clock-frequency = <1701000000>;
  46. capacity-dmips-mhz = <308>;
  47. cpu-idle-states = <&cpu_off_l &cluster_off_l>;
  48. next-level-cache = <&l2_0>;
  49. #cooling-cells = <2>;
  50. };
  51. cpu2: cpu@200 {
  52. device_type = "cpu";
  53. compatible = "arm,cortex-a55";
  54. reg = <0x200>;
  55. enable-method = "psci";
  56. performance-domains = <&performance 0>;
  57. clock-frequency = <1701000000>;
  58. capacity-dmips-mhz = <308>;
  59. cpu-idle-states = <&cpu_off_l &cluster_off_l>;
  60. next-level-cache = <&l2_0>;
  61. #cooling-cells = <2>;
  62. };
  63. cpu3: cpu@300 {
  64. device_type = "cpu";
  65. compatible = "arm,cortex-a55";
  66. reg = <0x300>;
  67. enable-method = "psci";
  68. performance-domains = <&performance 0>;
  69. clock-frequency = <1701000000>;
  70. capacity-dmips-mhz = <308>;
  71. cpu-idle-states = <&cpu_off_l &cluster_off_l>;
  72. next-level-cache = <&l2_0>;
  73. #cooling-cells = <2>;
  74. };
  75. cpu4: cpu@400 {
  76. device_type = "cpu";
  77. compatible = "arm,cortex-a78";
  78. reg = <0x400>;
  79. enable-method = "psci";
  80. performance-domains = <&performance 1>;
  81. clock-frequency = <2171000000>;
  82. capacity-dmips-mhz = <1024>;
  83. cpu-idle-states = <&cpu_off_b &cluster_off_b>;
  84. next-level-cache = <&l2_1>;
  85. #cooling-cells = <2>;
  86. };
  87. cpu5: cpu@500 {
  88. device_type = "cpu";
  89. compatible = "arm,cortex-a78";
  90. reg = <0x500>;
  91. enable-method = "psci";
  92. performance-domains = <&performance 1>;
  93. clock-frequency = <2171000000>;
  94. capacity-dmips-mhz = <1024>;
  95. cpu-idle-states = <&cpu_off_b &cluster_off_b>;
  96. next-level-cache = <&l2_1>;
  97. #cooling-cells = <2>;
  98. };
  99. cpu6: cpu@600 {
  100. device_type = "cpu";
  101. compatible = "arm,cortex-a78";
  102. reg = <0x600>;
  103. enable-method = "psci";
  104. performance-domains = <&performance 1>;
  105. clock-frequency = <2171000000>;
  106. capacity-dmips-mhz = <1024>;
  107. cpu-idle-states = <&cpu_off_b &cluster_off_b>;
  108. next-level-cache = <&l2_1>;
  109. #cooling-cells = <2>;
  110. };
  111. cpu7: cpu@700 {
  112. device_type = "cpu";
  113. compatible = "arm,cortex-a78";
  114. reg = <0x700>;
  115. enable-method = "psci";
  116. performance-domains = <&performance 1>;
  117. clock-frequency = <2171000000>;
  118. capacity-dmips-mhz = <1024>;
  119. cpu-idle-states = <&cpu_off_b &cluster_off_b>;
  120. next-level-cache = <&l2_1>;
  121. #cooling-cells = <2>;
  122. };
  123. cpu-map {
  124. cluster0 {
  125. core0 {
  126. cpu = <&cpu0>;
  127. };
  128. core1 {
  129. cpu = <&cpu1>;
  130. };
  131. core2 {
  132. cpu = <&cpu2>;
  133. };
  134. core3 {
  135. cpu = <&cpu3>;
  136. };
  137. core4 {
  138. cpu = <&cpu4>;
  139. };
  140. core5 {
  141. cpu = <&cpu5>;
  142. };
  143. core6 {
  144. cpu = <&cpu6>;
  145. };
  146. core7 {
  147. cpu = <&cpu7>;
  148. };
  149. };
  150. };
  151. idle-states {
  152. entry-method = "psci";
  153. cpu_off_l: cpu-off-l {
  154. compatible = "arm,idle-state";
  155. arm,psci-suspend-param = <0x00010001>;
  156. local-timer-stop;
  157. entry-latency-us = <50>;
  158. exit-latency-us = <95>;
  159. min-residency-us = <580>;
  160. };
  161. cpu_off_b: cpu-off-b {
  162. compatible = "arm,idle-state";
  163. arm,psci-suspend-param = <0x00010001>;
  164. local-timer-stop;
  165. entry-latency-us = <45>;
  166. exit-latency-us = <140>;
  167. min-residency-us = <740>;
  168. };
  169. cluster_off_l: cluster-off-l {
  170. compatible = "arm,idle-state";
  171. arm,psci-suspend-param = <0x01010002>;
  172. local-timer-stop;
  173. entry-latency-us = <55>;
  174. exit-latency-us = <155>;
  175. min-residency-us = <840>;
  176. };
  177. cluster_off_b: cluster-off-b {
  178. compatible = "arm,idle-state";
  179. arm,psci-suspend-param = <0x01010002>;
  180. local-timer-stop;
  181. entry-latency-us = <50>;
  182. exit-latency-us = <200>;
  183. min-residency-us = <1000>;
  184. };
  185. };
  186. l2_0: l2-cache0 {
  187. compatible = "cache";
  188. next-level-cache = <&l3_0>;
  189. };
  190. l2_1: l2-cache1 {
  191. compatible = "cache";
  192. next-level-cache = <&l3_0>;
  193. };
  194. l3_0: l3-cache {
  195. compatible = "cache";
  196. };
  197. };
  198. dsu-pmu {
  199. compatible = "arm,dsu-pmu";
  200. interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH 0>;
  201. cpus = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>,
  202. <&cpu4>, <&cpu5>, <&cpu6>, <&cpu7>;
  203. status = "fail";
  204. };
  205. dmic_codec: dmic-codec {
  206. compatible = "dmic-codec";
  207. num-channels = <2>;
  208. wakeup-delay-ms = <50>;
  209. };
  210. sound: mt8195-sound {
  211. mediatek,platform = <&afe>;
  212. status = "disabled";
  213. };
  214. clk13m: fixed-factor-clock-13m {
  215. compatible = "fixed-factor-clock";
  216. #clock-cells = <0>;
  217. clocks = <&clk26m>;
  218. clock-div = <2>;
  219. clock-mult = <1>;
  220. clock-output-names = "clk13m";
  221. };
  222. clk26m: oscillator-26m {
  223. compatible = "fixed-clock";
  224. #clock-cells = <0>;
  225. clock-frequency = <26000000>;
  226. clock-output-names = "clk26m";
  227. };
  228. clk32k: oscillator-32k {
  229. compatible = "fixed-clock";
  230. #clock-cells = <0>;
  231. clock-frequency = <32768>;
  232. clock-output-names = "clk32k";
  233. };
  234. performance: performance-controller@11bc10 {
  235. compatible = "mediatek,cpufreq-hw";
  236. reg = <0 0x0011bc10 0 0x120>, <0 0x0011bd30 0 0x120>;
  237. #performance-domain-cells = <1>;
  238. };
  239. pmu-a55 {
  240. compatible = "arm,cortex-a55-pmu";
  241. interrupt-parent = <&gic>;
  242. interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster0>;
  243. };
  244. pmu-a78 {
  245. compatible = "arm,cortex-a78-pmu";
  246. interrupt-parent = <&gic>;
  247. interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster1>;
  248. };
  249. psci {
  250. compatible = "arm,psci-1.0";
  251. method = "smc";
  252. };
  253. timer: timer {
  254. compatible = "arm,armv8-timer";
  255. interrupt-parent = <&gic>;
  256. interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH 0>,
  257. <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH 0>,
  258. <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH 0>,
  259. <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH 0>;
  260. };
  261. soc {
  262. #address-cells = <2>;
  263. #size-cells = <2>;
  264. compatible = "simple-bus";
  265. ranges;
  266. gic: interrupt-controller@c000000 {
  267. compatible = "arm,gic-v3";
  268. #interrupt-cells = <4>;
  269. #redistributor-regions = <1>;
  270. interrupt-parent = <&gic>;
  271. interrupt-controller;
  272. reg = <0 0x0c000000 0 0x40000>,
  273. <0 0x0c040000 0 0x200000>;
  274. interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
  275. ppi-partitions {
  276. ppi_cluster0: interrupt-partition-0 {
  277. affinity = <&cpu0 &cpu1 &cpu2 &cpu3>;
  278. };
  279. ppi_cluster1: interrupt-partition-1 {
  280. affinity = <&cpu4 &cpu5 &cpu6 &cpu7>;
  281. };
  282. };
  283. };
  284. topckgen: syscon@10000000 {
  285. compatible = "mediatek,mt8195-topckgen", "syscon";
  286. reg = <0 0x10000000 0 0x1000>;
  287. #clock-cells = <1>;
  288. };
  289. infracfg_ao: syscon@10001000 {
  290. compatible = "mediatek,mt8195-infracfg_ao", "syscon", "simple-mfd";
  291. reg = <0 0x10001000 0 0x1000>;
  292. #clock-cells = <1>;
  293. #reset-cells = <1>;
  294. };
  295. pericfg: syscon@10003000 {
  296. compatible = "mediatek,mt8195-pericfg", "syscon";
  297. reg = <0 0x10003000 0 0x1000>;
  298. #clock-cells = <1>;
  299. };
  300. pio: pinctrl@10005000 {
  301. compatible = "mediatek,mt8195-pinctrl";
  302. reg = <0 0x10005000 0 0x1000>,
  303. <0 0x11d10000 0 0x1000>,
  304. <0 0x11d30000 0 0x1000>,
  305. <0 0x11d40000 0 0x1000>,
  306. <0 0x11e20000 0 0x1000>,
  307. <0 0x11eb0000 0 0x1000>,
  308. <0 0x11f40000 0 0x1000>,
  309. <0 0x1000b000 0 0x1000>;
  310. reg-names = "iocfg0", "iocfg_bm", "iocfg_bl",
  311. "iocfg_br", "iocfg_lm", "iocfg_rb",
  312. "iocfg_tl", "eint";
  313. gpio-controller;
  314. #gpio-cells = <2>;
  315. gpio-ranges = <&pio 0 0 144>;
  316. interrupt-controller;
  317. interrupts = <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH 0>;
  318. #interrupt-cells = <2>;
  319. };
  320. scpsys: syscon@10006000 {
  321. compatible = "mediatek,mt8195-scpsys", "syscon", "simple-mfd";
  322. reg = <0 0x10006000 0 0x1000>;
  323. /* System Power Manager */
  324. spm: power-controller {
  325. compatible = "mediatek,mt8195-power-controller";
  326. #address-cells = <1>;
  327. #size-cells = <0>;
  328. #power-domain-cells = <1>;
  329. /* power domain of the SoC */
  330. mfg0: power-domain@MT8195_POWER_DOMAIN_MFG0 {
  331. reg = <MT8195_POWER_DOMAIN_MFG0>;
  332. #address-cells = <1>;
  333. #size-cells = <0>;
  334. #power-domain-cells = <1>;
  335. power-domain@MT8195_POWER_DOMAIN_MFG1 {
  336. reg = <MT8195_POWER_DOMAIN_MFG1>;
  337. clocks = <&apmixedsys CLK_APMIXED_MFGPLL>;
  338. clock-names = "mfg";
  339. mediatek,infracfg = <&infracfg_ao>;
  340. #address-cells = <1>;
  341. #size-cells = <0>;
  342. #power-domain-cells = <1>;
  343. power-domain@MT8195_POWER_DOMAIN_MFG2 {
  344. reg = <MT8195_POWER_DOMAIN_MFG2>;
  345. #power-domain-cells = <0>;
  346. };
  347. power-domain@MT8195_POWER_DOMAIN_MFG3 {
  348. reg = <MT8195_POWER_DOMAIN_MFG3>;
  349. #power-domain-cells = <0>;
  350. };
  351. power-domain@MT8195_POWER_DOMAIN_MFG4 {
  352. reg = <MT8195_POWER_DOMAIN_MFG4>;
  353. #power-domain-cells = <0>;
  354. };
  355. power-domain@MT8195_POWER_DOMAIN_MFG5 {
  356. reg = <MT8195_POWER_DOMAIN_MFG5>;
  357. #power-domain-cells = <0>;
  358. };
  359. power-domain@MT8195_POWER_DOMAIN_MFG6 {
  360. reg = <MT8195_POWER_DOMAIN_MFG6>;
  361. #power-domain-cells = <0>;
  362. };
  363. };
  364. };
  365. power-domain@MT8195_POWER_DOMAIN_VPPSYS0 {
  366. reg = <MT8195_POWER_DOMAIN_VPPSYS0>;
  367. clocks = <&topckgen CLK_TOP_VPP>,
  368. <&topckgen CLK_TOP_CAM>,
  369. <&topckgen CLK_TOP_CCU>,
  370. <&topckgen CLK_TOP_IMG>,
  371. <&topckgen CLK_TOP_VENC>,
  372. <&topckgen CLK_TOP_VDEC>,
  373. <&topckgen CLK_TOP_WPE_VPP>,
  374. <&topckgen CLK_TOP_CFG_VPP0>,
  375. <&vppsys0 CLK_VPP0_SMI_COMMON>,
  376. <&vppsys0 CLK_VPP0_GALS_VDO0_LARB0>,
  377. <&vppsys0 CLK_VPP0_GALS_VDO0_LARB1>,
  378. <&vppsys0 CLK_VPP0_GALS_VENCSYS>,
  379. <&vppsys0 CLK_VPP0_GALS_VENCSYS_CORE1>,
  380. <&vppsys0 CLK_VPP0_GALS_INFRA>,
  381. <&vppsys0 CLK_VPP0_GALS_CAMSYS>,
  382. <&vppsys0 CLK_VPP0_GALS_VPP1_LARB5>,
  383. <&vppsys0 CLK_VPP0_GALS_VPP1_LARB6>,
  384. <&vppsys0 CLK_VPP0_SMI_REORDER>,
  385. <&vppsys0 CLK_VPP0_SMI_IOMMU>,
  386. <&vppsys0 CLK_VPP0_GALS_IMGSYS_CAMSYS>,
  387. <&vppsys0 CLK_VPP0_GALS_EMI0_EMI1>,
  388. <&vppsys0 CLK_VPP0_SMI_SUB_COMMON_REORDER>,
  389. <&vppsys0 CLK_VPP0_SMI_RSI>,
  390. <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>,
  391. <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>,
  392. <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>,
  393. <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>;
  394. clock-names = "vppsys", "vppsys1", "vppsys2", "vppsys3",
  395. "vppsys4", "vppsys5", "vppsys6", "vppsys7",
  396. "vppsys0-0", "vppsys0-1", "vppsys0-2", "vppsys0-3",
  397. "vppsys0-4", "vppsys0-5", "vppsys0-6", "vppsys0-7",
  398. "vppsys0-8", "vppsys0-9", "vppsys0-10", "vppsys0-11",
  399. "vppsys0-12", "vppsys0-13", "vppsys0-14",
  400. "vppsys0-15", "vppsys0-16", "vppsys0-17",
  401. "vppsys0-18";
  402. mediatek,infracfg = <&infracfg_ao>;
  403. #address-cells = <1>;
  404. #size-cells = <0>;
  405. #power-domain-cells = <1>;
  406. power-domain@MT8195_POWER_DOMAIN_VDEC1 {
  407. reg = <MT8195_POWER_DOMAIN_VDEC1>;
  408. clocks = <&vdecsys CLK_VDEC_LARB1>;
  409. clock-names = "vdec1-0";
  410. mediatek,infracfg = <&infracfg_ao>;
  411. #power-domain-cells = <0>;
  412. };
  413. power-domain@MT8195_POWER_DOMAIN_VENC_CORE1 {
  414. reg = <MT8195_POWER_DOMAIN_VENC_CORE1>;
  415. clocks = <&vencsys_core1 CLK_VENC_CORE1_LARB>;
  416. clock-names = "venc1-larb";
  417. mediatek,infracfg = <&infracfg_ao>;
  418. #power-domain-cells = <0>;
  419. };
  420. power-domain@MT8195_POWER_DOMAIN_VDOSYS0 {
  421. reg = <MT8195_POWER_DOMAIN_VDOSYS0>;
  422. clocks = <&topckgen CLK_TOP_CFG_VDO0>,
  423. <&vdosys0 CLK_VDO0_SMI_GALS>,
  424. <&vdosys0 CLK_VDO0_SMI_COMMON>,
  425. <&vdosys0 CLK_VDO0_SMI_EMI>,
  426. <&vdosys0 CLK_VDO0_SMI_IOMMU>,
  427. <&vdosys0 CLK_VDO0_SMI_LARB>,
  428. <&vdosys0 CLK_VDO0_SMI_RSI>;
  429. clock-names = "vdosys0", "vdosys0-0", "vdosys0-1",
  430. "vdosys0-2", "vdosys0-3",
  431. "vdosys0-4", "vdosys0-5";
  432. mediatek,infracfg = <&infracfg_ao>;
  433. #address-cells = <1>;
  434. #size-cells = <0>;
  435. #power-domain-cells = <1>;
  436. power-domain@MT8195_POWER_DOMAIN_VPPSYS1 {
  437. reg = <MT8195_POWER_DOMAIN_VPPSYS1>;
  438. clocks = <&topckgen CLK_TOP_CFG_VPP1>,
  439. <&vppsys1 CLK_VPP1_VPPSYS1_GALS>,
  440. <&vppsys1 CLK_VPP1_VPPSYS1_LARB>;
  441. clock-names = "vppsys1", "vppsys1-0",
  442. "vppsys1-1";
  443. mediatek,infracfg = <&infracfg_ao>;
  444. #power-domain-cells = <0>;
  445. };
  446. power-domain@MT8195_POWER_DOMAIN_WPESYS {
  447. reg = <MT8195_POWER_DOMAIN_WPESYS>;
  448. clocks = <&wpesys CLK_WPE_SMI_LARB7>,
  449. <&wpesys CLK_WPE_SMI_LARB8>,
  450. <&wpesys CLK_WPE_SMI_LARB7_P>,
  451. <&wpesys CLK_WPE_SMI_LARB8_P>;
  452. clock-names = "wepsys-0", "wepsys-1", "wepsys-2",
  453. "wepsys-3";
  454. mediatek,infracfg = <&infracfg_ao>;
  455. #power-domain-cells = <0>;
  456. };
  457. power-domain@MT8195_POWER_DOMAIN_VDEC0 {
  458. reg = <MT8195_POWER_DOMAIN_VDEC0>;
  459. clocks = <&vdecsys_soc CLK_VDEC_SOC_LARB1>;
  460. clock-names = "vdec0-0";
  461. mediatek,infracfg = <&infracfg_ao>;
  462. #power-domain-cells = <0>;
  463. };
  464. power-domain@MT8195_POWER_DOMAIN_VDEC2 {
  465. reg = <MT8195_POWER_DOMAIN_VDEC2>;
  466. clocks = <&vdecsys_core1 CLK_VDEC_CORE1_LARB1>;
  467. clock-names = "vdec2-0";
  468. mediatek,infracfg = <&infracfg_ao>;
  469. #power-domain-cells = <0>;
  470. };
  471. power-domain@MT8195_POWER_DOMAIN_VENC {
  472. reg = <MT8195_POWER_DOMAIN_VENC>;
  473. clocks = <&vencsys CLK_VENC_LARB>;
  474. clock-names = "venc0-larb";
  475. mediatek,infracfg = <&infracfg_ao>;
  476. #power-domain-cells = <0>;
  477. };
  478. power-domain@MT8195_POWER_DOMAIN_VDOSYS1 {
  479. reg = <MT8195_POWER_DOMAIN_VDOSYS1>;
  480. clocks = <&topckgen CLK_TOP_CFG_VDO1>,
  481. <&vdosys1 CLK_VDO1_SMI_LARB2>,
  482. <&vdosys1 CLK_VDO1_SMI_LARB3>,
  483. <&vdosys1 CLK_VDO1_GALS>;
  484. clock-names = "vdosys1", "vdosys1-0",
  485. "vdosys1-1", "vdosys1-2";
  486. mediatek,infracfg = <&infracfg_ao>;
  487. #address-cells = <1>;
  488. #size-cells = <0>;
  489. #power-domain-cells = <1>;
  490. power-domain@MT8195_POWER_DOMAIN_DP_TX {
  491. reg = <MT8195_POWER_DOMAIN_DP_TX>;
  492. mediatek,infracfg = <&infracfg_ao>;
  493. #power-domain-cells = <0>;
  494. };
  495. power-domain@MT8195_POWER_DOMAIN_EPD_TX {
  496. reg = <MT8195_POWER_DOMAIN_EPD_TX>;
  497. mediatek,infracfg = <&infracfg_ao>;
  498. #power-domain-cells = <0>;
  499. };
  500. power-domain@MT8195_POWER_DOMAIN_HDMI_TX {
  501. reg = <MT8195_POWER_DOMAIN_HDMI_TX>;
  502. clocks = <&topckgen CLK_TOP_HDMI_APB>;
  503. clock-names = "hdmi_tx";
  504. #power-domain-cells = <0>;
  505. };
  506. };
  507. power-domain@MT8195_POWER_DOMAIN_IMG {
  508. reg = <MT8195_POWER_DOMAIN_IMG>;
  509. clocks = <&imgsys CLK_IMG_LARB9>,
  510. <&imgsys CLK_IMG_GALS>;
  511. clock-names = "img-0", "img-1";
  512. mediatek,infracfg = <&infracfg_ao>;
  513. #address-cells = <1>;
  514. #size-cells = <0>;
  515. #power-domain-cells = <1>;
  516. power-domain@MT8195_POWER_DOMAIN_DIP {
  517. reg = <MT8195_POWER_DOMAIN_DIP>;
  518. #power-domain-cells = <0>;
  519. };
  520. power-domain@MT8195_POWER_DOMAIN_IPE {
  521. reg = <MT8195_POWER_DOMAIN_IPE>;
  522. clocks = <&topckgen CLK_TOP_IPE>,
  523. <&imgsys CLK_IMG_IPE>,
  524. <&ipesys CLK_IPE_SMI_LARB12>;
  525. clock-names = "ipe", "ipe-0", "ipe-1";
  526. mediatek,infracfg = <&infracfg_ao>;
  527. #power-domain-cells = <0>;
  528. };
  529. };
  530. power-domain@MT8195_POWER_DOMAIN_CAM {
  531. reg = <MT8195_POWER_DOMAIN_CAM>;
  532. clocks = <&camsys CLK_CAM_LARB13>,
  533. <&camsys CLK_CAM_LARB14>,
  534. <&camsys CLK_CAM_CAM2MM0_GALS>,
  535. <&camsys CLK_CAM_CAM2MM1_GALS>,
  536. <&camsys CLK_CAM_CAM2SYS_GALS>;
  537. clock-names = "cam-0", "cam-1", "cam-2", "cam-3",
  538. "cam-4";
  539. mediatek,infracfg = <&infracfg_ao>;
  540. #address-cells = <1>;
  541. #size-cells = <0>;
  542. #power-domain-cells = <1>;
  543. power-domain@MT8195_POWER_DOMAIN_CAM_RAWA {
  544. reg = <MT8195_POWER_DOMAIN_CAM_RAWA>;
  545. #power-domain-cells = <0>;
  546. };
  547. power-domain@MT8195_POWER_DOMAIN_CAM_RAWB {
  548. reg = <MT8195_POWER_DOMAIN_CAM_RAWB>;
  549. #power-domain-cells = <0>;
  550. };
  551. power-domain@MT8195_POWER_DOMAIN_CAM_MRAW {
  552. reg = <MT8195_POWER_DOMAIN_CAM_MRAW>;
  553. #power-domain-cells = <0>;
  554. };
  555. };
  556. };
  557. };
  558. power-domain@MT8195_POWER_DOMAIN_PCIE_MAC_P0 {
  559. reg = <MT8195_POWER_DOMAIN_PCIE_MAC_P0>;
  560. mediatek,infracfg = <&infracfg_ao>;
  561. #power-domain-cells = <0>;
  562. };
  563. power-domain@MT8195_POWER_DOMAIN_PCIE_MAC_P1 {
  564. reg = <MT8195_POWER_DOMAIN_PCIE_MAC_P1>;
  565. mediatek,infracfg = <&infracfg_ao>;
  566. #power-domain-cells = <0>;
  567. };
  568. power-domain@MT8195_POWER_DOMAIN_PCIE_PHY {
  569. reg = <MT8195_POWER_DOMAIN_PCIE_PHY>;
  570. #power-domain-cells = <0>;
  571. };
  572. power-domain@MT8195_POWER_DOMAIN_SSUSB_PCIE_PHY {
  573. reg = <MT8195_POWER_DOMAIN_SSUSB_PCIE_PHY>;
  574. #power-domain-cells = <0>;
  575. };
  576. power-domain@MT8195_POWER_DOMAIN_CSI_RX_TOP {
  577. reg = <MT8195_POWER_DOMAIN_CSI_RX_TOP>;
  578. clocks = <&topckgen CLK_TOP_SENINF>,
  579. <&topckgen CLK_TOP_SENINF2>;
  580. clock-names = "csi_rx_top", "csi_rx_top1";
  581. #power-domain-cells = <0>;
  582. };
  583. power-domain@MT8195_POWER_DOMAIN_ETHER {
  584. reg = <MT8195_POWER_DOMAIN_ETHER>;
  585. clocks = <&pericfg_ao CLK_PERI_AO_ETHERNET_MAC>;
  586. clock-names = "ether";
  587. #power-domain-cells = <0>;
  588. };
  589. power-domain@MT8195_POWER_DOMAIN_ADSP {
  590. reg = <MT8195_POWER_DOMAIN_ADSP>;
  591. clocks = <&topckgen CLK_TOP_ADSP>,
  592. <&topckgen CLK_TOP_AUDIO_LOCAL_BUS>;
  593. clock-names = "adsp", "adsp1";
  594. #address-cells = <1>;
  595. #size-cells = <0>;
  596. mediatek,infracfg = <&infracfg_ao>;
  597. #power-domain-cells = <1>;
  598. power-domain@MT8195_POWER_DOMAIN_AUDIO {
  599. reg = <MT8195_POWER_DOMAIN_AUDIO>;
  600. clocks = <&topckgen CLK_TOP_A1SYS_HP>,
  601. <&topckgen CLK_TOP_AUD_INTBUS>,
  602. <&topckgen CLK_TOP_AUDIO_LOCAL_BUS>,
  603. <&infracfg_ao CLK_INFRA_AO_AUDIO_26M_B>;
  604. clock-names = "audio", "audio1", "audio2",
  605. "audio3";
  606. mediatek,infracfg = <&infracfg_ao>;
  607. #power-domain-cells = <0>;
  608. };
  609. };
  610. };
  611. };
  612. watchdog: watchdog@10007000 {
  613. compatible = "mediatek,mt8195-wdt";
  614. mediatek,disable-extrst;
  615. reg = <0 0x10007000 0 0x100>;
  616. #reset-cells = <1>;
  617. };
  618. apmixedsys: syscon@1000c000 {
  619. compatible = "mediatek,mt8195-apmixedsys", "syscon";
  620. reg = <0 0x1000c000 0 0x1000>;
  621. #clock-cells = <1>;
  622. };
  623. systimer: timer@10017000 {
  624. compatible = "mediatek,mt8195-timer",
  625. "mediatek,mt6765-timer";
  626. reg = <0 0x10017000 0 0x1000>;
  627. interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH 0>;
  628. clocks = <&clk13m>;
  629. };
  630. pwrap: pwrap@10024000 {
  631. compatible = "mediatek,mt8195-pwrap", "syscon";
  632. reg = <0 0x10024000 0 0x1000>;
  633. reg-names = "pwrap";
  634. interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH 0>;
  635. clocks = <&infracfg_ao CLK_INFRA_AO_PMIC_AP>,
  636. <&infracfg_ao CLK_INFRA_AO_PMIC_TMR>;
  637. clock-names = "spi", "wrap";
  638. assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC>;
  639. assigned-clock-parents = <&topckgen CLK_TOP_ULPOSC1_D10>;
  640. };
  641. spmi: spmi@10027000 {
  642. compatible = "mediatek,mt8195-spmi";
  643. reg = <0 0x10027000 0 0x000e00>,
  644. <0 0x10029000 0 0x000100>;
  645. reg-names = "pmif", "spmimst";
  646. clocks = <&infracfg_ao CLK_INFRA_AO_PMIC_AP>,
  647. <&infracfg_ao CLK_INFRA_AO_PMIC_TMR>,
  648. <&topckgen CLK_TOP_SPMI_M_MST>;
  649. clock-names = "pmif_sys_ck",
  650. "pmif_tmr_ck",
  651. "spmimst_clk_mux";
  652. assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC>;
  653. assigned-clock-parents = <&topckgen CLK_TOP_ULPOSC1_D10>;
  654. };
  655. iommu_infra: infra-iommu@10315000 {
  656. compatible = "mediatek,mt8195-iommu-infra";
  657. reg = <0 0x10315000 0 0x5000>;
  658. interrupts = <GIC_SPI 795 IRQ_TYPE_LEVEL_HIGH 0>,
  659. <GIC_SPI 796 IRQ_TYPE_LEVEL_HIGH 0>,
  660. <GIC_SPI 797 IRQ_TYPE_LEVEL_HIGH 0>,
  661. <GIC_SPI 798 IRQ_TYPE_LEVEL_HIGH 0>,
  662. <GIC_SPI 799 IRQ_TYPE_LEVEL_HIGH 0>;
  663. #iommu-cells = <1>;
  664. };
  665. gce0: mailbox@10320000 {
  666. compatible = "mediatek,mt8195-gce";
  667. reg = <0 0x10320000 0 0x4000>;
  668. interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH 0>;
  669. #mbox-cells = <2>;
  670. clocks = <&infracfg_ao CLK_INFRA_AO_GCE>;
  671. };
  672. gce1: mailbox@10330000 {
  673. compatible = "mediatek,mt8195-gce";
  674. reg = <0 0x10330000 0 0x4000>;
  675. interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH 0>;
  676. #mbox-cells = <2>;
  677. clocks = <&infracfg_ao CLK_INFRA_AO_GCE2>;
  678. };
  679. scp: scp@10500000 {
  680. compatible = "mediatek,mt8195-scp";
  681. reg = <0 0x10500000 0 0x100000>,
  682. <0 0x10720000 0 0xe0000>,
  683. <0 0x10700000 0 0x8000>;
  684. reg-names = "sram", "cfg", "l1tcm";
  685. interrupts = <GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH 0>;
  686. status = "disabled";
  687. };
  688. scp_adsp: clock-controller@10720000 {
  689. compatible = "mediatek,mt8195-scp_adsp";
  690. reg = <0 0x10720000 0 0x1000>;
  691. #clock-cells = <1>;
  692. };
  693. adsp: dsp@10803000 {
  694. compatible = "mediatek,mt8195-dsp";
  695. reg = <0 0x10803000 0 0x1000>,
  696. <0 0x10840000 0 0x40000>;
  697. reg-names = "cfg", "sram";
  698. clocks = <&topckgen CLK_TOP_ADSP>,
  699. <&clk26m>,
  700. <&topckgen CLK_TOP_AUDIO_LOCAL_BUS>,
  701. <&topckgen CLK_TOP_MAINPLL_D7_D2>,
  702. <&scp_adsp CLK_SCP_ADSP_AUDIODSP>,
  703. <&topckgen CLK_TOP_AUDIO_H>;
  704. clock-names = "adsp_sel",
  705. "clk26m_ck",
  706. "audio_local_bus",
  707. "mainpll_d7_d2",
  708. "scp_adsp_audiodsp",
  709. "audio_h";
  710. power-domains = <&spm MT8195_POWER_DOMAIN_ADSP>;
  711. mbox-names = "rx", "tx";
  712. mboxes = <&adsp_mailbox0>, <&adsp_mailbox1>;
  713. status = "disabled";
  714. };
  715. adsp_mailbox0: mailbox@10816000 {
  716. compatible = "mediatek,mt8195-adsp-mbox";
  717. #mbox-cells = <0>;
  718. reg = <0 0x10816000 0 0x1000>;
  719. interrupts = <GIC_SPI 702 IRQ_TYPE_LEVEL_HIGH 0>;
  720. };
  721. adsp_mailbox1: mailbox@10817000 {
  722. compatible = "mediatek,mt8195-adsp-mbox";
  723. #mbox-cells = <0>;
  724. reg = <0 0x10817000 0 0x1000>;
  725. interrupts = <GIC_SPI 703 IRQ_TYPE_LEVEL_HIGH 0>;
  726. };
  727. afe: mt8195-afe-pcm@10890000 {
  728. compatible = "mediatek,mt8195-audio";
  729. reg = <0 0x10890000 0 0x10000>;
  730. mediatek,topckgen = <&topckgen>;
  731. power-domains = <&spm MT8195_POWER_DOMAIN_AUDIO>;
  732. interrupts = <GIC_SPI 822 IRQ_TYPE_LEVEL_HIGH 0>;
  733. resets = <&watchdog 14>;
  734. reset-names = "audiosys";
  735. clocks = <&clk26m>,
  736. <&apmixedsys CLK_APMIXED_APLL1>,
  737. <&apmixedsys CLK_APMIXED_APLL2>,
  738. <&topckgen CLK_TOP_APLL12_DIV0>,
  739. <&topckgen CLK_TOP_APLL12_DIV1>,
  740. <&topckgen CLK_TOP_APLL12_DIV2>,
  741. <&topckgen CLK_TOP_APLL12_DIV3>,
  742. <&topckgen CLK_TOP_APLL12_DIV9>,
  743. <&topckgen CLK_TOP_A1SYS_HP>,
  744. <&topckgen CLK_TOP_AUD_INTBUS>,
  745. <&topckgen CLK_TOP_AUDIO_H>,
  746. <&topckgen CLK_TOP_AUDIO_LOCAL_BUS>,
  747. <&topckgen CLK_TOP_DPTX_MCK>,
  748. <&topckgen CLK_TOP_I2SO1_MCK>,
  749. <&topckgen CLK_TOP_I2SO2_MCK>,
  750. <&topckgen CLK_TOP_I2SI1_MCK>,
  751. <&topckgen CLK_TOP_I2SI2_MCK>,
  752. <&infracfg_ao CLK_INFRA_AO_AUDIO_26M_B>,
  753. <&scp_adsp CLK_SCP_ADSP_AUDIODSP>;
  754. clock-names = "clk26m",
  755. "apll1_ck",
  756. "apll2_ck",
  757. "apll12_div0",
  758. "apll12_div1",
  759. "apll12_div2",
  760. "apll12_div3",
  761. "apll12_div9",
  762. "a1sys_hp_sel",
  763. "aud_intbus_sel",
  764. "audio_h_sel",
  765. "audio_local_bus_sel",
  766. "dptx_m_sel",
  767. "i2so1_m_sel",
  768. "i2so2_m_sel",
  769. "i2si1_m_sel",
  770. "i2si2_m_sel",
  771. "infra_ao_audio_26m_b",
  772. "scp_adsp_audiodsp";
  773. status = "disabled";
  774. };
  775. uart0: serial@11001100 {
  776. compatible = "mediatek,mt8195-uart",
  777. "mediatek,mt6577-uart";
  778. reg = <0 0x11001100 0 0x100>;
  779. interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH 0>;
  780. clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART0>;
  781. clock-names = "baud", "bus";
  782. status = "disabled";
  783. };
  784. uart1: serial@11001200 {
  785. compatible = "mediatek,mt8195-uart",
  786. "mediatek,mt6577-uart";
  787. reg = <0 0x11001200 0 0x100>;
  788. interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH 0>;
  789. clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART1>;
  790. clock-names = "baud", "bus";
  791. status = "disabled";
  792. };
  793. uart2: serial@11001300 {
  794. compatible = "mediatek,mt8195-uart",
  795. "mediatek,mt6577-uart";
  796. reg = <0 0x11001300 0 0x100>;
  797. interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH 0>;
  798. clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART2>;
  799. clock-names = "baud", "bus";
  800. status = "disabled";
  801. };
  802. uart3: serial@11001400 {
  803. compatible = "mediatek,mt8195-uart",
  804. "mediatek,mt6577-uart";
  805. reg = <0 0x11001400 0 0x100>;
  806. interrupts = <GIC_SPI 723 IRQ_TYPE_LEVEL_HIGH 0>;
  807. clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART3>;
  808. clock-names = "baud", "bus";
  809. status = "disabled";
  810. };
  811. uart4: serial@11001500 {
  812. compatible = "mediatek,mt8195-uart",
  813. "mediatek,mt6577-uart";
  814. reg = <0 0x11001500 0 0x100>;
  815. interrupts = <GIC_SPI 724 IRQ_TYPE_LEVEL_HIGH 0>;
  816. clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART4>;
  817. clock-names = "baud", "bus";
  818. status = "disabled";
  819. };
  820. uart5: serial@11001600 {
  821. compatible = "mediatek,mt8195-uart",
  822. "mediatek,mt6577-uart";
  823. reg = <0 0x11001600 0 0x100>;
  824. interrupts = <GIC_SPI 725 IRQ_TYPE_LEVEL_HIGH 0>;
  825. clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART5>;
  826. clock-names = "baud", "bus";
  827. status = "disabled";
  828. };
  829. auxadc: auxadc@11002000 {
  830. compatible = "mediatek,mt8195-auxadc",
  831. "mediatek,mt8173-auxadc";
  832. reg = <0 0x11002000 0 0x1000>;
  833. clocks = <&infracfg_ao CLK_INFRA_AO_AUXADC>;
  834. clock-names = "main";
  835. #io-channel-cells = <1>;
  836. status = "disabled";
  837. };
  838. pericfg_ao: syscon@11003000 {
  839. compatible = "mediatek,mt8195-pericfg_ao", "syscon";
  840. reg = <0 0x11003000 0 0x1000>;
  841. #clock-cells = <1>;
  842. };
  843. spi0: spi@1100a000 {
  844. compatible = "mediatek,mt8195-spi",
  845. "mediatek,mt6765-spi";
  846. #address-cells = <1>;
  847. #size-cells = <0>;
  848. reg = <0 0x1100a000 0 0x1000>;
  849. interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH 0>;
  850. clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>,
  851. <&topckgen CLK_TOP_SPI>,
  852. <&infracfg_ao CLK_INFRA_AO_SPI0>;
  853. clock-names = "parent-clk", "sel-clk", "spi-clk";
  854. status = "disabled";
  855. };
  856. spi1: spi@11010000 {
  857. compatible = "mediatek,mt8195-spi",
  858. "mediatek,mt6765-spi";
  859. #address-cells = <1>;
  860. #size-cells = <0>;
  861. reg = <0 0x11010000 0 0x1000>;
  862. interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH 0>;
  863. clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>,
  864. <&topckgen CLK_TOP_SPI>,
  865. <&infracfg_ao CLK_INFRA_AO_SPI1>;
  866. clock-names = "parent-clk", "sel-clk", "spi-clk";
  867. status = "disabled";
  868. };
  869. spi2: spi@11012000 {
  870. compatible = "mediatek,mt8195-spi",
  871. "mediatek,mt6765-spi";
  872. #address-cells = <1>;
  873. #size-cells = <0>;
  874. reg = <0 0x11012000 0 0x1000>;
  875. interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH 0>;
  876. clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>,
  877. <&topckgen CLK_TOP_SPI>,
  878. <&infracfg_ao CLK_INFRA_AO_SPI2>;
  879. clock-names = "parent-clk", "sel-clk", "spi-clk";
  880. status = "disabled";
  881. };
  882. spi3: spi@11013000 {
  883. compatible = "mediatek,mt8195-spi",
  884. "mediatek,mt6765-spi";
  885. #address-cells = <1>;
  886. #size-cells = <0>;
  887. reg = <0 0x11013000 0 0x1000>;
  888. interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH 0>;
  889. clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>,
  890. <&topckgen CLK_TOP_SPI>,
  891. <&infracfg_ao CLK_INFRA_AO_SPI3>;
  892. clock-names = "parent-clk", "sel-clk", "spi-clk";
  893. status = "disabled";
  894. };
  895. spi4: spi@11018000 {
  896. compatible = "mediatek,mt8195-spi",
  897. "mediatek,mt6765-spi";
  898. #address-cells = <1>;
  899. #size-cells = <0>;
  900. reg = <0 0x11018000 0 0x1000>;
  901. interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH 0>;
  902. clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>,
  903. <&topckgen CLK_TOP_SPI>,
  904. <&infracfg_ao CLK_INFRA_AO_SPI4>;
  905. clock-names = "parent-clk", "sel-clk", "spi-clk";
  906. status = "disabled";
  907. };
  908. spi5: spi@11019000 {
  909. compatible = "mediatek,mt8195-spi",
  910. "mediatek,mt6765-spi";
  911. #address-cells = <1>;
  912. #size-cells = <0>;
  913. reg = <0 0x11019000 0 0x1000>;
  914. interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH 0>;
  915. clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>,
  916. <&topckgen CLK_TOP_SPI>,
  917. <&infracfg_ao CLK_INFRA_AO_SPI5>;
  918. clock-names = "parent-clk", "sel-clk", "spi-clk";
  919. status = "disabled";
  920. };
  921. spis0: spi@1101d000 {
  922. compatible = "mediatek,mt8195-spi-slave";
  923. reg = <0 0x1101d000 0 0x1000>;
  924. interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH 0>;
  925. clocks = <&infracfg_ao CLK_INFRA_AO_SPIS0>;
  926. clock-names = "spi";
  927. assigned-clocks = <&topckgen CLK_TOP_SPIS>;
  928. assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D6>;
  929. status = "disabled";
  930. };
  931. spis1: spi@1101e000 {
  932. compatible = "mediatek,mt8195-spi-slave";
  933. reg = <0 0x1101e000 0 0x1000>;
  934. interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH 0>;
  935. clocks = <&infracfg_ao CLK_INFRA_AO_SPIS1>;
  936. clock-names = "spi";
  937. assigned-clocks = <&topckgen CLK_TOP_SPIS>;
  938. assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D6>;
  939. status = "disabled";
  940. };
  941. xhci0: usb@11200000 {
  942. compatible = "mediatek,mt8195-xhci",
  943. "mediatek,mtk-xhci";
  944. reg = <0 0x11200000 0 0x1000>,
  945. <0 0x11203e00 0 0x0100>;
  946. reg-names = "mac", "ippc";
  947. interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH 0>;
  948. phys = <&u2port0 PHY_TYPE_USB2>,
  949. <&u3port0 PHY_TYPE_USB3>;
  950. assigned-clocks = <&topckgen CLK_TOP_USB_TOP>,
  951. <&topckgen CLK_TOP_SSUSB_XHCI>;
  952. assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>,
  953. <&topckgen CLK_TOP_UNIVPLL_D5_D4>;
  954. clocks = <&infracfg_ao CLK_INFRA_AO_SSUSB>,
  955. <&topckgen CLK_TOP_SSUSB_REF>,
  956. <&apmixedsys CLK_APMIXED_USB1PLL>,
  957. <&clk26m>,
  958. <&infracfg_ao CLK_INFRA_AO_SSUSB_XHCI>;
  959. clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck",
  960. "xhci_ck";
  961. mediatek,syscon-wakeup = <&pericfg 0x400 103>;
  962. wakeup-source;
  963. status = "disabled";
  964. };
  965. mmc0: mmc@11230000 {
  966. compatible = "mediatek,mt8195-mmc",
  967. "mediatek,mt8183-mmc";
  968. reg = <0 0x11230000 0 0x10000>,
  969. <0 0x11f50000 0 0x1000>;
  970. interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH 0>;
  971. clocks = <&topckgen CLK_TOP_MSDC50_0>,
  972. <&infracfg_ao CLK_INFRA_AO_MSDC0>,
  973. <&infracfg_ao CLK_INFRA_AO_MSDC0_SRC>;
  974. clock-names = "source", "hclk", "source_cg";
  975. status = "disabled";
  976. };
  977. mmc1: mmc@11240000 {
  978. compatible = "mediatek,mt8195-mmc",
  979. "mediatek,mt8183-mmc";
  980. reg = <0 0x11240000 0 0x1000>,
  981. <0 0x11c70000 0 0x1000>;
  982. interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH 0>;
  983. clocks = <&topckgen CLK_TOP_MSDC30_1>,
  984. <&infracfg_ao CLK_INFRA_AO_MSDC1>,
  985. <&infracfg_ao CLK_INFRA_AO_MSDC1_SRC>;
  986. clock-names = "source", "hclk", "source_cg";
  987. assigned-clocks = <&topckgen CLK_TOP_MSDC30_1>;
  988. assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_D2>;
  989. status = "disabled";
  990. };
  991. mmc2: mmc@11250000 {
  992. compatible = "mediatek,mt8195-mmc",
  993. "mediatek,mt8183-mmc";
  994. reg = <0 0x11250000 0 0x1000>,
  995. <0 0x11e60000 0 0x1000>;
  996. interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH 0>;
  997. clocks = <&topckgen CLK_TOP_MSDC30_2>,
  998. <&infracfg_ao CLK_INFRA_AO_CG1_MSDC2>,
  999. <&infracfg_ao CLK_INFRA_AO_CG3_MSDC2>;
  1000. clock-names = "source", "hclk", "source_cg";
  1001. assigned-clocks = <&topckgen CLK_TOP_MSDC30_2>;
  1002. assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_D2>;
  1003. status = "disabled";
  1004. };
  1005. xhci1: usb@11290000 {
  1006. compatible = "mediatek,mt8195-xhci",
  1007. "mediatek,mtk-xhci";
  1008. reg = <0 0x11290000 0 0x1000>,
  1009. <0 0x11293e00 0 0x0100>;
  1010. reg-names = "mac", "ippc";
  1011. interrupts = <GIC_SPI 530 IRQ_TYPE_LEVEL_HIGH 0>;
  1012. phys = <&u2port1 PHY_TYPE_USB2>;
  1013. assigned-clocks = <&topckgen CLK_TOP_USB_TOP_1P>,
  1014. <&topckgen CLK_TOP_SSUSB_XHCI_1P>;
  1015. assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>,
  1016. <&topckgen CLK_TOP_UNIVPLL_D5_D4>;
  1017. clocks = <&pericfg_ao CLK_PERI_AO_SSUSB_1P_BUS>,
  1018. <&topckgen CLK_TOP_SSUSB_P1_REF>,
  1019. <&apmixedsys CLK_APMIXED_USB1PLL>,
  1020. <&clk26m>,
  1021. <&pericfg_ao CLK_PERI_AO_SSUSB_1P_XHCI>;
  1022. clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck",
  1023. "xhci_ck";
  1024. mediatek,syscon-wakeup = <&pericfg 0x400 104>;
  1025. wakeup-source;
  1026. status = "disabled";
  1027. };
  1028. xhci2: usb@112a0000 {
  1029. compatible = "mediatek,mt8195-xhci",
  1030. "mediatek,mtk-xhci";
  1031. reg = <0 0x112a0000 0 0x1000>,
  1032. <0 0x112a3e00 0 0x0100>;
  1033. reg-names = "mac", "ippc";
  1034. interrupts = <GIC_SPI 533 IRQ_TYPE_LEVEL_HIGH 0>;
  1035. phys = <&u2port2 PHY_TYPE_USB2>;
  1036. assigned-clocks = <&topckgen CLK_TOP_USB_TOP_2P>,
  1037. <&topckgen CLK_TOP_SSUSB_XHCI_2P>;
  1038. assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>,
  1039. <&topckgen CLK_TOP_UNIVPLL_D5_D4>;
  1040. clocks = <&pericfg_ao CLK_PERI_AO_SSUSB_2P_BUS>,
  1041. <&topckgen CLK_TOP_SSUSB_P2_REF>,
  1042. <&clk26m>,
  1043. <&clk26m>,
  1044. <&pericfg_ao CLK_PERI_AO_SSUSB_2P_XHCI>;
  1045. clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck",
  1046. "xhci_ck";
  1047. mediatek,syscon-wakeup = <&pericfg 0x400 105>;
  1048. wakeup-source;
  1049. status = "disabled";
  1050. };
  1051. xhci3: usb@112b0000 {
  1052. compatible = "mediatek,mt8195-xhci",
  1053. "mediatek,mtk-xhci";
  1054. reg = <0 0x112b0000 0 0x1000>,
  1055. <0 0x112b3e00 0 0x0100>;
  1056. reg-names = "mac", "ippc";
  1057. interrupts = <GIC_SPI 536 IRQ_TYPE_LEVEL_HIGH 0>;
  1058. phys = <&u2port3 PHY_TYPE_USB2>;
  1059. assigned-clocks = <&topckgen CLK_TOP_USB_TOP_3P>,
  1060. <&topckgen CLK_TOP_SSUSB_XHCI_3P>;
  1061. assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>,
  1062. <&topckgen CLK_TOP_UNIVPLL_D5_D4>;
  1063. clocks = <&pericfg_ao CLK_PERI_AO_SSUSB_3P_BUS>,
  1064. <&topckgen CLK_TOP_SSUSB_P3_REF>,
  1065. <&clk26m>,
  1066. <&clk26m>,
  1067. <&pericfg_ao CLK_PERI_AO_SSUSB_3P_XHCI>;
  1068. clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck",
  1069. "xhci_ck";
  1070. mediatek,syscon-wakeup = <&pericfg 0x400 106>;
  1071. wakeup-source;
  1072. status = "disabled";
  1073. };
  1074. nor_flash: spi@1132c000 {
  1075. compatible = "mediatek,mt8195-nor",
  1076. "mediatek,mt8173-nor";
  1077. reg = <0 0x1132c000 0 0x1000>;
  1078. interrupts = <GIC_SPI 825 IRQ_TYPE_LEVEL_HIGH 0>;
  1079. clocks = <&topckgen CLK_TOP_SPINOR>,
  1080. <&pericfg_ao CLK_PERI_AO_FLASHIF_FLASH>,
  1081. <&pericfg_ao CLK_PERI_AO_FLASHIF_BUS>;
  1082. clock-names = "spi", "sf", "axi";
  1083. #address-cells = <1>;
  1084. #size-cells = <0>;
  1085. status = "disabled";
  1086. };
  1087. efuse: efuse@11c10000 {
  1088. compatible = "mediatek,mt8195-efuse", "mediatek,efuse";
  1089. reg = <0 0x11c10000 0 0x1000>;
  1090. #address-cells = <1>;
  1091. #size-cells = <1>;
  1092. u3_tx_imp_p0: usb3-tx-imp@184,1 {
  1093. reg = <0x184 0x1>;
  1094. bits = <0 5>;
  1095. };
  1096. u3_rx_imp_p0: usb3-rx-imp@184,2 {
  1097. reg = <0x184 0x2>;
  1098. bits = <5 5>;
  1099. };
  1100. u3_intr_p0: usb3-intr@185 {
  1101. reg = <0x185 0x1>;
  1102. bits = <2 6>;
  1103. };
  1104. comb_tx_imp_p1: usb3-tx-imp@186,1 {
  1105. reg = <0x186 0x1>;
  1106. bits = <0 5>;
  1107. };
  1108. comb_rx_imp_p1: usb3-rx-imp@186,2 {
  1109. reg = <0x186 0x2>;
  1110. bits = <5 5>;
  1111. };
  1112. comb_intr_p1: usb3-intr@187 {
  1113. reg = <0x187 0x1>;
  1114. bits = <2 6>;
  1115. };
  1116. u2_intr_p0: usb2-intr-p0@188,1 {
  1117. reg = <0x188 0x1>;
  1118. bits = <0 5>;
  1119. };
  1120. u2_intr_p1: usb2-intr-p1@188,2 {
  1121. reg = <0x188 0x2>;
  1122. bits = <5 5>;
  1123. };
  1124. u2_intr_p2: usb2-intr-p2@189,1 {
  1125. reg = <0x189 0x1>;
  1126. bits = <2 5>;
  1127. };
  1128. u2_intr_p3: usb2-intr-p3@189,2 {
  1129. reg = <0x189 0x2>;
  1130. bits = <7 5>;
  1131. };
  1132. };
  1133. u3phy2: t-phy@11c40000 {
  1134. compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3";
  1135. #address-cells = <1>;
  1136. #size-cells = <1>;
  1137. ranges = <0 0 0x11c40000 0x700>;
  1138. status = "disabled";
  1139. u2port2: usb-phy@0 {
  1140. reg = <0x0 0x700>;
  1141. clocks = <&topckgen CLK_TOP_SSUSB_PHY_P2_REF>;
  1142. clock-names = "ref";
  1143. #phy-cells = <1>;
  1144. };
  1145. };
  1146. u3phy3: t-phy@11c50000 {
  1147. compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3";
  1148. #address-cells = <1>;
  1149. #size-cells = <1>;
  1150. ranges = <0 0 0x11c50000 0x700>;
  1151. status = "disabled";
  1152. u2port3: usb-phy@0 {
  1153. reg = <0x0 0x700>;
  1154. clocks = <&topckgen CLK_TOP_SSUSB_PHY_P3_REF>;
  1155. clock-names = "ref";
  1156. #phy-cells = <1>;
  1157. };
  1158. };
  1159. i2c5: i2c@11d00000 {
  1160. compatible = "mediatek,mt8195-i2c",
  1161. "mediatek,mt8192-i2c";
  1162. reg = <0 0x11d00000 0 0x1000>,
  1163. <0 0x10220580 0 0x80>;
  1164. interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH 0>;
  1165. clock-div = <1>;
  1166. clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C5>,
  1167. <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
  1168. clock-names = "main", "dma";
  1169. #address-cells = <1>;
  1170. #size-cells = <0>;
  1171. status = "disabled";
  1172. };
  1173. i2c6: i2c@11d01000 {
  1174. compatible = "mediatek,mt8195-i2c",
  1175. "mediatek,mt8192-i2c";
  1176. reg = <0 0x11d01000 0 0x1000>,
  1177. <0 0x10220600 0 0x80>;
  1178. interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH 0>;
  1179. clock-div = <1>;
  1180. clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C6>,
  1181. <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
  1182. clock-names = "main", "dma";
  1183. #address-cells = <1>;
  1184. #size-cells = <0>;
  1185. status = "disabled";
  1186. };
  1187. i2c7: i2c@11d02000 {
  1188. compatible = "mediatek,mt8195-i2c",
  1189. "mediatek,mt8192-i2c";
  1190. reg = <0 0x11d02000 0 0x1000>,
  1191. <0 0x10220680 0 0x80>;
  1192. interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH 0>;
  1193. clock-div = <1>;
  1194. clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C7>,
  1195. <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
  1196. clock-names = "main", "dma";
  1197. #address-cells = <1>;
  1198. #size-cells = <0>;
  1199. status = "disabled";
  1200. };
  1201. imp_iic_wrap_s: clock-controller@11d03000 {
  1202. compatible = "mediatek,mt8195-imp_iic_wrap_s";
  1203. reg = <0 0x11d03000 0 0x1000>;
  1204. #clock-cells = <1>;
  1205. };
  1206. i2c0: i2c@11e00000 {
  1207. compatible = "mediatek,mt8195-i2c",
  1208. "mediatek,mt8192-i2c";
  1209. reg = <0 0x11e00000 0 0x1000>,
  1210. <0 0x10220080 0 0x80>;
  1211. interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH 0>;
  1212. clock-div = <1>;
  1213. clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C0>,
  1214. <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
  1215. clock-names = "main", "dma";
  1216. #address-cells = <1>;
  1217. #size-cells = <0>;
  1218. status = "disabled";
  1219. };
  1220. i2c1: i2c@11e01000 {
  1221. compatible = "mediatek,mt8195-i2c",
  1222. "mediatek,mt8192-i2c";
  1223. reg = <0 0x11e01000 0 0x1000>,
  1224. <0 0x10220200 0 0x80>;
  1225. interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH 0>;
  1226. clock-div = <1>;
  1227. clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C1>,
  1228. <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
  1229. clock-names = "main", "dma";
  1230. #address-cells = <1>;
  1231. #size-cells = <0>;
  1232. status = "disabled";
  1233. };
  1234. i2c2: i2c@11e02000 {
  1235. compatible = "mediatek,mt8195-i2c",
  1236. "mediatek,mt8192-i2c";
  1237. reg = <0 0x11e02000 0 0x1000>,
  1238. <0 0x10220380 0 0x80>;
  1239. interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH 0>;
  1240. clock-div = <1>;
  1241. clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C2>,
  1242. <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
  1243. clock-names = "main", "dma";
  1244. #address-cells = <1>;
  1245. #size-cells = <0>;
  1246. status = "disabled";
  1247. };
  1248. i2c3: i2c@11e03000 {
  1249. compatible = "mediatek,mt8195-i2c",
  1250. "mediatek,mt8192-i2c";
  1251. reg = <0 0x11e03000 0 0x1000>,
  1252. <0 0x10220480 0 0x80>;
  1253. interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH 0>;
  1254. clock-div = <1>;
  1255. clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C3>,
  1256. <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
  1257. clock-names = "main", "dma";
  1258. #address-cells = <1>;
  1259. #size-cells = <0>;
  1260. status = "disabled";
  1261. };
  1262. i2c4: i2c@11e04000 {
  1263. compatible = "mediatek,mt8195-i2c",
  1264. "mediatek,mt8192-i2c";
  1265. reg = <0 0x11e04000 0 0x1000>,
  1266. <0 0x10220500 0 0x80>;
  1267. interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH 0>;
  1268. clock-div = <1>;
  1269. clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C4>,
  1270. <&infracfg_ao CLK_INFRA_AO_APDMA_B>;
  1271. clock-names = "main", "dma";
  1272. #address-cells = <1>;
  1273. #size-cells = <0>;
  1274. status = "disabled";
  1275. };
  1276. imp_iic_wrap_w: clock-controller@11e05000 {
  1277. compatible = "mediatek,mt8195-imp_iic_wrap_w";
  1278. reg = <0 0x11e05000 0 0x1000>;
  1279. #clock-cells = <1>;
  1280. };
  1281. u3phy1: t-phy@11e30000 {
  1282. compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3";
  1283. #address-cells = <1>;
  1284. #size-cells = <1>;
  1285. ranges = <0 0 0x11e30000 0xe00>;
  1286. power-domains = <&spm MT8195_POWER_DOMAIN_SSUSB_PCIE_PHY>;
  1287. status = "disabled";
  1288. u2port1: usb-phy@0 {
  1289. reg = <0x0 0x700>;
  1290. clocks = <&topckgen CLK_TOP_SSUSB_PHY_P1_REF>,
  1291. <&clk26m>;
  1292. clock-names = "ref", "da_ref";
  1293. #phy-cells = <1>;
  1294. };
  1295. u3port1: usb-phy@700 {
  1296. reg = <0x700 0x700>;
  1297. clocks = <&apmixedsys CLK_APMIXED_PLL_SSUSB26M>,
  1298. <&topckgen CLK_TOP_SSUSB_PHY_P1_REF>;
  1299. clock-names = "ref", "da_ref";
  1300. nvmem-cells = <&comb_intr_p1>,
  1301. <&comb_rx_imp_p1>,
  1302. <&comb_tx_imp_p1>;
  1303. nvmem-cell-names = "intr", "rx_imp", "tx_imp";
  1304. #phy-cells = <1>;
  1305. };
  1306. };
  1307. u3phy0: t-phy@11e40000 {
  1308. compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3";
  1309. #address-cells = <1>;
  1310. #size-cells = <1>;
  1311. ranges = <0 0 0x11e40000 0xe00>;
  1312. status = "disabled";
  1313. u2port0: usb-phy@0 {
  1314. reg = <0x0 0x700>;
  1315. clocks = <&topckgen CLK_TOP_SSUSB_PHY_REF>,
  1316. <&clk26m>;
  1317. clock-names = "ref", "da_ref";
  1318. #phy-cells = <1>;
  1319. };
  1320. u3port0: usb-phy@700 {
  1321. reg = <0x700 0x700>;
  1322. clocks = <&apmixedsys CLK_APMIXED_PLL_SSUSB26M>,
  1323. <&topckgen CLK_TOP_SSUSB_PHY_REF>;
  1324. clock-names = "ref", "da_ref";
  1325. nvmem-cells = <&u3_intr_p0>,
  1326. <&u3_rx_imp_p0>,
  1327. <&u3_tx_imp_p0>;
  1328. nvmem-cell-names = "intr", "rx_imp", "tx_imp";
  1329. #phy-cells = <1>;
  1330. };
  1331. };
  1332. ufsphy: ufs-phy@11fa0000 {
  1333. compatible = "mediatek,mt8195-ufsphy", "mediatek,mt8183-ufsphy";
  1334. reg = <0 0x11fa0000 0 0xc000>;
  1335. clocks = <&clk26m>, <&clk26m>;
  1336. clock-names = "unipro", "mp";
  1337. #phy-cells = <0>;
  1338. status = "disabled";
  1339. };
  1340. mfgcfg: clock-controller@13fbf000 {
  1341. compatible = "mediatek,mt8195-mfgcfg";
  1342. reg = <0 0x13fbf000 0 0x1000>;
  1343. #clock-cells = <1>;
  1344. };
  1345. vppsys0: clock-controller@14000000 {
  1346. compatible = "mediatek,mt8195-vppsys0";
  1347. reg = <0 0x14000000 0 0x1000>;
  1348. #clock-cells = <1>;
  1349. };
  1350. smi_sub_common_vpp0_vpp1_2x1: smi@14010000 {
  1351. compatible = "mediatek,mt8195-smi-sub-common";
  1352. reg = <0 0x14010000 0 0x1000>;
  1353. clocks = <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>,
  1354. <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>,
  1355. <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>;
  1356. clock-names = "apb", "smi", "gals0";
  1357. mediatek,smi = <&smi_common_vpp>;
  1358. power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>;
  1359. };
  1360. smi_sub_common_vdec_vpp0_2x1: smi@14011000 {
  1361. compatible = "mediatek,mt8195-smi-sub-common";
  1362. reg = <0 0x14011000 0 0x1000>;
  1363. clocks = <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>,
  1364. <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>,
  1365. <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>;
  1366. clock-names = "apb", "smi", "gals0";
  1367. mediatek,smi = <&smi_common_vpp>;
  1368. power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>;
  1369. };
  1370. smi_common_vpp: smi@14012000 {
  1371. compatible = "mediatek,mt8195-smi-common-vpp";
  1372. reg = <0 0x14012000 0 0x1000>;
  1373. clocks = <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>,
  1374. <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>,
  1375. <&vppsys0 CLK_VPP0_SMI_RSI>,
  1376. <&vppsys0 CLK_VPP0_SMI_RSI>;
  1377. clock-names = "apb", "smi", "gals0", "gals1";
  1378. power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>;
  1379. };
  1380. larb4: larb@14013000 {
  1381. compatible = "mediatek,mt8195-smi-larb";
  1382. reg = <0 0x14013000 0 0x1000>;
  1383. mediatek,larb-id = <4>;
  1384. mediatek,smi = <&smi_sub_common_vpp0_vpp1_2x1>;
  1385. clocks = <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>,
  1386. <&vppsys0 CLK_VPP0_SMI_COMMON_LARB4>;
  1387. clock-names = "apb", "smi";
  1388. power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>;
  1389. };
  1390. iommu_vpp: iommu@14018000 {
  1391. compatible = "mediatek,mt8195-iommu-vpp";
  1392. reg = <0 0x14018000 0 0x1000>;
  1393. mediatek,larbs = <&larb1 &larb3 &larb4 &larb6 &larb8
  1394. &larb12 &larb14 &larb16 &larb18
  1395. &larb20 &larb22 &larb23 &larb26
  1396. &larb27>;
  1397. interrupts = <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH 0>;
  1398. clocks = <&vppsys0 CLK_VPP0_SMI_IOMMU>;
  1399. clock-names = "bclk";
  1400. #iommu-cells = <1>;
  1401. power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>;
  1402. };
  1403. wpesys: clock-controller@14e00000 {
  1404. compatible = "mediatek,mt8195-wpesys";
  1405. reg = <0 0x14e00000 0 0x1000>;
  1406. #clock-cells = <1>;
  1407. };
  1408. wpesys_vpp0: clock-controller@14e02000 {
  1409. compatible = "mediatek,mt8195-wpesys_vpp0";
  1410. reg = <0 0x14e02000 0 0x1000>;
  1411. #clock-cells = <1>;
  1412. };
  1413. wpesys_vpp1: clock-controller@14e03000 {
  1414. compatible = "mediatek,mt8195-wpesys_vpp1";
  1415. reg = <0 0x14e03000 0 0x1000>;
  1416. #clock-cells = <1>;
  1417. };
  1418. larb7: larb@14e04000 {
  1419. compatible = "mediatek,mt8195-smi-larb";
  1420. reg = <0 0x14e04000 0 0x1000>;
  1421. mediatek,larb-id = <7>;
  1422. mediatek,smi = <&smi_common_vdo>;
  1423. clocks = <&wpesys CLK_WPE_SMI_LARB7>,
  1424. <&wpesys CLK_WPE_SMI_LARB7>;
  1425. clock-names = "apb", "smi";
  1426. power-domains = <&spm MT8195_POWER_DOMAIN_WPESYS>;
  1427. };
  1428. larb8: larb@14e05000 {
  1429. compatible = "mediatek,mt8195-smi-larb";
  1430. reg = <0 0x14e05000 0 0x1000>;
  1431. mediatek,larb-id = <8>;
  1432. mediatek,smi = <&smi_common_vpp>;
  1433. clocks = <&wpesys CLK_WPE_SMI_LARB8>,
  1434. <&wpesys CLK_WPE_SMI_LARB8>,
  1435. <&vppsys0 CLK_VPP0_GALS_VPP1_WPE>;
  1436. clock-names = "apb", "smi", "gals";
  1437. power-domains = <&spm MT8195_POWER_DOMAIN_WPESYS>;
  1438. };
  1439. vppsys1: clock-controller@14f00000 {
  1440. compatible = "mediatek,mt8195-vppsys1";
  1441. reg = <0 0x14f00000 0 0x1000>;
  1442. #clock-cells = <1>;
  1443. };
  1444. larb5: larb@14f02000 {
  1445. compatible = "mediatek,mt8195-smi-larb";
  1446. reg = <0 0x14f02000 0 0x1000>;
  1447. mediatek,larb-id = <5>;
  1448. mediatek,smi = <&smi_common_vdo>;
  1449. clocks = <&vppsys1 CLK_VPP1_VPPSYS1_LARB>,
  1450. <&vppsys1 CLK_VPP1_VPPSYS1_GALS>,
  1451. <&vppsys0 CLK_VPP0_GALS_VPP1_LARB5>;
  1452. clock-names = "apb", "smi", "gals";
  1453. power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS1>;
  1454. };
  1455. larb6: larb@14f03000 {
  1456. compatible = "mediatek,mt8195-smi-larb";
  1457. reg = <0 0x14f03000 0 0x1000>;
  1458. mediatek,larb-id = <6>;
  1459. mediatek,smi = <&smi_sub_common_vpp0_vpp1_2x1>;
  1460. clocks = <&vppsys1 CLK_VPP1_VPPSYS1_LARB>,
  1461. <&vppsys1 CLK_VPP1_VPPSYS1_GALS>,
  1462. <&vppsys0 CLK_VPP0_GALS_VPP1_LARB6>;
  1463. clock-names = "apb", "smi", "gals";
  1464. power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS1>;
  1465. };
  1466. imgsys: clock-controller@15000000 {
  1467. compatible = "mediatek,mt8195-imgsys";
  1468. reg = <0 0x15000000 0 0x1000>;
  1469. #clock-cells = <1>;
  1470. };
  1471. larb9: larb@15001000 {
  1472. compatible = "mediatek,mt8195-smi-larb";
  1473. reg = <0 0x15001000 0 0x1000>;
  1474. mediatek,larb-id = <9>;
  1475. mediatek,smi = <&smi_sub_common_img1_3x1>;
  1476. clocks = <&imgsys CLK_IMG_LARB9>,
  1477. <&imgsys CLK_IMG_LARB9>,
  1478. <&imgsys CLK_IMG_GALS>;
  1479. clock-names = "apb", "smi", "gals";
  1480. power-domains = <&spm MT8195_POWER_DOMAIN_IMG>;
  1481. };
  1482. smi_sub_common_img0_3x1: smi@15002000 {
  1483. compatible = "mediatek,mt8195-smi-sub-common";
  1484. reg = <0 0x15002000 0 0x1000>;
  1485. clocks = <&imgsys CLK_IMG_IPE>,
  1486. <&imgsys CLK_IMG_IPE>,
  1487. <&vppsys0 CLK_VPP0_GALS_IMGSYS_CAMSYS>;
  1488. clock-names = "apb", "smi", "gals0";
  1489. mediatek,smi = <&smi_common_vpp>;
  1490. power-domains = <&spm MT8195_POWER_DOMAIN_IMG>;
  1491. };
  1492. smi_sub_common_img1_3x1: smi@15003000 {
  1493. compatible = "mediatek,mt8195-smi-sub-common";
  1494. reg = <0 0x15003000 0 0x1000>;
  1495. clocks = <&imgsys CLK_IMG_LARB9>,
  1496. <&imgsys CLK_IMG_LARB9>,
  1497. <&imgsys CLK_IMG_GALS>;
  1498. clock-names = "apb", "smi", "gals0";
  1499. mediatek,smi = <&smi_common_vdo>;
  1500. power-domains = <&spm MT8195_POWER_DOMAIN_IMG>;
  1501. };
  1502. imgsys1_dip_top: clock-controller@15110000 {
  1503. compatible = "mediatek,mt8195-imgsys1_dip_top";
  1504. reg = <0 0x15110000 0 0x1000>;
  1505. #clock-cells = <1>;
  1506. };
  1507. larb10: larb@15120000 {
  1508. compatible = "mediatek,mt8195-smi-larb";
  1509. reg = <0 0x15120000 0 0x1000>;
  1510. mediatek,larb-id = <10>;
  1511. mediatek,smi = <&smi_sub_common_img1_3x1>;
  1512. clocks = <&imgsys CLK_IMG_DIP0>,
  1513. <&imgsys1_dip_top CLK_IMG1_DIP_TOP_LARB10>;
  1514. clock-names = "apb", "smi";
  1515. power-domains = <&spm MT8195_POWER_DOMAIN_DIP>;
  1516. };
  1517. imgsys1_dip_nr: clock-controller@15130000 {
  1518. compatible = "mediatek,mt8195-imgsys1_dip_nr";
  1519. reg = <0 0x15130000 0 0x1000>;
  1520. #clock-cells = <1>;
  1521. };
  1522. imgsys1_wpe: clock-controller@15220000 {
  1523. compatible = "mediatek,mt8195-imgsys1_wpe";
  1524. reg = <0 0x15220000 0 0x1000>;
  1525. #clock-cells = <1>;
  1526. };
  1527. larb11: larb@15230000 {
  1528. compatible = "mediatek,mt8195-smi-larb";
  1529. reg = <0 0x15230000 0 0x1000>;
  1530. mediatek,larb-id = <11>;
  1531. mediatek,smi = <&smi_sub_common_img1_3x1>;
  1532. clocks = <&imgsys CLK_IMG_WPE0>,
  1533. <&imgsys1_wpe CLK_IMG1_WPE_LARB11>;
  1534. clock-names = "apb", "smi";
  1535. power-domains = <&spm MT8195_POWER_DOMAIN_DIP>;
  1536. };
  1537. ipesys: clock-controller@15330000 {
  1538. compatible = "mediatek,mt8195-ipesys";
  1539. reg = <0 0x15330000 0 0x1000>;
  1540. #clock-cells = <1>;
  1541. };
  1542. larb12: larb@15340000 {
  1543. compatible = "mediatek,mt8195-smi-larb";
  1544. reg = <0 0x15340000 0 0x1000>;
  1545. mediatek,larb-id = <12>;
  1546. mediatek,smi = <&smi_sub_common_img0_3x1>;
  1547. clocks = <&ipesys CLK_IPE_SMI_LARB12>,
  1548. <&ipesys CLK_IPE_SMI_LARB12>;
  1549. clock-names = "apb", "smi";
  1550. power-domains = <&spm MT8195_POWER_DOMAIN_IPE>;
  1551. };
  1552. camsys: clock-controller@16000000 {
  1553. compatible = "mediatek,mt8195-camsys";
  1554. reg = <0 0x16000000 0 0x1000>;
  1555. #clock-cells = <1>;
  1556. };
  1557. larb13: larb@16001000 {
  1558. compatible = "mediatek,mt8195-smi-larb";
  1559. reg = <0 0x16001000 0 0x1000>;
  1560. mediatek,larb-id = <13>;
  1561. mediatek,smi = <&smi_sub_common_cam_4x1>;
  1562. clocks = <&camsys CLK_CAM_LARB13>,
  1563. <&camsys CLK_CAM_LARB13>,
  1564. <&camsys CLK_CAM_CAM2MM0_GALS>;
  1565. clock-names = "apb", "smi", "gals";
  1566. power-domains = <&spm MT8195_POWER_DOMAIN_CAM>;
  1567. };
  1568. larb14: larb@16002000 {
  1569. compatible = "mediatek,mt8195-smi-larb";
  1570. reg = <0 0x16002000 0 0x1000>;
  1571. mediatek,larb-id = <14>;
  1572. mediatek,smi = <&smi_sub_common_cam_7x1>;
  1573. clocks = <&camsys CLK_CAM_LARB14>,
  1574. <&camsys CLK_CAM_LARB14>;
  1575. clock-names = "apb", "smi";
  1576. power-domains = <&spm MT8195_POWER_DOMAIN_CAM>;
  1577. };
  1578. smi_sub_common_cam_4x1: smi@16004000 {
  1579. compatible = "mediatek,mt8195-smi-sub-common";
  1580. reg = <0 0x16004000 0 0x1000>;
  1581. clocks = <&camsys CLK_CAM_LARB13>,
  1582. <&camsys CLK_CAM_LARB13>,
  1583. <&camsys CLK_CAM_CAM2MM0_GALS>;
  1584. clock-names = "apb", "smi", "gals0";
  1585. mediatek,smi = <&smi_common_vdo>;
  1586. power-domains = <&spm MT8195_POWER_DOMAIN_CAM>;
  1587. };
  1588. smi_sub_common_cam_7x1: smi@16005000 {
  1589. compatible = "mediatek,mt8195-smi-sub-common";
  1590. reg = <0 0x16005000 0 0x1000>;
  1591. clocks = <&camsys CLK_CAM_LARB14>,
  1592. <&camsys CLK_CAM_CAM2MM1_GALS>,
  1593. <&vppsys0 CLK_VPP0_GALS_IMGSYS_CAMSYS>;
  1594. clock-names = "apb", "smi", "gals0";
  1595. mediatek,smi = <&smi_common_vpp>;
  1596. power-domains = <&spm MT8195_POWER_DOMAIN_CAM>;
  1597. };
  1598. larb16: larb@16012000 {
  1599. compatible = "mediatek,mt8195-smi-larb";
  1600. reg = <0 0x16012000 0 0x1000>;
  1601. mediatek,larb-id = <16>;
  1602. mediatek,smi = <&smi_sub_common_cam_7x1>;
  1603. clocks = <&camsys_rawa CLK_CAM_RAWA_LARBX>,
  1604. <&camsys_rawa CLK_CAM_RAWA_LARBX>;
  1605. clock-names = "apb", "smi";
  1606. power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWA>;
  1607. };
  1608. larb17: larb@16013000 {
  1609. compatible = "mediatek,mt8195-smi-larb";
  1610. reg = <0 0x16013000 0 0x1000>;
  1611. mediatek,larb-id = <17>;
  1612. mediatek,smi = <&smi_sub_common_cam_4x1>;
  1613. clocks = <&camsys_yuva CLK_CAM_YUVA_LARBX>,
  1614. <&camsys_yuva CLK_CAM_YUVA_LARBX>;
  1615. clock-names = "apb", "smi";
  1616. power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWA>;
  1617. };
  1618. larb27: larb@16014000 {
  1619. compatible = "mediatek,mt8195-smi-larb";
  1620. reg = <0 0x16014000 0 0x1000>;
  1621. mediatek,larb-id = <27>;
  1622. mediatek,smi = <&smi_sub_common_cam_7x1>;
  1623. clocks = <&camsys_rawb CLK_CAM_RAWB_LARBX>,
  1624. <&camsys_rawb CLK_CAM_RAWB_LARBX>;
  1625. clock-names = "apb", "smi";
  1626. power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWB>;
  1627. };
  1628. larb28: larb@16015000 {
  1629. compatible = "mediatek,mt8195-smi-larb";
  1630. reg = <0 0x16015000 0 0x1000>;
  1631. mediatek,larb-id = <28>;
  1632. mediatek,smi = <&smi_sub_common_cam_4x1>;
  1633. clocks = <&camsys_yuvb CLK_CAM_YUVB_LARBX>,
  1634. <&camsys_yuvb CLK_CAM_YUVB_LARBX>;
  1635. clock-names = "apb", "smi";
  1636. power-domains = <&spm MT8195_POWER_DOMAIN_CAM_RAWB>;
  1637. };
  1638. camsys_rawa: clock-controller@1604f000 {
  1639. compatible = "mediatek,mt8195-camsys_rawa";
  1640. reg = <0 0x1604f000 0 0x1000>;
  1641. #clock-cells = <1>;
  1642. };
  1643. camsys_yuva: clock-controller@1606f000 {
  1644. compatible = "mediatek,mt8195-camsys_yuva";
  1645. reg = <0 0x1606f000 0 0x1000>;
  1646. #clock-cells = <1>;
  1647. };
  1648. camsys_rawb: clock-controller@1608f000 {
  1649. compatible = "mediatek,mt8195-camsys_rawb";
  1650. reg = <0 0x1608f000 0 0x1000>;
  1651. #clock-cells = <1>;
  1652. };
  1653. camsys_yuvb: clock-controller@160af000 {
  1654. compatible = "mediatek,mt8195-camsys_yuvb";
  1655. reg = <0 0x160af000 0 0x1000>;
  1656. #clock-cells = <1>;
  1657. };
  1658. camsys_mraw: clock-controller@16140000 {
  1659. compatible = "mediatek,mt8195-camsys_mraw";
  1660. reg = <0 0x16140000 0 0x1000>;
  1661. #clock-cells = <1>;
  1662. };
  1663. larb25: larb@16141000 {
  1664. compatible = "mediatek,mt8195-smi-larb";
  1665. reg = <0 0x16141000 0 0x1000>;
  1666. mediatek,larb-id = <25>;
  1667. mediatek,smi = <&smi_sub_common_cam_4x1>;
  1668. clocks = <&camsys CLK_CAM_LARB13>,
  1669. <&camsys_mraw CLK_CAM_MRAW_LARBX>,
  1670. <&camsys CLK_CAM_CAM2MM0_GALS>;
  1671. clock-names = "apb", "smi", "gals";
  1672. power-domains = <&spm MT8195_POWER_DOMAIN_CAM_MRAW>;
  1673. };
  1674. larb26: larb@16142000 {
  1675. compatible = "mediatek,mt8195-smi-larb";
  1676. reg = <0 0x16142000 0 0x1000>;
  1677. mediatek,larb-id = <26>;
  1678. mediatek,smi = <&smi_sub_common_cam_7x1>;
  1679. clocks = <&camsys_mraw CLK_CAM_MRAW_LARBX>,
  1680. <&camsys_mraw CLK_CAM_MRAW_LARBX>;
  1681. clock-names = "apb", "smi";
  1682. power-domains = <&spm MT8195_POWER_DOMAIN_CAM_MRAW>;
  1683. };
  1684. ccusys: clock-controller@17200000 {
  1685. compatible = "mediatek,mt8195-ccusys";
  1686. reg = <0 0x17200000 0 0x1000>;
  1687. #clock-cells = <1>;
  1688. };
  1689. larb18: larb@17201000 {
  1690. compatible = "mediatek,mt8195-smi-larb";
  1691. reg = <0 0x17201000 0 0x1000>;
  1692. mediatek,larb-id = <18>;
  1693. mediatek,smi = <&smi_sub_common_cam_7x1>;
  1694. clocks = <&ccusys CLK_CCU_LARB18>,
  1695. <&ccusys CLK_CCU_LARB18>;
  1696. clock-names = "apb", "smi";
  1697. power-domains = <&spm MT8195_POWER_DOMAIN_CAM>;
  1698. };
  1699. larb24: larb@1800d000 {
  1700. compatible = "mediatek,mt8195-smi-larb";
  1701. reg = <0 0x1800d000 0 0x1000>;
  1702. mediatek,larb-id = <24>;
  1703. mediatek,smi = <&smi_common_vdo>;
  1704. clocks = <&vdecsys_soc CLK_VDEC_SOC_LARB1>,
  1705. <&vdecsys_soc CLK_VDEC_SOC_LARB1>;
  1706. clock-names = "apb", "smi";
  1707. power-domains = <&spm MT8195_POWER_DOMAIN_VDEC0>;
  1708. };
  1709. larb23: larb@1800e000 {
  1710. compatible = "mediatek,mt8195-smi-larb";
  1711. reg = <0 0x1800e000 0 0x1000>;
  1712. mediatek,larb-id = <23>;
  1713. mediatek,smi = <&smi_sub_common_vdec_vpp0_2x1>;
  1714. clocks = <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>,
  1715. <&vdecsys_soc CLK_VDEC_SOC_LARB1>;
  1716. clock-names = "apb", "smi";
  1717. power-domains = <&spm MT8195_POWER_DOMAIN_VDEC0>;
  1718. };
  1719. vdecsys_soc: clock-controller@1800f000 {
  1720. compatible = "mediatek,mt8195-vdecsys_soc";
  1721. reg = <0 0x1800f000 0 0x1000>;
  1722. #clock-cells = <1>;
  1723. };
  1724. larb21: larb@1802e000 {
  1725. compatible = "mediatek,mt8195-smi-larb";
  1726. reg = <0 0x1802e000 0 0x1000>;
  1727. mediatek,larb-id = <21>;
  1728. mediatek,smi = <&smi_common_vdo>;
  1729. clocks = <&vdecsys CLK_VDEC_LARB1>,
  1730. <&vdecsys CLK_VDEC_LARB1>;
  1731. clock-names = "apb", "smi";
  1732. power-domains = <&spm MT8195_POWER_DOMAIN_VDEC1>;
  1733. };
  1734. vdecsys: clock-controller@1802f000 {
  1735. compatible = "mediatek,mt8195-vdecsys";
  1736. reg = <0 0x1802f000 0 0x1000>;
  1737. #clock-cells = <1>;
  1738. };
  1739. larb22: larb@1803e000 {
  1740. compatible = "mediatek,mt8195-smi-larb";
  1741. reg = <0 0x1803e000 0 0x1000>;
  1742. mediatek,larb-id = <22>;
  1743. mediatek,smi = <&smi_sub_common_vdec_vpp0_2x1>;
  1744. clocks = <&vppsys0 CLK_VPP0_GALS_VDEC_VDEC_CORE1>,
  1745. <&vdecsys_core1 CLK_VDEC_CORE1_LARB1>;
  1746. clock-names = "apb", "smi";
  1747. power-domains = <&spm MT8195_POWER_DOMAIN_VDEC2>;
  1748. };
  1749. vdecsys_core1: clock-controller@1803f000 {
  1750. compatible = "mediatek,mt8195-vdecsys_core1";
  1751. reg = <0 0x1803f000 0 0x1000>;
  1752. #clock-cells = <1>;
  1753. };
  1754. apusys_pll: clock-controller@190f3000 {
  1755. compatible = "mediatek,mt8195-apusys_pll";
  1756. reg = <0 0x190f3000 0 0x1000>;
  1757. #clock-cells = <1>;
  1758. };
  1759. vencsys: clock-controller@1a000000 {
  1760. compatible = "mediatek,mt8195-vencsys";
  1761. reg = <0 0x1a000000 0 0x1000>;
  1762. #clock-cells = <1>;
  1763. };
  1764. larb19: larb@1a010000 {
  1765. compatible = "mediatek,mt8195-smi-larb";
  1766. reg = <0 0x1a010000 0 0x1000>;
  1767. mediatek,larb-id = <19>;
  1768. mediatek,smi = <&smi_common_vdo>;
  1769. clocks = <&vencsys CLK_VENC_VENC>,
  1770. <&vencsys CLK_VENC_GALS>;
  1771. clock-names = "apb", "smi";
  1772. power-domains = <&spm MT8195_POWER_DOMAIN_VENC>;
  1773. };
  1774. vencsys_core1: clock-controller@1b000000 {
  1775. compatible = "mediatek,mt8195-vencsys_core1";
  1776. reg = <0 0x1b000000 0 0x1000>;
  1777. #clock-cells = <1>;
  1778. };
  1779. vdosys0: syscon@1c01a000 {
  1780. compatible = "mediatek,mt8195-vdosys0", "mediatek,mt8195-mmsys", "syscon";
  1781. reg = <0 0x1c01a000 0 0x1000>;
  1782. mboxes = <&gce0 0 CMDQ_THR_PRIO_4>;
  1783. #clock-cells = <1>;
  1784. };
  1785. larb20: larb@1b010000 {
  1786. compatible = "mediatek,mt8195-smi-larb";
  1787. reg = <0 0x1b010000 0 0x1000>;
  1788. mediatek,larb-id = <20>;
  1789. mediatek,smi = <&smi_common_vpp>;
  1790. clocks = <&vencsys_core1 CLK_VENC_CORE1_VENC>,
  1791. <&vencsys_core1 CLK_VENC_CORE1_GALS>,
  1792. <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>;
  1793. clock-names = "apb", "smi", "gals";
  1794. power-domains = <&spm MT8195_POWER_DOMAIN_VENC_CORE1>;
  1795. };
  1796. ovl0: ovl@1c000000 {
  1797. compatible = "mediatek,mt8195-disp-ovl", "mediatek,mt8183-disp-ovl";
  1798. reg = <0 0x1c000000 0 0x1000>;
  1799. interrupts = <GIC_SPI 636 IRQ_TYPE_LEVEL_HIGH 0>;
  1800. power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
  1801. clocks = <&vdosys0 CLK_VDO0_DISP_OVL0>;
  1802. iommus = <&iommu_vdo M4U_PORT_L0_DISP_OVL0_RDMA0>;
  1803. mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x0000 0x1000>;
  1804. };
  1805. rdma0: rdma@1c002000 {
  1806. compatible = "mediatek,mt8195-disp-rdma";
  1807. reg = <0 0x1c002000 0 0x1000>;
  1808. interrupts = <GIC_SPI 638 IRQ_TYPE_LEVEL_HIGH 0>;
  1809. power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
  1810. clocks = <&vdosys0 CLK_VDO0_DISP_RDMA0>;
  1811. iommus = <&iommu_vdo M4U_PORT_L0_DISP_RDMA0>;
  1812. mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x2000 0x1000>;
  1813. };
  1814. color0: color@1c003000 {
  1815. compatible = "mediatek,mt8195-disp-color", "mediatek,mt8173-disp-color";
  1816. reg = <0 0x1c003000 0 0x1000>;
  1817. interrupts = <GIC_SPI 639 IRQ_TYPE_LEVEL_HIGH 0>;
  1818. power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
  1819. clocks = <&vdosys0 CLK_VDO0_DISP_COLOR0>;
  1820. mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x3000 0x1000>;
  1821. };
  1822. ccorr0: ccorr@1c004000 {
  1823. compatible = "mediatek,mt8195-disp-ccorr", "mediatek,mt8192-disp-ccorr";
  1824. reg = <0 0x1c004000 0 0x1000>;
  1825. interrupts = <GIC_SPI 640 IRQ_TYPE_LEVEL_HIGH 0>;
  1826. power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
  1827. clocks = <&vdosys0 CLK_VDO0_DISP_CCORR0>;
  1828. mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x4000 0x1000>;
  1829. };
  1830. aal0: aal@1c005000 {
  1831. compatible = "mediatek,mt8195-disp-aal", "mediatek,mt8183-disp-aal";
  1832. reg = <0 0x1c005000 0 0x1000>;
  1833. interrupts = <GIC_SPI 641 IRQ_TYPE_LEVEL_HIGH 0>;
  1834. power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
  1835. clocks = <&vdosys0 CLK_VDO0_DISP_AAL0>;
  1836. mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x5000 0x1000>;
  1837. };
  1838. gamma0: gamma@1c006000 {
  1839. compatible = "mediatek,mt8195-disp-gamma", "mediatek,mt8183-disp-gamma";
  1840. reg = <0 0x1c006000 0 0x1000>;
  1841. interrupts = <GIC_SPI 642 IRQ_TYPE_LEVEL_HIGH 0>;
  1842. power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
  1843. clocks = <&vdosys0 CLK_VDO0_DISP_GAMMA0>;
  1844. mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x6000 0x1000>;
  1845. };
  1846. dither0: dither@1c007000 {
  1847. compatible = "mediatek,mt8195-disp-dither", "mediatek,mt8183-disp-dither";
  1848. reg = <0 0x1c007000 0 0x1000>;
  1849. interrupts = <GIC_SPI 643 IRQ_TYPE_LEVEL_HIGH 0>;
  1850. power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
  1851. clocks = <&vdosys0 CLK_VDO0_DISP_DITHER0>;
  1852. mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x7000 0x1000>;
  1853. };
  1854. dsc0: dsc@1c009000 {
  1855. compatible = "mediatek,mt8195-disp-dsc";
  1856. reg = <0 0x1c009000 0 0x1000>;
  1857. interrupts = <GIC_SPI 645 IRQ_TYPE_LEVEL_HIGH 0>;
  1858. power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
  1859. clocks = <&vdosys0 CLK_VDO0_DSC_WRAP0>;
  1860. mediatek,gce-client-reg = <&gce0 SUBSYS_1c00XXXX 0x9000 0x1000>;
  1861. };
  1862. merge0: merge@1c014000 {
  1863. compatible = "mediatek,mt8195-disp-merge";
  1864. reg = <0 0x1c014000 0 0x1000>;
  1865. interrupts = <GIC_SPI 656 IRQ_TYPE_LEVEL_HIGH 0>;
  1866. power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
  1867. clocks = <&vdosys0 CLK_VDO0_VPP_MERGE0>;
  1868. mediatek,gce-client-reg = <&gce0 SUBSYS_1c01XXXX 0x4000 0x1000>;
  1869. };
  1870. mutex: mutex@1c016000 {
  1871. compatible = "mediatek,mt8195-disp-mutex";
  1872. reg = <0 0x1c016000 0 0x1000>;
  1873. interrupts = <GIC_SPI 658 IRQ_TYPE_LEVEL_HIGH 0>;
  1874. power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
  1875. clocks = <&vdosys0 CLK_VDO0_DISP_MUTEX0>;
  1876. mediatek,gce-events = <CMDQ_EVENT_VDO0_DISP_STREAM_DONE_0>;
  1877. };
  1878. larb0: larb@1c018000 {
  1879. compatible = "mediatek,mt8195-smi-larb";
  1880. reg = <0 0x1c018000 0 0x1000>;
  1881. mediatek,larb-id = <0>;
  1882. mediatek,smi = <&smi_common_vdo>;
  1883. clocks = <&vdosys0 CLK_VDO0_SMI_LARB>,
  1884. <&vdosys0 CLK_VDO0_SMI_LARB>,
  1885. <&vppsys0 CLK_VPP0_GALS_VDO0_LARB0>;
  1886. clock-names = "apb", "smi", "gals";
  1887. power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
  1888. };
  1889. larb1: larb@1c019000 {
  1890. compatible = "mediatek,mt8195-smi-larb";
  1891. reg = <0 0x1c019000 0 0x1000>;
  1892. mediatek,larb-id = <1>;
  1893. mediatek,smi = <&smi_common_vpp>;
  1894. clocks = <&vdosys0 CLK_VDO0_SMI_LARB>,
  1895. <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>,
  1896. <&vppsys0 CLK_VPP0_GALS_VDO0_LARB1>;
  1897. clock-names = "apb", "smi", "gals";
  1898. power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
  1899. };
  1900. vdosys1: syscon@1c100000 {
  1901. compatible = "mediatek,mt8195-vdosys1", "syscon";
  1902. reg = <0 0x1c100000 0 0x1000>;
  1903. #clock-cells = <1>;
  1904. };
  1905. smi_common_vdo: smi@1c01b000 {
  1906. compatible = "mediatek,mt8195-smi-common-vdo";
  1907. reg = <0 0x1c01b000 0 0x1000>;
  1908. clocks = <&vdosys0 CLK_VDO0_SMI_COMMON>,
  1909. <&vdosys0 CLK_VDO0_SMI_EMI>,
  1910. <&vdosys0 CLK_VDO0_SMI_RSI>,
  1911. <&vdosys0 CLK_VDO0_SMI_GALS>;
  1912. clock-names = "apb", "smi", "gals0", "gals1";
  1913. power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
  1914. };
  1915. iommu_vdo: iommu@1c01f000 {
  1916. compatible = "mediatek,mt8195-iommu-vdo";
  1917. reg = <0 0x1c01f000 0 0x1000>;
  1918. mediatek,larbs = <&larb0 &larb2 &larb5 &larb7 &larb9
  1919. &larb10 &larb11 &larb13 &larb17
  1920. &larb19 &larb21 &larb24 &larb25
  1921. &larb28>;
  1922. interrupts = <GIC_SPI 669 IRQ_TYPE_LEVEL_HIGH 0>;
  1923. #iommu-cells = <1>;
  1924. clocks = <&vdosys0 CLK_VDO0_SMI_IOMMU>;
  1925. clock-names = "bclk";
  1926. power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
  1927. };
  1928. larb2: larb@1c102000 {
  1929. compatible = "mediatek,mt8195-smi-larb";
  1930. reg = <0 0x1c102000 0 0x1000>;
  1931. mediatek,larb-id = <2>;
  1932. mediatek,smi = <&smi_common_vdo>;
  1933. clocks = <&vdosys1 CLK_VDO1_SMI_LARB2>,
  1934. <&vdosys1 CLK_VDO1_SMI_LARB2>,
  1935. <&vdosys1 CLK_VDO1_GALS>;
  1936. clock-names = "apb", "smi", "gals";
  1937. power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
  1938. };
  1939. larb3: larb@1c103000 {
  1940. compatible = "mediatek,mt8195-smi-larb";
  1941. reg = <0 0x1c103000 0 0x1000>;
  1942. mediatek,larb-id = <3>;
  1943. mediatek,smi = <&smi_common_vpp>;
  1944. clocks = <&vdosys1 CLK_VDO1_SMI_LARB3>,
  1945. <&vdosys1 CLK_VDO1_GALS>,
  1946. <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>;
  1947. clock-names = "apb", "smi", "gals";
  1948. power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>;
  1949. };
  1950. };
  1951. };