mt8192.dtsi 48 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671
  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. / {
  17. compatible = "mediatek,mt8192";
  18. interrupt-parent = <&gic>;
  19. #address-cells = <2>;
  20. #size-cells = <2>;
  21. aliases {
  22. ovl0 = &ovl0;
  23. ovl-2l0 = &ovl_2l0;
  24. ovl-2l2 = &ovl_2l2;
  25. rdma0 = &rdma0;
  26. rdma4 = &rdma4;
  27. };
  28. clk13m: fixed-factor-clock-13m {
  29. compatible = "fixed-factor-clock";
  30. #clock-cells = <0>;
  31. clocks = <&clk26m>;
  32. clock-div = <2>;
  33. clock-mult = <1>;
  34. clock-output-names = "clk13m";
  35. };
  36. clk26m: oscillator0 {
  37. compatible = "fixed-clock";
  38. #clock-cells = <0>;
  39. clock-frequency = <26000000>;
  40. clock-output-names = "clk26m";
  41. };
  42. clk32k: oscillator1 {
  43. compatible = "fixed-clock";
  44. #clock-cells = <0>;
  45. clock-frequency = <32768>;
  46. clock-output-names = "clk32k";
  47. };
  48. cpus {
  49. #address-cells = <1>;
  50. #size-cells = <0>;
  51. cpu0: cpu@0 {
  52. device_type = "cpu";
  53. compatible = "arm,cortex-a55";
  54. reg = <0x000>;
  55. enable-method = "psci";
  56. clock-frequency = <1701000000>;
  57. cpu-idle-states = <&cpu_sleep_l &cluster_sleep_l>;
  58. next-level-cache = <&l2_0>;
  59. performance-domains = <&performance 0>;
  60. capacity-dmips-mhz = <427>;
  61. };
  62. cpu1: cpu@100 {
  63. device_type = "cpu";
  64. compatible = "arm,cortex-a55";
  65. reg = <0x100>;
  66. enable-method = "psci";
  67. clock-frequency = <1701000000>;
  68. cpu-idle-states = <&cpu_sleep_l &cluster_sleep_l>;
  69. next-level-cache = <&l2_0>;
  70. performance-domains = <&performance 0>;
  71. capacity-dmips-mhz = <427>;
  72. };
  73. cpu2: cpu@200 {
  74. device_type = "cpu";
  75. compatible = "arm,cortex-a55";
  76. reg = <0x200>;
  77. enable-method = "psci";
  78. clock-frequency = <1701000000>;
  79. cpu-idle-states = <&cpu_sleep_l &cluster_sleep_l>;
  80. next-level-cache = <&l2_0>;
  81. performance-domains = <&performance 0>;
  82. capacity-dmips-mhz = <427>;
  83. };
  84. cpu3: cpu@300 {
  85. device_type = "cpu";
  86. compatible = "arm,cortex-a55";
  87. reg = <0x300>;
  88. enable-method = "psci";
  89. clock-frequency = <1701000000>;
  90. cpu-idle-states = <&cpu_sleep_l &cluster_sleep_l>;
  91. next-level-cache = <&l2_0>;
  92. performance-domains = <&performance 0>;
  93. capacity-dmips-mhz = <427>;
  94. };
  95. cpu4: cpu@400 {
  96. device_type = "cpu";
  97. compatible = "arm,cortex-a76";
  98. reg = <0x400>;
  99. enable-method = "psci";
  100. clock-frequency = <2171000000>;
  101. cpu-idle-states = <&cpu_sleep_b &cluster_sleep_b>;
  102. next-level-cache = <&l2_1>;
  103. performance-domains = <&performance 1>;
  104. capacity-dmips-mhz = <1024>;
  105. };
  106. cpu5: cpu@500 {
  107. device_type = "cpu";
  108. compatible = "arm,cortex-a76";
  109. reg = <0x500>;
  110. enable-method = "psci";
  111. clock-frequency = <2171000000>;
  112. cpu-idle-states = <&cpu_sleep_b &cluster_sleep_b>;
  113. next-level-cache = <&l2_1>;
  114. performance-domains = <&performance 1>;
  115. capacity-dmips-mhz = <1024>;
  116. };
  117. cpu6: cpu@600 {
  118. device_type = "cpu";
  119. compatible = "arm,cortex-a76";
  120. reg = <0x600>;
  121. enable-method = "psci";
  122. clock-frequency = <2171000000>;
  123. cpu-idle-states = <&cpu_sleep_b &cluster_sleep_b>;
  124. next-level-cache = <&l2_1>;
  125. performance-domains = <&performance 1>;
  126. capacity-dmips-mhz = <1024>;
  127. };
  128. cpu7: cpu@700 {
  129. device_type = "cpu";
  130. compatible = "arm,cortex-a76";
  131. reg = <0x700>;
  132. enable-method = "psci";
  133. clock-frequency = <2171000000>;
  134. cpu-idle-states = <&cpu_sleep_b &cluster_sleep_b>;
  135. next-level-cache = <&l2_1>;
  136. performance-domains = <&performance 1>;
  137. capacity-dmips-mhz = <1024>;
  138. };
  139. cpu-map {
  140. cluster0 {
  141. core0 {
  142. cpu = <&cpu0>;
  143. };
  144. core1 {
  145. cpu = <&cpu1>;
  146. };
  147. core2 {
  148. cpu = <&cpu2>;
  149. };
  150. core3 {
  151. cpu = <&cpu3>;
  152. };
  153. core4 {
  154. cpu = <&cpu4>;
  155. };
  156. core5 {
  157. cpu = <&cpu5>;
  158. };
  159. core6 {
  160. cpu = <&cpu6>;
  161. };
  162. core7 {
  163. cpu = <&cpu7>;
  164. };
  165. };
  166. };
  167. l2_0: l2-cache0 {
  168. compatible = "cache";
  169. next-level-cache = <&l3_0>;
  170. };
  171. l2_1: l2-cache1 {
  172. compatible = "cache";
  173. next-level-cache = <&l3_0>;
  174. };
  175. l3_0: l3-cache {
  176. compatible = "cache";
  177. };
  178. idle-states {
  179. entry-method = "psci";
  180. cpu_sleep_l: cpu-sleep-l {
  181. compatible = "arm,idle-state";
  182. arm,psci-suspend-param = <0x00010001>;
  183. local-timer-stop;
  184. entry-latency-us = <55>;
  185. exit-latency-us = <140>;
  186. min-residency-us = <780>;
  187. };
  188. cpu_sleep_b: cpu-sleep-b {
  189. compatible = "arm,idle-state";
  190. arm,psci-suspend-param = <0x00010001>;
  191. local-timer-stop;
  192. entry-latency-us = <35>;
  193. exit-latency-us = <145>;
  194. min-residency-us = <720>;
  195. };
  196. cluster_sleep_l: cluster-sleep-l {
  197. compatible = "arm,idle-state";
  198. arm,psci-suspend-param = <0x01010002>;
  199. local-timer-stop;
  200. entry-latency-us = <60>;
  201. exit-latency-us = <155>;
  202. min-residency-us = <860>;
  203. };
  204. cluster_sleep_b: cluster-sleep-b {
  205. compatible = "arm,idle-state";
  206. arm,psci-suspend-param = <0x01010002>;
  207. local-timer-stop;
  208. entry-latency-us = <40>;
  209. exit-latency-us = <155>;
  210. min-residency-us = <780>;
  211. };
  212. };
  213. };
  214. pmu-a55 {
  215. compatible = "arm,cortex-a55-pmu";
  216. interrupt-parent = <&gic>;
  217. interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster0>;
  218. };
  219. pmu-a76 {
  220. compatible = "arm,cortex-a76-pmu";
  221. interrupt-parent = <&gic>;
  222. interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster1>;
  223. };
  224. psci {
  225. compatible = "arm,psci-1.0";
  226. method = "smc";
  227. };
  228. timer: timer {
  229. compatible = "arm,armv8-timer";
  230. interrupt-parent = <&gic>;
  231. interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH 0>,
  232. <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH 0>,
  233. <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH 0>,
  234. <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH 0>;
  235. clock-frequency = <13000000>;
  236. };
  237. soc {
  238. #address-cells = <2>;
  239. #size-cells = <2>;
  240. compatible = "simple-bus";
  241. ranges;
  242. performance: performance-controller@11bc10 {
  243. compatible = "mediatek,cpufreq-hw";
  244. reg = <0 0x0011bc10 0 0x120>, <0 0x0011bd30 0 0x120>;
  245. #performance-domain-cells = <1>;
  246. };
  247. gic: interrupt-controller@c000000 {
  248. compatible = "arm,gic-v3";
  249. #interrupt-cells = <4>;
  250. #redistributor-regions = <1>;
  251. interrupt-parent = <&gic>;
  252. interrupt-controller;
  253. reg = <0 0x0c000000 0 0x40000>,
  254. <0 0x0c040000 0 0x200000>;
  255. interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
  256. ppi-partitions {
  257. ppi_cluster0: interrupt-partition-0 {
  258. affinity = <&cpu0 &cpu1 &cpu2 &cpu3>;
  259. };
  260. ppi_cluster1: interrupt-partition-1 {
  261. affinity = <&cpu4 &cpu5 &cpu6 &cpu7>;
  262. };
  263. };
  264. };
  265. topckgen: syscon@10000000 {
  266. compatible = "mediatek,mt8192-topckgen", "syscon";
  267. reg = <0 0x10000000 0 0x1000>;
  268. #clock-cells = <1>;
  269. };
  270. infracfg: syscon@10001000 {
  271. compatible = "mediatek,mt8192-infracfg", "syscon";
  272. reg = <0 0x10001000 0 0x1000>;
  273. #clock-cells = <1>;
  274. #reset-cells = <1>;
  275. };
  276. pericfg: syscon@10003000 {
  277. compatible = "mediatek,mt8192-pericfg", "syscon";
  278. reg = <0 0x10003000 0 0x1000>;
  279. #clock-cells = <1>;
  280. };
  281. pio: pinctrl@10005000 {
  282. compatible = "mediatek,mt8192-pinctrl";
  283. reg = <0 0x10005000 0 0x1000>,
  284. <0 0x11c20000 0 0x1000>,
  285. <0 0x11d10000 0 0x1000>,
  286. <0 0x11d30000 0 0x1000>,
  287. <0 0x11d40000 0 0x1000>,
  288. <0 0x11e20000 0 0x1000>,
  289. <0 0x11e70000 0 0x1000>,
  290. <0 0x11ea0000 0 0x1000>,
  291. <0 0x11f20000 0 0x1000>,
  292. <0 0x11f30000 0 0x1000>,
  293. <0 0x1000b000 0 0x1000>;
  294. reg-names = "iocfg0", "iocfg_rm", "iocfg_bm",
  295. "iocfg_bl", "iocfg_br", "iocfg_lm",
  296. "iocfg_lb", "iocfg_rt", "iocfg_lt",
  297. "iocfg_tl", "eint";
  298. gpio-controller;
  299. #gpio-cells = <2>;
  300. gpio-ranges = <&pio 0 0 220>;
  301. interrupt-controller;
  302. interrupts = <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH 0>;
  303. #interrupt-cells = <2>;
  304. };
  305. scpsys: syscon@10006000 {
  306. compatible = "mediatek,mt8192-scpsys", "syscon", "simple-mfd";
  307. reg = <0 0x10006000 0 0x1000>;
  308. /* System Power Manager */
  309. spm: power-controller {
  310. compatible = "mediatek,mt8192-power-controller";
  311. #address-cells = <1>;
  312. #size-cells = <0>;
  313. #power-domain-cells = <1>;
  314. /* power domain of the SoC */
  315. power-domain@MT8192_POWER_DOMAIN_AUDIO {
  316. reg = <MT8192_POWER_DOMAIN_AUDIO>;
  317. clocks = <&topckgen CLK_TOP_AUD_INTBUS_SEL>,
  318. <&infracfg CLK_INFRA_AUDIO_26M_B>,
  319. <&infracfg CLK_INFRA_AUDIO>;
  320. clock-names = "audio", "audio1", "audio2";
  321. mediatek,infracfg = <&infracfg>;
  322. #power-domain-cells = <0>;
  323. };
  324. power-domain@MT8192_POWER_DOMAIN_CONN {
  325. reg = <MT8192_POWER_DOMAIN_CONN>;
  326. clocks = <&infracfg CLK_INFRA_PMIC_CONN>;
  327. clock-names = "conn";
  328. mediatek,infracfg = <&infracfg>;
  329. #power-domain-cells = <0>;
  330. };
  331. power-domain@MT8192_POWER_DOMAIN_MFG0 {
  332. reg = <MT8192_POWER_DOMAIN_MFG0>;
  333. clocks = <&topckgen CLK_TOP_MFG_PLL_SEL>;
  334. clock-names = "mfg";
  335. #address-cells = <1>;
  336. #size-cells = <0>;
  337. #power-domain-cells = <1>;
  338. power-domain@MT8192_POWER_DOMAIN_MFG1 {
  339. reg = <MT8192_POWER_DOMAIN_MFG1>;
  340. mediatek,infracfg = <&infracfg>;
  341. #address-cells = <1>;
  342. #size-cells = <0>;
  343. #power-domain-cells = <1>;
  344. power-domain@MT8192_POWER_DOMAIN_MFG2 {
  345. reg = <MT8192_POWER_DOMAIN_MFG2>;
  346. #power-domain-cells = <0>;
  347. };
  348. power-domain@MT8192_POWER_DOMAIN_MFG3 {
  349. reg = <MT8192_POWER_DOMAIN_MFG3>;
  350. #power-domain-cells = <0>;
  351. };
  352. power-domain@MT8192_POWER_DOMAIN_MFG4 {
  353. reg = <MT8192_POWER_DOMAIN_MFG4>;
  354. #power-domain-cells = <0>;
  355. };
  356. power-domain@MT8192_POWER_DOMAIN_MFG5 {
  357. reg = <MT8192_POWER_DOMAIN_MFG5>;
  358. #power-domain-cells = <0>;
  359. };
  360. power-domain@MT8192_POWER_DOMAIN_MFG6 {
  361. reg = <MT8192_POWER_DOMAIN_MFG6>;
  362. #power-domain-cells = <0>;
  363. };
  364. };
  365. };
  366. power-domain@MT8192_POWER_DOMAIN_DISP {
  367. reg = <MT8192_POWER_DOMAIN_DISP>;
  368. clocks = <&topckgen CLK_TOP_DISP_SEL>,
  369. <&mmsys CLK_MM_SMI_INFRA>,
  370. <&mmsys CLK_MM_SMI_COMMON>,
  371. <&mmsys CLK_MM_SMI_GALS>,
  372. <&mmsys CLK_MM_SMI_IOMMU>;
  373. clock-names = "disp", "disp-0", "disp-1", "disp-2",
  374. "disp-3";
  375. mediatek,infracfg = <&infracfg>;
  376. #address-cells = <1>;
  377. #size-cells = <0>;
  378. #power-domain-cells = <1>;
  379. power-domain@MT8192_POWER_DOMAIN_IPE {
  380. reg = <MT8192_POWER_DOMAIN_IPE>;
  381. clocks = <&topckgen CLK_TOP_IPE_SEL>,
  382. <&ipesys CLK_IPE_LARB19>,
  383. <&ipesys CLK_IPE_LARB20>,
  384. <&ipesys CLK_IPE_SMI_SUBCOM>,
  385. <&ipesys CLK_IPE_GALS>;
  386. clock-names = "ipe", "ipe-0", "ipe-1", "ipe-2",
  387. "ipe-3";
  388. mediatek,infracfg = <&infracfg>;
  389. #power-domain-cells = <0>;
  390. };
  391. power-domain@MT8192_POWER_DOMAIN_ISP {
  392. reg = <MT8192_POWER_DOMAIN_ISP>;
  393. clocks = <&topckgen CLK_TOP_IMG1_SEL>,
  394. <&imgsys CLK_IMG_LARB9>,
  395. <&imgsys CLK_IMG_GALS>;
  396. clock-names = "isp", "isp-0", "isp-1";
  397. mediatek,infracfg = <&infracfg>;
  398. #power-domain-cells = <0>;
  399. };
  400. power-domain@MT8192_POWER_DOMAIN_ISP2 {
  401. reg = <MT8192_POWER_DOMAIN_ISP2>;
  402. clocks = <&topckgen CLK_TOP_IMG2_SEL>,
  403. <&imgsys2 CLK_IMG2_LARB11>,
  404. <&imgsys2 CLK_IMG2_GALS>;
  405. clock-names = "isp2", "isp2-0", "isp2-1";
  406. mediatek,infracfg = <&infracfg>;
  407. #power-domain-cells = <0>;
  408. };
  409. power-domain@MT8192_POWER_DOMAIN_MDP {
  410. reg = <MT8192_POWER_DOMAIN_MDP>;
  411. clocks = <&topckgen CLK_TOP_MDP_SEL>,
  412. <&mdpsys CLK_MDP_SMI0>;
  413. clock-names = "mdp", "mdp-0";
  414. mediatek,infracfg = <&infracfg>;
  415. #power-domain-cells = <0>;
  416. };
  417. power-domain@MT8192_POWER_DOMAIN_VENC {
  418. reg = <MT8192_POWER_DOMAIN_VENC>;
  419. clocks = <&topckgen CLK_TOP_VENC_SEL>,
  420. <&vencsys CLK_VENC_SET1_VENC>;
  421. clock-names = "venc", "venc-0";
  422. mediatek,infracfg = <&infracfg>;
  423. #power-domain-cells = <0>;
  424. };
  425. power-domain@MT8192_POWER_DOMAIN_VDEC {
  426. reg = <MT8192_POWER_DOMAIN_VDEC>;
  427. clocks = <&topckgen CLK_TOP_VDEC_SEL>,
  428. <&vdecsys_soc CLK_VDEC_SOC_VDEC>,
  429. <&vdecsys_soc CLK_VDEC_SOC_LAT>,
  430. <&vdecsys_soc CLK_VDEC_SOC_LARB1>;
  431. clock-names = "vdec", "vdec-0", "vdec-1", "vdec-2";
  432. mediatek,infracfg = <&infracfg>;
  433. #address-cells = <1>;
  434. #size-cells = <0>;
  435. #power-domain-cells = <1>;
  436. power-domain@MT8192_POWER_DOMAIN_VDEC2 {
  437. reg = <MT8192_POWER_DOMAIN_VDEC2>;
  438. clocks = <&vdecsys CLK_VDEC_VDEC>,
  439. <&vdecsys CLK_VDEC_LAT>,
  440. <&vdecsys CLK_VDEC_LARB1>;
  441. clock-names = "vdec2-0", "vdec2-1",
  442. "vdec2-2";
  443. #power-domain-cells = <0>;
  444. };
  445. };
  446. power-domain@MT8192_POWER_DOMAIN_CAM {
  447. reg = <MT8192_POWER_DOMAIN_CAM>;
  448. clocks = <&topckgen CLK_TOP_CAM_SEL>,
  449. <&camsys CLK_CAM_LARB13>,
  450. <&camsys CLK_CAM_LARB14>,
  451. <&camsys CLK_CAM_CCU_GALS>,
  452. <&camsys CLK_CAM_CAM2MM_GALS>;
  453. clock-names = "cam", "cam-0", "cam-1", "cam-2",
  454. "cam-3";
  455. mediatek,infracfg = <&infracfg>;
  456. #address-cells = <1>;
  457. #size-cells = <0>;
  458. #power-domain-cells = <1>;
  459. power-domain@MT8192_POWER_DOMAIN_CAM_RAWA {
  460. reg = <MT8192_POWER_DOMAIN_CAM_RAWA>;
  461. clocks = <&camsys_rawa CLK_CAM_RAWA_LARBX>;
  462. clock-names = "cam_rawa-0";
  463. #power-domain-cells = <0>;
  464. };
  465. power-domain@MT8192_POWER_DOMAIN_CAM_RAWB {
  466. reg = <MT8192_POWER_DOMAIN_CAM_RAWB>;
  467. clocks = <&camsys_rawb CLK_CAM_RAWB_LARBX>;
  468. clock-names = "cam_rawb-0";
  469. #power-domain-cells = <0>;
  470. };
  471. power-domain@MT8192_POWER_DOMAIN_CAM_RAWC {
  472. reg = <MT8192_POWER_DOMAIN_CAM_RAWC>;
  473. clocks = <&camsys_rawc CLK_CAM_RAWC_LARBX>;
  474. clock-names = "cam_rawc-0";
  475. #power-domain-cells = <0>;
  476. };
  477. };
  478. };
  479. };
  480. };
  481. watchdog: watchdog@10007000 {
  482. compatible = "mediatek,mt8192-wdt";
  483. reg = <0 0x10007000 0 0x100>;
  484. #reset-cells = <1>;
  485. };
  486. apmixedsys: syscon@1000c000 {
  487. compatible = "mediatek,mt8192-apmixedsys", "syscon";
  488. reg = <0 0x1000c000 0 0x1000>;
  489. #clock-cells = <1>;
  490. };
  491. systimer: timer@10017000 {
  492. compatible = "mediatek,mt8192-timer",
  493. "mediatek,mt6765-timer";
  494. reg = <0 0x10017000 0 0x1000>;
  495. interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH 0>;
  496. clocks = <&clk13m>;
  497. };
  498. pwrap: pwrap@10026000 {
  499. compatible = "mediatek,mt6873-pwrap";
  500. reg = <0 0x10026000 0 0x1000>;
  501. reg-names = "pwrap";
  502. interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH 0>;
  503. clocks = <&infracfg CLK_INFRA_PMIC_AP>,
  504. <&infracfg CLK_INFRA_PMIC_TMR>;
  505. clock-names = "spi", "wrap";
  506. assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC_SEL>;
  507. assigned-clock-parents = <&topckgen CLK_TOP_OSC_D10>;
  508. };
  509. spmi: spmi@10027000 {
  510. compatible = "mediatek,mt6873-spmi";
  511. reg = <0 0x10027000 0 0x000e00>,
  512. <0 0x10029000 0 0x000100>;
  513. reg-names = "pmif", "spmimst";
  514. clocks = <&infracfg CLK_INFRA_PMIC_AP>,
  515. <&infracfg CLK_INFRA_PMIC_TMR>,
  516. <&topckgen CLK_TOP_SPMI_MST_SEL>;
  517. clock-names = "pmif_sys_ck",
  518. "pmif_tmr_ck",
  519. "spmimst_clk_mux";
  520. assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC_SEL>;
  521. assigned-clock-parents = <&topckgen CLK_TOP_OSC_D10>;
  522. };
  523. gce: mailbox@10228000 {
  524. compatible = "mediatek,mt8192-gce";
  525. reg = <0 0x10228000 0 0x4000>;
  526. interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH 0>;
  527. #mbox-cells = <2>;
  528. clocks = <&infracfg CLK_INFRA_GCE>;
  529. clock-names = "gce";
  530. };
  531. scp_adsp: clock-controller@10720000 {
  532. compatible = "mediatek,mt8192-scp_adsp";
  533. reg = <0 0x10720000 0 0x1000>;
  534. #clock-cells = <1>;
  535. /* power domain dependency not upstreamed */
  536. status = "fail";
  537. };
  538. uart0: serial@11002000 {
  539. compatible = "mediatek,mt8192-uart",
  540. "mediatek,mt6577-uart";
  541. reg = <0 0x11002000 0 0x1000>;
  542. interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH 0>;
  543. clocks = <&clk26m>, <&infracfg CLK_INFRA_UART0>;
  544. clock-names = "baud", "bus";
  545. status = "disabled";
  546. };
  547. uart1: serial@11003000 {
  548. compatible = "mediatek,mt8192-uart",
  549. "mediatek,mt6577-uart";
  550. reg = <0 0x11003000 0 0x1000>;
  551. interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH 0>;
  552. clocks = <&clk26m>, <&infracfg CLK_INFRA_UART1>;
  553. clock-names = "baud", "bus";
  554. status = "disabled";
  555. };
  556. imp_iic_wrap_c: clock-controller@11007000 {
  557. compatible = "mediatek,mt8192-imp_iic_wrap_c";
  558. reg = <0 0x11007000 0 0x1000>;
  559. #clock-cells = <1>;
  560. };
  561. spi0: spi@1100a000 {
  562. compatible = "mediatek,mt8192-spi",
  563. "mediatek,mt6765-spi";
  564. #address-cells = <1>;
  565. #size-cells = <0>;
  566. reg = <0 0x1100a000 0 0x1000>;
  567. interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH 0>;
  568. clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
  569. <&topckgen CLK_TOP_SPI_SEL>,
  570. <&infracfg CLK_INFRA_SPI0>;
  571. clock-names = "parent-clk", "sel-clk", "spi-clk";
  572. status = "disabled";
  573. };
  574. pwm0: pwm@1100e000 {
  575. compatible = "mediatek,mt8183-disp-pwm";
  576. reg = <0 0x1100e000 0 0x1000>;
  577. interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH 0>;
  578. #pwm-cells = <2>;
  579. clocks = <&topckgen CLK_TOP_DISP_PWM_SEL>,
  580. <&infracfg CLK_INFRA_DISP_PWM>;
  581. clock-names = "main", "mm";
  582. status = "disabled";
  583. };
  584. spi1: spi@11010000 {
  585. compatible = "mediatek,mt8192-spi",
  586. "mediatek,mt6765-spi";
  587. #address-cells = <1>;
  588. #size-cells = <0>;
  589. reg = <0 0x11010000 0 0x1000>;
  590. interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH 0>;
  591. clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
  592. <&topckgen CLK_TOP_SPI_SEL>,
  593. <&infracfg CLK_INFRA_SPI1>;
  594. clock-names = "parent-clk", "sel-clk", "spi-clk";
  595. status = "disabled";
  596. };
  597. spi2: spi@11012000 {
  598. compatible = "mediatek,mt8192-spi",
  599. "mediatek,mt6765-spi";
  600. #address-cells = <1>;
  601. #size-cells = <0>;
  602. reg = <0 0x11012000 0 0x1000>;
  603. interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH 0>;
  604. clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
  605. <&topckgen CLK_TOP_SPI_SEL>,
  606. <&infracfg CLK_INFRA_SPI2>;
  607. clock-names = "parent-clk", "sel-clk", "spi-clk";
  608. status = "disabled";
  609. };
  610. spi3: spi@11013000 {
  611. compatible = "mediatek,mt8192-spi",
  612. "mediatek,mt6765-spi";
  613. #address-cells = <1>;
  614. #size-cells = <0>;
  615. reg = <0 0x11013000 0 0x1000>;
  616. interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH 0>;
  617. clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
  618. <&topckgen CLK_TOP_SPI_SEL>,
  619. <&infracfg CLK_INFRA_SPI3>;
  620. clock-names = "parent-clk", "sel-clk", "spi-clk";
  621. status = "disabled";
  622. };
  623. spi4: spi@11018000 {
  624. compatible = "mediatek,mt8192-spi",
  625. "mediatek,mt6765-spi";
  626. #address-cells = <1>;
  627. #size-cells = <0>;
  628. reg = <0 0x11018000 0 0x1000>;
  629. interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH 0>;
  630. clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
  631. <&topckgen CLK_TOP_SPI_SEL>,
  632. <&infracfg CLK_INFRA_SPI4>;
  633. clock-names = "parent-clk", "sel-clk", "spi-clk";
  634. status = "disabled";
  635. };
  636. spi5: spi@11019000 {
  637. compatible = "mediatek,mt8192-spi",
  638. "mediatek,mt6765-spi";
  639. #address-cells = <1>;
  640. #size-cells = <0>;
  641. reg = <0 0x11019000 0 0x1000>;
  642. interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH 0>;
  643. clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
  644. <&topckgen CLK_TOP_SPI_SEL>,
  645. <&infracfg CLK_INFRA_SPI5>;
  646. clock-names = "parent-clk", "sel-clk", "spi-clk";
  647. status = "disabled";
  648. };
  649. spi6: spi@1101d000 {
  650. compatible = "mediatek,mt8192-spi",
  651. "mediatek,mt6765-spi";
  652. #address-cells = <1>;
  653. #size-cells = <0>;
  654. reg = <0 0x1101d000 0 0x1000>;
  655. interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH 0>;
  656. clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
  657. <&topckgen CLK_TOP_SPI_SEL>,
  658. <&infracfg CLK_INFRA_SPI6>;
  659. clock-names = "parent-clk", "sel-clk", "spi-clk";
  660. status = "disabled";
  661. };
  662. spi7: spi@1101e000 {
  663. compatible = "mediatek,mt8192-spi",
  664. "mediatek,mt6765-spi";
  665. #address-cells = <1>;
  666. #size-cells = <0>;
  667. reg = <0 0x1101e000 0 0x1000>;
  668. interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH 0>;
  669. clocks = <&topckgen CLK_TOP_MAINPLL_D5_D4>,
  670. <&topckgen CLK_TOP_SPI_SEL>,
  671. <&infracfg CLK_INFRA_SPI7>;
  672. clock-names = "parent-clk", "sel-clk", "spi-clk";
  673. status = "disabled";
  674. };
  675. scp: scp@10500000 {
  676. compatible = "mediatek,mt8192-scp";
  677. reg = <0 0x10500000 0 0x100000>,
  678. <0 0x10720000 0 0xe0000>,
  679. <0 0x10700000 0 0x8000>;
  680. reg-names = "sram", "cfg", "l1tcm";
  681. interrupts = <GIC_SPI 435 IRQ_TYPE_LEVEL_HIGH 0>;
  682. clocks = <&infracfg CLK_INFRA_SCPSYS>;
  683. clock-names = "main";
  684. status = "disabled";
  685. };
  686. xhci: usb@11200000 {
  687. compatible = "mediatek,mt8192-xhci",
  688. "mediatek,mtk-xhci";
  689. reg = <0 0x11200000 0 0x1000>,
  690. <0 0x11203e00 0 0x0100>;
  691. reg-names = "mac", "ippc";
  692. interrupts-extended = <&gic GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH 0>;
  693. interrupt-names = "host";
  694. phys = <&u2port0 PHY_TYPE_USB2>,
  695. <&u3port0 PHY_TYPE_USB3>;
  696. assigned-clocks = <&topckgen CLK_TOP_USB_TOP_SEL>,
  697. <&topckgen CLK_TOP_SSUSB_XHCI_SEL>;
  698. assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>,
  699. <&topckgen CLK_TOP_UNIVPLL_D5_D4>;
  700. clocks = <&infracfg CLK_INFRA_SSUSB>,
  701. <&apmixedsys CLK_APMIXED_USBPLL>,
  702. <&clk26m>,
  703. <&clk26m>,
  704. <&infracfg CLK_INFRA_SSUSB_XHCI>;
  705. clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck",
  706. "xhci_ck";
  707. wakeup-source;
  708. mediatek,syscon-wakeup = <&pericfg 0x420 102>;
  709. status = "disabled";
  710. };
  711. audsys: syscon@11210000 {
  712. compatible = "mediatek,mt8192-audsys", "syscon";
  713. reg = <0 0x11210000 0 0x2000>;
  714. #clock-cells = <1>;
  715. afe: mt8192-afe-pcm {
  716. compatible = "mediatek,mt8192-audio";
  717. interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH 0>;
  718. resets = <&watchdog 17>;
  719. reset-names = "audiosys";
  720. mediatek,apmixedsys = <&apmixedsys>;
  721. mediatek,infracfg = <&infracfg>;
  722. mediatek,topckgen = <&topckgen>;
  723. power-domains = <&spm MT8192_POWER_DOMAIN_AUDIO>;
  724. clocks = <&audsys CLK_AUD_AFE>,
  725. <&audsys CLK_AUD_DAC>,
  726. <&audsys CLK_AUD_DAC_PREDIS>,
  727. <&audsys CLK_AUD_ADC>,
  728. <&audsys CLK_AUD_ADDA6_ADC>,
  729. <&audsys CLK_AUD_22M>,
  730. <&audsys CLK_AUD_24M>,
  731. <&audsys CLK_AUD_APLL_TUNER>,
  732. <&audsys CLK_AUD_APLL2_TUNER>,
  733. <&audsys CLK_AUD_TDM>,
  734. <&audsys CLK_AUD_TML>,
  735. <&audsys CLK_AUD_NLE>,
  736. <&audsys CLK_AUD_DAC_HIRES>,
  737. <&audsys CLK_AUD_ADC_HIRES>,
  738. <&audsys CLK_AUD_ADC_HIRES_TML>,
  739. <&audsys CLK_AUD_ADDA6_ADC_HIRES>,
  740. <&audsys CLK_AUD_3RD_DAC>,
  741. <&audsys CLK_AUD_3RD_DAC_PREDIS>,
  742. <&audsys CLK_AUD_3RD_DAC_TML>,
  743. <&audsys CLK_AUD_3RD_DAC_HIRES>,
  744. <&infracfg CLK_INFRA_AUDIO>,
  745. <&infracfg CLK_INFRA_AUDIO_26M_B>,
  746. <&topckgen CLK_TOP_AUDIO_SEL>,
  747. <&topckgen CLK_TOP_AUD_INTBUS_SEL>,
  748. <&topckgen CLK_TOP_MAINPLL_D4_D4>,
  749. <&topckgen CLK_TOP_AUD_1_SEL>,
  750. <&topckgen CLK_TOP_APLL1>,
  751. <&topckgen CLK_TOP_AUD_2_SEL>,
  752. <&topckgen CLK_TOP_APLL2>,
  753. <&topckgen CLK_TOP_AUD_ENGEN1_SEL>,
  754. <&topckgen CLK_TOP_APLL1_D4>,
  755. <&topckgen CLK_TOP_AUD_ENGEN2_SEL>,
  756. <&topckgen CLK_TOP_APLL2_D4>,
  757. <&topckgen CLK_TOP_APLL_I2S0_M_SEL>,
  758. <&topckgen CLK_TOP_APLL_I2S1_M_SEL>,
  759. <&topckgen CLK_TOP_APLL_I2S2_M_SEL>,
  760. <&topckgen CLK_TOP_APLL_I2S3_M_SEL>,
  761. <&topckgen CLK_TOP_APLL_I2S4_M_SEL>,
  762. <&topckgen CLK_TOP_APLL_I2S5_M_SEL>,
  763. <&topckgen CLK_TOP_APLL_I2S6_M_SEL>,
  764. <&topckgen CLK_TOP_APLL_I2S7_M_SEL>,
  765. <&topckgen CLK_TOP_APLL_I2S8_M_SEL>,
  766. <&topckgen CLK_TOP_APLL_I2S9_M_SEL>,
  767. <&topckgen CLK_TOP_APLL12_DIV0>,
  768. <&topckgen CLK_TOP_APLL12_DIV1>,
  769. <&topckgen CLK_TOP_APLL12_DIV2>,
  770. <&topckgen CLK_TOP_APLL12_DIV3>,
  771. <&topckgen CLK_TOP_APLL12_DIV4>,
  772. <&topckgen CLK_TOP_APLL12_DIVB>,
  773. <&topckgen CLK_TOP_APLL12_DIV5>,
  774. <&topckgen CLK_TOP_APLL12_DIV6>,
  775. <&topckgen CLK_TOP_APLL12_DIV7>,
  776. <&topckgen CLK_TOP_APLL12_DIV8>,
  777. <&topckgen CLK_TOP_APLL12_DIV9>,
  778. <&topckgen CLK_TOP_AUDIO_H_SEL>,
  779. <&clk26m>;
  780. clock-names = "aud_afe_clk",
  781. "aud_dac_clk",
  782. "aud_dac_predis_clk",
  783. "aud_adc_clk",
  784. "aud_adda6_adc_clk",
  785. "aud_apll22m_clk",
  786. "aud_apll24m_clk",
  787. "aud_apll1_tuner_clk",
  788. "aud_apll2_tuner_clk",
  789. "aud_tdm_clk",
  790. "aud_tml_clk",
  791. "aud_nle",
  792. "aud_dac_hires_clk",
  793. "aud_adc_hires_clk",
  794. "aud_adc_hires_tml",
  795. "aud_adda6_adc_hires_clk",
  796. "aud_3rd_dac_clk",
  797. "aud_3rd_dac_predis_clk",
  798. "aud_3rd_dac_tml",
  799. "aud_3rd_dac_hires_clk",
  800. "aud_infra_clk",
  801. "aud_infra_26m_clk",
  802. "top_mux_audio",
  803. "top_mux_audio_int",
  804. "top_mainpll_d4_d4",
  805. "top_mux_aud_1",
  806. "top_apll1_ck",
  807. "top_mux_aud_2",
  808. "top_apll2_ck",
  809. "top_mux_aud_eng1",
  810. "top_apll1_d4",
  811. "top_mux_aud_eng2",
  812. "top_apll2_d4",
  813. "top_i2s0_m_sel",
  814. "top_i2s1_m_sel",
  815. "top_i2s2_m_sel",
  816. "top_i2s3_m_sel",
  817. "top_i2s4_m_sel",
  818. "top_i2s5_m_sel",
  819. "top_i2s6_m_sel",
  820. "top_i2s7_m_sel",
  821. "top_i2s8_m_sel",
  822. "top_i2s9_m_sel",
  823. "top_apll12_div0",
  824. "top_apll12_div1",
  825. "top_apll12_div2",
  826. "top_apll12_div3",
  827. "top_apll12_div4",
  828. "top_apll12_divb",
  829. "top_apll12_div5",
  830. "top_apll12_div6",
  831. "top_apll12_div7",
  832. "top_apll12_div8",
  833. "top_apll12_div9",
  834. "top_mux_audio_h",
  835. "top_clk26m_clk";
  836. };
  837. };
  838. pcie: pcie@11230000 {
  839. compatible = "mediatek,mt8192-pcie";
  840. device_type = "pci";
  841. reg = <0 0x11230000 0 0x2000>;
  842. reg-names = "pcie-mac";
  843. #address-cells = <3>;
  844. #size-cells = <2>;
  845. clocks = <&infracfg CLK_INFRA_PCIE_PL_P_250M>,
  846. <&infracfg CLK_INFRA_PCIE_TL_26M>,
  847. <&infracfg CLK_INFRA_PCIE_TL_96M>,
  848. <&infracfg CLK_INFRA_PCIE_TL_32K>,
  849. <&infracfg CLK_INFRA_PCIE_PERI_26M>,
  850. <&infracfg CLK_INFRA_PCIE_TOP_H_133M>;
  851. clock-names = "pl_250m", "tl_26m", "tl_96m",
  852. "tl_32k", "peri_26m", "top_133m";
  853. assigned-clocks = <&topckgen CLK_TOP_TL_SEL>;
  854. assigned-clock-parents = <&topckgen CLK_TOP_MAINPLL_D6_D4>;
  855. interrupts = <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH 0>;
  856. bus-range = <0x00 0xff>;
  857. ranges = <0x82000000 0 0x12000000 0x0 0x12000000 0 0x0800000>,
  858. <0x81000000 0 0x12800000 0x0 0x12800000 0 0x0800000>;
  859. #interrupt-cells = <1>;
  860. interrupt-map-mask = <0 0 0 7>;
  861. interrupt-map = <0 0 0 1 &pcie_intc0 0>,
  862. <0 0 0 2 &pcie_intc0 1>,
  863. <0 0 0 3 &pcie_intc0 2>,
  864. <0 0 0 4 &pcie_intc0 3>;
  865. pcie_intc0: interrupt-controller {
  866. interrupt-controller;
  867. #address-cells = <0>;
  868. #interrupt-cells = <1>;
  869. };
  870. };
  871. nor_flash: spi@11234000 {
  872. compatible = "mediatek,mt8192-nor";
  873. reg = <0 0x11234000 0 0xe0>;
  874. interrupts = <GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH 0>;
  875. clocks = <&topckgen CLK_TOP_SFLASH_SEL>,
  876. <&infracfg CLK_INFRA_FLASHIF_SFLASH>,
  877. <&infracfg CLK_INFRA_FLASHIF_TOP_H_133M>;
  878. clock-names = "spi", "sf", "axi";
  879. assigned-clocks = <&topckgen CLK_TOP_SFLASH_SEL>;
  880. assigned-clock-parents = <&clk26m>;
  881. #address-cells = <1>;
  882. #size-cells = <0>;
  883. status = "disabled";
  884. };
  885. efuse: efuse@11c10000 {
  886. compatible = "mediatek,mt8192-efuse", "mediatek,efuse";
  887. reg = <0 0x11c10000 0 0x1000>;
  888. #address-cells = <1>;
  889. #size-cells = <1>;
  890. lvts_e_data1: data1@1c0 {
  891. reg = <0x1c0 0x58>;
  892. };
  893. svs_calibration: calib@580 {
  894. reg = <0x580 0x68>;
  895. };
  896. };
  897. i2c3: i2c@11cb0000 {
  898. compatible = "mediatek,mt8192-i2c";
  899. reg = <0 0x11cb0000 0 0x1000>,
  900. <0 0x10217300 0 0x80>;
  901. interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH 0>;
  902. clocks = <&imp_iic_wrap_e CLK_IMP_IIC_WRAP_E_I2C3>,
  903. <&infracfg CLK_INFRA_AP_DMA>;
  904. clock-names = "main", "dma";
  905. clock-div = <1>;
  906. #address-cells = <1>;
  907. #size-cells = <0>;
  908. status = "disabled";
  909. };
  910. imp_iic_wrap_e: clock-controller@11cb1000 {
  911. compatible = "mediatek,mt8192-imp_iic_wrap_e";
  912. reg = <0 0x11cb1000 0 0x1000>;
  913. #clock-cells = <1>;
  914. };
  915. i2c7: i2c@11d00000 {
  916. compatible = "mediatek,mt8192-i2c";
  917. reg = <0 0x11d00000 0 0x1000>,
  918. <0 0x10217600 0 0x180>;
  919. interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH 0>;
  920. clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C7>,
  921. <&infracfg CLK_INFRA_AP_DMA>;
  922. clock-names = "main", "dma";
  923. clock-div = <1>;
  924. #address-cells = <1>;
  925. #size-cells = <0>;
  926. status = "disabled";
  927. };
  928. i2c8: i2c@11d01000 {
  929. compatible = "mediatek,mt8192-i2c";
  930. reg = <0 0x11d01000 0 0x1000>,
  931. <0 0x10217780 0 0x180>;
  932. interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH 0>;
  933. clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C8>,
  934. <&infracfg CLK_INFRA_AP_DMA>;
  935. clock-names = "main", "dma";
  936. clock-div = <1>;
  937. #address-cells = <1>;
  938. #size-cells = <0>;
  939. status = "disabled";
  940. };
  941. i2c9: i2c@11d02000 {
  942. compatible = "mediatek,mt8192-i2c";
  943. reg = <0 0x11d02000 0 0x1000>,
  944. <0 0x10217900 0 0x180>;
  945. interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH 0>;
  946. clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C9>,
  947. <&infracfg CLK_INFRA_AP_DMA>;
  948. clock-names = "main", "dma";
  949. clock-div = <1>;
  950. #address-cells = <1>;
  951. #size-cells = <0>;
  952. status = "disabled";
  953. };
  954. imp_iic_wrap_s: clock-controller@11d03000 {
  955. compatible = "mediatek,mt8192-imp_iic_wrap_s";
  956. reg = <0 0x11d03000 0 0x1000>;
  957. #clock-cells = <1>;
  958. };
  959. i2c1: i2c@11d20000 {
  960. compatible = "mediatek,mt8192-i2c";
  961. reg = <0 0x11d20000 0 0x1000>,
  962. <0 0x10217100 0 0x80>;
  963. interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH 0>;
  964. clocks = <&imp_iic_wrap_ws CLK_IMP_IIC_WRAP_WS_I2C1>,
  965. <&infracfg CLK_INFRA_AP_DMA>;
  966. clock-names = "main", "dma";
  967. clock-div = <1>;
  968. #address-cells = <1>;
  969. #size-cells = <0>;
  970. status = "disabled";
  971. };
  972. i2c2: i2c@11d21000 {
  973. compatible = "mediatek,mt8192-i2c";
  974. reg = <0 0x11d21000 0 0x1000>,
  975. <0 0x10217180 0 0x180>;
  976. interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH 0>;
  977. clocks = <&imp_iic_wrap_ws CLK_IMP_IIC_WRAP_WS_I2C2>,
  978. <&infracfg CLK_INFRA_AP_DMA>;
  979. clock-names = "main", "dma";
  980. clock-div = <1>;
  981. #address-cells = <1>;
  982. #size-cells = <0>;
  983. status = "disabled";
  984. };
  985. i2c4: i2c@11d22000 {
  986. compatible = "mediatek,mt8192-i2c";
  987. reg = <0 0x11d22000 0 0x1000>,
  988. <0 0x10217380 0 0x180>;
  989. interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH 0>;
  990. clocks = <&imp_iic_wrap_ws CLK_IMP_IIC_WRAP_WS_I2C4>,
  991. <&infracfg CLK_INFRA_AP_DMA>;
  992. clock-names = "main", "dma";
  993. clock-div = <1>;
  994. #address-cells = <1>;
  995. #size-cells = <0>;
  996. status = "disabled";
  997. };
  998. imp_iic_wrap_ws: clock-controller@11d23000 {
  999. compatible = "mediatek,mt8192-imp_iic_wrap_ws";
  1000. reg = <0 0x11d23000 0 0x1000>;
  1001. #clock-cells = <1>;
  1002. };
  1003. i2c5: i2c@11e00000 {
  1004. compatible = "mediatek,mt8192-i2c";
  1005. reg = <0 0x11e00000 0 0x1000>,
  1006. <0 0x10217500 0 0x80>;
  1007. interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH 0>;
  1008. clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C5>,
  1009. <&infracfg CLK_INFRA_AP_DMA>;
  1010. clock-names = "main", "dma";
  1011. clock-div = <1>;
  1012. #address-cells = <1>;
  1013. #size-cells = <0>;
  1014. status = "disabled";
  1015. };
  1016. imp_iic_wrap_w: clock-controller@11e01000 {
  1017. compatible = "mediatek,mt8192-imp_iic_wrap_w";
  1018. reg = <0 0x11e01000 0 0x1000>;
  1019. #clock-cells = <1>;
  1020. };
  1021. u3phy0: t-phy@11e40000 {
  1022. compatible = "mediatek,mt8192-tphy",
  1023. "mediatek,generic-tphy-v2";
  1024. #address-cells = <1>;
  1025. #size-cells = <1>;
  1026. ranges = <0x0 0x0 0x11e40000 0x1000>;
  1027. u2port0: usb-phy@0 {
  1028. reg = <0x0 0x700>;
  1029. clocks = <&clk26m>;
  1030. clock-names = "ref";
  1031. #phy-cells = <1>;
  1032. };
  1033. u3port0: usb-phy@700 {
  1034. reg = <0x700 0x900>;
  1035. clocks = <&clk26m>;
  1036. clock-names = "ref";
  1037. #phy-cells = <1>;
  1038. };
  1039. };
  1040. mipi_tx0: dsi-phy@11e50000 {
  1041. compatible = "mediatek,mt8183-mipi-tx";
  1042. reg = <0 0x11e50000 0 0x1000>;
  1043. clocks = <&apmixedsys CLK_APMIXED_MIPID26M>;
  1044. #clock-cells = <0>;
  1045. #phy-cells = <0>;
  1046. clock-output-names = "mipi_tx0_pll";
  1047. status = "disabled";
  1048. };
  1049. i2c0: i2c@11f00000 {
  1050. compatible = "mediatek,mt8192-i2c";
  1051. reg = <0 0x11f00000 0 0x1000>,
  1052. <0 0x10217080 0 0x80>;
  1053. interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH 0>;
  1054. clocks = <&imp_iic_wrap_n CLK_IMP_IIC_WRAP_N_I2C0>,
  1055. <&infracfg CLK_INFRA_AP_DMA>;
  1056. clock-names = "main", "dma";
  1057. clock-div = <1>;
  1058. #address-cells = <1>;
  1059. #size-cells = <0>;
  1060. status = "disabled";
  1061. };
  1062. i2c6: i2c@11f01000 {
  1063. compatible = "mediatek,mt8192-i2c";
  1064. reg = <0 0x11f01000 0 0x1000>,
  1065. <0 0x10217580 0 0x80>;
  1066. interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH 0>;
  1067. clocks = <&imp_iic_wrap_n CLK_IMP_IIC_WRAP_N_I2C6>,
  1068. <&infracfg CLK_INFRA_AP_DMA>;
  1069. clock-names = "main", "dma";
  1070. clock-div = <1>;
  1071. #address-cells = <1>;
  1072. #size-cells = <0>;
  1073. status = "disabled";
  1074. };
  1075. imp_iic_wrap_n: clock-controller@11f02000 {
  1076. compatible = "mediatek,mt8192-imp_iic_wrap_n";
  1077. reg = <0 0x11f02000 0 0x1000>;
  1078. #clock-cells = <1>;
  1079. };
  1080. msdc_top: clock-controller@11f10000 {
  1081. compatible = "mediatek,mt8192-msdc_top";
  1082. reg = <0 0x11f10000 0 0x1000>;
  1083. #clock-cells = <1>;
  1084. };
  1085. mmc0: mmc@11f60000 {
  1086. compatible = "mediatek,mt8192-mmc", "mediatek,mt8183-mmc";
  1087. reg = <0 0x11f60000 0 0x1000>, <0 0x11f50000 0 0x1000>;
  1088. interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH 0>;
  1089. clocks = <&topckgen CLK_TOP_MSDC50_0_SEL>,
  1090. <&msdc_top CLK_MSDC_TOP_H_MST_0P>,
  1091. <&msdc_top CLK_MSDC_TOP_SRC_0P>,
  1092. <&msdc_top CLK_MSDC_TOP_P_CFG>,
  1093. <&msdc_top CLK_MSDC_TOP_P_MSDC0>,
  1094. <&msdc_top CLK_MSDC_TOP_AXI>,
  1095. <&msdc_top CLK_MSDC_TOP_AHB2AXI_BRG_AXI>;
  1096. clock-names = "source", "hclk", "source_cg", "sys_cg",
  1097. "pclk_cg", "axi_cg", "ahb_cg";
  1098. status = "disabled";
  1099. };
  1100. mmc1: mmc@11f70000 {
  1101. compatible = "mediatek,mt8192-mmc", "mediatek,mt8183-mmc";
  1102. reg = <0 0x11f70000 0 0x1000>, <0 0x11c70000 0 0x1000>;
  1103. interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>;
  1104. clocks = <&topckgen CLK_TOP_MSDC30_1_SEL>,
  1105. <&msdc_top CLK_MSDC_TOP_H_MST_1P>,
  1106. <&msdc_top CLK_MSDC_TOP_SRC_1P>,
  1107. <&msdc_top CLK_MSDC_TOP_P_CFG>,
  1108. <&msdc_top CLK_MSDC_TOP_P_MSDC1>,
  1109. <&msdc_top CLK_MSDC_TOP_AXI>,
  1110. <&msdc_top CLK_MSDC_TOP_AHB2AXI_BRG_AXI>;
  1111. clock-names = "source", "hclk", "source_cg", "sys_cg",
  1112. "pclk_cg", "axi_cg", "ahb_cg";
  1113. status = "disabled";
  1114. };
  1115. mfgcfg: clock-controller@13fbf000 {
  1116. compatible = "mediatek,mt8192-mfgcfg";
  1117. reg = <0 0x13fbf000 0 0x1000>;
  1118. #clock-cells = <1>;
  1119. };
  1120. mmsys: syscon@14000000 {
  1121. compatible = "mediatek,mt8192-mmsys", "syscon";
  1122. reg = <0 0x14000000 0 0x1000>;
  1123. #clock-cells = <1>;
  1124. #reset-cells = <1>;
  1125. mboxes = <&gce 0 CMDQ_THR_PRIO_HIGHEST>,
  1126. <&gce 1 CMDQ_THR_PRIO_HIGHEST>;
  1127. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0 0x1000>;
  1128. };
  1129. mutex: mutex@14001000 {
  1130. compatible = "mediatek,mt8192-disp-mutex";
  1131. reg = <0 0x14001000 0 0x1000>;
  1132. interrupts = <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH 0>;
  1133. clocks = <&mmsys CLK_MM_DISP_MUTEX0>;
  1134. mediatek,gce-events = <CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_0>,
  1135. <CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_1>;
  1136. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1137. };
  1138. smi_common: smi@14002000 {
  1139. compatible = "mediatek,mt8192-smi-common";
  1140. reg = <0 0x14002000 0 0x1000>;
  1141. clocks = <&mmsys CLK_MM_SMI_COMMON>,
  1142. <&mmsys CLK_MM_SMI_INFRA>,
  1143. <&mmsys CLK_MM_SMI_GALS>,
  1144. <&mmsys CLK_MM_SMI_GALS>;
  1145. clock-names = "apb", "smi", "gals0", "gals1";
  1146. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1147. };
  1148. larb0: larb@14003000 {
  1149. compatible = "mediatek,mt8192-smi-larb";
  1150. reg = <0 0x14003000 0 0x1000>;
  1151. mediatek,larb-id = <0>;
  1152. mediatek,smi = <&smi_common>;
  1153. clocks = <&clk26m>, <&clk26m>;
  1154. clock-names = "apb", "smi";
  1155. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1156. };
  1157. larb1: larb@14004000 {
  1158. compatible = "mediatek,mt8192-smi-larb";
  1159. reg = <0 0x14004000 0 0x1000>;
  1160. mediatek,larb-id = <1>;
  1161. mediatek,smi = <&smi_common>;
  1162. clocks = <&clk26m>, <&clk26m>;
  1163. clock-names = "apb", "smi";
  1164. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1165. };
  1166. ovl0: ovl@14005000 {
  1167. compatible = "mediatek,mt8192-disp-ovl";
  1168. reg = <0 0x14005000 0 0x1000>;
  1169. interrupts = <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH 0>;
  1170. clocks = <&mmsys CLK_MM_DISP_OVL0>;
  1171. iommus = <&iommu0 M4U_PORT_L0_OVL_RDMA0>,
  1172. <&iommu0 M4U_PORT_L0_OVL_RDMA0_HDR>;
  1173. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1174. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x5000 0x1000>;
  1175. };
  1176. ovl_2l0: ovl@14006000 {
  1177. compatible = "mediatek,mt8192-disp-ovl-2l";
  1178. reg = <0 0x14006000 0 0x1000>;
  1179. interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH 0>;
  1180. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1181. clocks = <&mmsys CLK_MM_DISP_OVL0_2L>;
  1182. iommus = <&iommu0 M4U_PORT_L1_OVL_2L_RDMA0>,
  1183. <&iommu0 M4U_PORT_L1_OVL_2L_RDMA0_HDR>;
  1184. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x6000 0x1000>;
  1185. };
  1186. rdma0: rdma@14007000 {
  1187. compatible = "mediatek,mt8192-disp-rdma",
  1188. "mediatek,mt8183-disp-rdma";
  1189. reg = <0 0x14007000 0 0x1000>;
  1190. interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH 0>;
  1191. clocks = <&mmsys CLK_MM_DISP_RDMA0>;
  1192. iommus = <&iommu0 M4U_PORT_L0_DISP_RDMA0>;
  1193. mediatek,rdma-fifo-size = <5120>;
  1194. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1195. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x7000 0x1000>;
  1196. };
  1197. color0: color@14009000 {
  1198. compatible = "mediatek,mt8192-disp-color",
  1199. "mediatek,mt8173-disp-color";
  1200. reg = <0 0x14009000 0 0x1000>;
  1201. interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH 0>;
  1202. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1203. clocks = <&mmsys CLK_MM_DISP_COLOR0>;
  1204. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x9000 0x1000>;
  1205. };
  1206. ccorr0: ccorr@1400a000 {
  1207. compatible = "mediatek,mt8192-disp-ccorr";
  1208. reg = <0 0x1400a000 0 0x1000>;
  1209. interrupts = <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH 0>;
  1210. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1211. clocks = <&mmsys CLK_MM_DISP_CCORR0>;
  1212. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xa000 0x1000>;
  1213. };
  1214. aal0: aal@1400b000 {
  1215. compatible = "mediatek,mt8192-disp-aal",
  1216. "mediatek,mt8183-disp-aal";
  1217. reg = <0 0x1400b000 0 0x1000>;
  1218. interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH 0>;
  1219. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1220. clocks = <&mmsys CLK_MM_DISP_AAL0>;
  1221. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xb000 0x1000>;
  1222. };
  1223. gamma0: gamma@1400c000 {
  1224. compatible = "mediatek,mt8192-disp-gamma",
  1225. "mediatek,mt8183-disp-gamma";
  1226. reg = <0 0x1400c000 0 0x1000>;
  1227. interrupts = <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH 0>;
  1228. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1229. clocks = <&mmsys CLK_MM_DISP_GAMMA0>;
  1230. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xc000 0x1000>;
  1231. };
  1232. postmask0: postmask@1400d000 {
  1233. compatible = "mediatek,mt8192-disp-postmask";
  1234. reg = <0 0x1400d000 0 0x1000>;
  1235. interrupts = <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH 0>;
  1236. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1237. clocks = <&mmsys CLK_MM_DISP_POSTMASK0>;
  1238. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xd000 0x1000>;
  1239. };
  1240. dither0: dither@1400e000 {
  1241. compatible = "mediatek,mt8192-disp-dither",
  1242. "mediatek,mt8183-disp-dither";
  1243. reg = <0 0x1400e000 0 0x1000>;
  1244. interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH 0>;
  1245. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1246. clocks = <&mmsys CLK_MM_DISP_DITHER0>;
  1247. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xe000 0x1000>;
  1248. };
  1249. dsi0: dsi@14010000 {
  1250. compatible = "mediatek,mt8183-dsi";
  1251. reg = <0 0x14010000 0 0x1000>;
  1252. interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH 0>;
  1253. clocks = <&mmsys CLK_MM_DSI0>,
  1254. <&mmsys CLK_MM_DSI_DSI0>,
  1255. <&mipi_tx0>;
  1256. clock-names = "engine", "digital", "hs";
  1257. phys = <&mipi_tx0>;
  1258. phy-names = "dphy";
  1259. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1260. resets = <&mmsys MT8192_MMSYS_SW0_RST_B_DISP_DSI0>;
  1261. status = "disabled";
  1262. port {
  1263. dsi_out: endpoint { };
  1264. };
  1265. };
  1266. ovl_2l2: ovl@14014000 {
  1267. compatible = "mediatek,mt8192-disp-ovl-2l";
  1268. reg = <0 0x14014000 0 0x1000>;
  1269. interrupts = <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH 0>;
  1270. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1271. clocks = <&mmsys CLK_MM_DISP_OVL2_2L>;
  1272. iommus = <&iommu0 M4U_PORT_L1_OVL_2L_RDMA2>,
  1273. <&iommu0 M4U_PORT_L1_OVL_2L_RDMA2_HDR>;
  1274. mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x4000 0x1000>;
  1275. };
  1276. rdma4: rdma@14015000 {
  1277. compatible = "mediatek,mt8192-disp-rdma",
  1278. "mediatek,mt8183-disp-rdma";
  1279. reg = <0 0x14015000 0 0x1000>;
  1280. interrupts = <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH 0>;
  1281. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1282. clocks = <&mmsys CLK_MM_DISP_RDMA4>;
  1283. iommus = <&iommu0 M4U_PORT_L1_DISP_RDMA4>;
  1284. mediatek,rdma-fifo-size = <2048>;
  1285. mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x5000 0x1000>;
  1286. };
  1287. dpi0: dpi@14016000 {
  1288. compatible = "mediatek,mt8192-dpi";
  1289. reg = <0 0x14016000 0 0x1000>;
  1290. interrupts = <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH 0>;
  1291. clocks = <&mmsys CLK_MM_DPI_DPI0>,
  1292. <&mmsys CLK_MM_DISP_DPI0>,
  1293. <&apmixedsys CLK_APMIXED_TVDPLL>;
  1294. clock-names = "pixel", "engine", "pll";
  1295. status = "disabled";
  1296. };
  1297. iommu0: m4u@1401d000 {
  1298. compatible = "mediatek,mt8192-m4u";
  1299. reg = <0 0x1401d000 0 0x1000>;
  1300. mediatek,larbs = <&larb0>, <&larb1>, <&larb2>,
  1301. <&larb4>, <&larb5>, <&larb7>,
  1302. <&larb9>, <&larb11>, <&larb13>,
  1303. <&larb14>, <&larb16>, <&larb17>,
  1304. <&larb18>, <&larb19>, <&larb20>;
  1305. interrupts = <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH 0>;
  1306. clocks = <&mmsys CLK_MM_SMI_IOMMU>;
  1307. clock-names = "bclk";
  1308. power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
  1309. #iommu-cells = <1>;
  1310. };
  1311. imgsys: clock-controller@15020000 {
  1312. compatible = "mediatek,mt8192-imgsys";
  1313. reg = <0 0x15020000 0 0x1000>;
  1314. #clock-cells = <1>;
  1315. };
  1316. larb9: larb@1502e000 {
  1317. compatible = "mediatek,mt8192-smi-larb";
  1318. reg = <0 0x1502e000 0 0x1000>;
  1319. mediatek,larb-id = <9>;
  1320. mediatek,smi = <&smi_common>;
  1321. clocks = <&imgsys CLK_IMG_LARB9>,
  1322. <&imgsys CLK_IMG_LARB9>;
  1323. clock-names = "apb", "smi";
  1324. power-domains = <&spm MT8192_POWER_DOMAIN_ISP>;
  1325. };
  1326. imgsys2: clock-controller@15820000 {
  1327. compatible = "mediatek,mt8192-imgsys2";
  1328. reg = <0 0x15820000 0 0x1000>;
  1329. #clock-cells = <1>;
  1330. };
  1331. larb11: larb@1582e000 {
  1332. compatible = "mediatek,mt8192-smi-larb";
  1333. reg = <0 0x1582e000 0 0x1000>;
  1334. mediatek,larb-id = <11>;
  1335. mediatek,smi = <&smi_common>;
  1336. clocks = <&imgsys2 CLK_IMG2_LARB11>,
  1337. <&imgsys2 CLK_IMG2_LARB11>;
  1338. clock-names = "apb", "smi";
  1339. power-domains = <&spm MT8192_POWER_DOMAIN_ISP2>;
  1340. };
  1341. larb5: larb@1600d000 {
  1342. compatible = "mediatek,mt8192-smi-larb";
  1343. reg = <0 0x1600d000 0 0x1000>;
  1344. mediatek,larb-id = <5>;
  1345. mediatek,smi = <&smi_common>;
  1346. clocks = <&vdecsys_soc CLK_VDEC_SOC_LARB1>,
  1347. <&vdecsys_soc CLK_VDEC_SOC_LARB1>;
  1348. clock-names = "apb", "smi";
  1349. power-domains = <&spm MT8192_POWER_DOMAIN_VDEC>;
  1350. };
  1351. vdecsys_soc: clock-controller@1600f000 {
  1352. compatible = "mediatek,mt8192-vdecsys_soc";
  1353. reg = <0 0x1600f000 0 0x1000>;
  1354. #clock-cells = <1>;
  1355. };
  1356. larb4: larb@1602e000 {
  1357. compatible = "mediatek,mt8192-smi-larb";
  1358. reg = <0 0x1602e000 0 0x1000>;
  1359. mediatek,larb-id = <4>;
  1360. mediatek,smi = <&smi_common>;
  1361. clocks = <&vdecsys CLK_VDEC_SOC_LARB1>,
  1362. <&vdecsys CLK_VDEC_SOC_LARB1>;
  1363. clock-names = "apb", "smi";
  1364. power-domains = <&spm MT8192_POWER_DOMAIN_VDEC2>;
  1365. };
  1366. vdecsys: clock-controller@1602f000 {
  1367. compatible = "mediatek,mt8192-vdecsys";
  1368. reg = <0 0x1602f000 0 0x1000>;
  1369. #clock-cells = <1>;
  1370. };
  1371. vencsys: clock-controller@17000000 {
  1372. compatible = "mediatek,mt8192-vencsys";
  1373. reg = <0 0x17000000 0 0x1000>;
  1374. #clock-cells = <1>;
  1375. };
  1376. larb7: larb@17010000 {
  1377. compatible = "mediatek,mt8192-smi-larb";
  1378. reg = <0 0x17010000 0 0x1000>;
  1379. mediatek,larb-id = <7>;
  1380. mediatek,smi = <&smi_common>;
  1381. clocks = <&vencsys CLK_VENC_SET0_LARB>,
  1382. <&vencsys CLK_VENC_SET1_VENC>;
  1383. clock-names = "apb", "smi";
  1384. power-domains = <&spm MT8192_POWER_DOMAIN_VENC>;
  1385. };
  1386. vcodec_enc: vcodec@17020000 {
  1387. compatible = "mediatek,mt8192-vcodec-enc";
  1388. reg = <0 0x17020000 0 0x2000>;
  1389. iommus = <&iommu0 M4U_PORT_L7_VENC_RCPU>,
  1390. <&iommu0 M4U_PORT_L7_VENC_REC>,
  1391. <&iommu0 M4U_PORT_L7_VENC_BSDMA>,
  1392. <&iommu0 M4U_PORT_L7_VENC_SV_COMV>,
  1393. <&iommu0 M4U_PORT_L7_VENC_RD_COMV>,
  1394. <&iommu0 M4U_PORT_L7_VENC_CUR_LUMA>,
  1395. <&iommu0 M4U_PORT_L7_VENC_CUR_CHROMA>,
  1396. <&iommu0 M4U_PORT_L7_VENC_REF_LUMA>,
  1397. <&iommu0 M4U_PORT_L7_VENC_REF_CHROMA>,
  1398. <&iommu0 M4U_PORT_L7_VENC_SUB_R_LUMA>,
  1399. <&iommu0 M4U_PORT_L7_VENC_SUB_W_LUMA>;
  1400. interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH 0>;
  1401. mediatek,scp = <&scp>;
  1402. power-domains = <&spm MT8192_POWER_DOMAIN_VENC>;
  1403. clocks = <&vencsys CLK_VENC_SET1_VENC>;
  1404. clock-names = "venc-set1";
  1405. assigned-clocks = <&topckgen CLK_TOP_VENC_SEL>;
  1406. assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D4>;
  1407. };
  1408. camsys: clock-controller@1a000000 {
  1409. compatible = "mediatek,mt8192-camsys";
  1410. reg = <0 0x1a000000 0 0x1000>;
  1411. #clock-cells = <1>;
  1412. };
  1413. larb13: larb@1a001000 {
  1414. compatible = "mediatek,mt8192-smi-larb";
  1415. reg = <0 0x1a001000 0 0x1000>;
  1416. mediatek,larb-id = <13>;
  1417. mediatek,smi = <&smi_common>;
  1418. clocks = <&camsys CLK_CAM_CAM>,
  1419. <&camsys CLK_CAM_LARB13>;
  1420. clock-names = "apb", "smi";
  1421. power-domains = <&spm MT8192_POWER_DOMAIN_CAM>;
  1422. };
  1423. larb14: larb@1a002000 {
  1424. compatible = "mediatek,mt8192-smi-larb";
  1425. reg = <0 0x1a002000 0 0x1000>;
  1426. mediatek,larb-id = <14>;
  1427. mediatek,smi = <&smi_common>;
  1428. clocks = <&camsys CLK_CAM_CAM>,
  1429. <&camsys CLK_CAM_LARB14>;
  1430. clock-names = "apb", "smi";
  1431. power-domains = <&spm MT8192_POWER_DOMAIN_CAM>;
  1432. };
  1433. larb16: larb@1a00f000 {
  1434. compatible = "mediatek,mt8192-smi-larb";
  1435. reg = <0 0x1a00f000 0 0x1000>;
  1436. mediatek,larb-id = <16>;
  1437. mediatek,smi = <&smi_common>;
  1438. clocks = <&camsys_rawa CLK_CAM_RAWA_CAM>,
  1439. <&camsys_rawa CLK_CAM_RAWA_LARBX>;
  1440. clock-names = "apb", "smi";
  1441. power-domains = <&spm MT8192_POWER_DOMAIN_CAM_RAWA>;
  1442. };
  1443. larb17: larb@1a010000 {
  1444. compatible = "mediatek,mt8192-smi-larb";
  1445. reg = <0 0x1a010000 0 0x1000>;
  1446. mediatek,larb-id = <17>;
  1447. mediatek,smi = <&smi_common>;
  1448. clocks = <&camsys_rawb CLK_CAM_RAWB_CAM>,
  1449. <&camsys_rawb CLK_CAM_RAWB_LARBX>;
  1450. clock-names = "apb", "smi";
  1451. power-domains = <&spm MT8192_POWER_DOMAIN_CAM_RAWB>;
  1452. };
  1453. larb18: larb@1a011000 {
  1454. compatible = "mediatek,mt8192-smi-larb";
  1455. reg = <0 0x1a011000 0 0x1000>;
  1456. mediatek,larb-id = <18>;
  1457. mediatek,smi = <&smi_common>;
  1458. clocks = <&camsys_rawc CLK_CAM_RAWC_LARBX>,
  1459. <&camsys_rawc CLK_CAM_RAWC_CAM>;
  1460. clock-names = "apb", "smi";
  1461. power-domains = <&spm MT8192_POWER_DOMAIN_CAM_RAWC>;
  1462. };
  1463. camsys_rawa: clock-controller@1a04f000 {
  1464. compatible = "mediatek,mt8192-camsys_rawa";
  1465. reg = <0 0x1a04f000 0 0x1000>;
  1466. #clock-cells = <1>;
  1467. };
  1468. camsys_rawb: clock-controller@1a06f000 {
  1469. compatible = "mediatek,mt8192-camsys_rawb";
  1470. reg = <0 0x1a06f000 0 0x1000>;
  1471. #clock-cells = <1>;
  1472. };
  1473. camsys_rawc: clock-controller@1a08f000 {
  1474. compatible = "mediatek,mt8192-camsys_rawc";
  1475. reg = <0 0x1a08f000 0 0x1000>;
  1476. #clock-cells = <1>;
  1477. };
  1478. ipesys: clock-controller@1b000000 {
  1479. compatible = "mediatek,mt8192-ipesys";
  1480. reg = <0 0x1b000000 0 0x1000>;
  1481. #clock-cells = <1>;
  1482. };
  1483. larb20: larb@1b00f000 {
  1484. compatible = "mediatek,mt8192-smi-larb";
  1485. reg = <0 0x1b00f000 0 0x1000>;
  1486. mediatek,larb-id = <20>;
  1487. mediatek,smi = <&smi_common>;
  1488. clocks = <&ipesys CLK_IPE_SMI_SUBCOM>,
  1489. <&ipesys CLK_IPE_LARB20>;
  1490. clock-names = "apb", "smi";
  1491. power-domains = <&spm MT8192_POWER_DOMAIN_IPE>;
  1492. };
  1493. larb19: larb@1b10f000 {
  1494. compatible = "mediatek,mt8192-smi-larb";
  1495. reg = <0 0x1b10f000 0 0x1000>;
  1496. mediatek,larb-id = <19>;
  1497. mediatek,smi = <&smi_common>;
  1498. clocks = <&ipesys CLK_IPE_SMI_SUBCOM>,
  1499. <&ipesys CLK_IPE_LARB19>;
  1500. clock-names = "apb", "smi";
  1501. power-domains = <&spm MT8192_POWER_DOMAIN_IPE>;
  1502. };
  1503. mdpsys: clock-controller@1f000000 {
  1504. compatible = "mediatek,mt8192-mdpsys";
  1505. reg = <0 0x1f000000 0 0x1000>;
  1506. #clock-cells = <1>;
  1507. };
  1508. larb2: larb@1f002000 {
  1509. compatible = "mediatek,mt8192-smi-larb";
  1510. reg = <0 0x1f002000 0 0x1000>;
  1511. mediatek,larb-id = <2>;
  1512. mediatek,smi = <&smi_common>;
  1513. clocks = <&mdpsys CLK_MDP_SMI0>,
  1514. <&mdpsys CLK_MDP_SMI0>;
  1515. clock-names = "apb", "smi";
  1516. power-domains = <&spm MT8192_POWER_DOMAIN_MDP>;
  1517. };
  1518. };
  1519. };