mt8183.dtsi 64 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511
  1. // SPDX-License-Identifier: (GPL-2.0 OR MIT)
  2. /*
  3. * Copyright (c) 2018 MediaTek Inc.
  4. * Author: Ben Ho <ben.ho@mediatek.com>
  5. * Erin Lo <erin.lo@mediatek.com>
  6. */
  7. #include <dt-bindings/clock/mt8183-clk.h>
  8. #include <dt-bindings/gce/mt8183-gce.h>
  9. #include <dt-bindings/interrupt-controller/arm-gic.h>
  10. #include <dt-bindings/interrupt-controller/irq.h>
  11. #include <dt-bindings/memory/mt8183-larb-port.h>
  12. #include <dt-bindings/power/mt8183-power.h>
  13. #include <dt-bindings/reset/mt8183-resets.h>
  14. #include <dt-bindings/phy/phy.h>
  15. #include <dt-bindings/thermal/thermal.h>
  16. #include <dt-bindings/pinctrl/mt8183-pinfunc.h>
  17. / {
  18. compatible = "mediatek,mt8183";
  19. interrupt-parent = <&sysirq>;
  20. #address-cells = <2>;
  21. #size-cells = <2>;
  22. aliases {
  23. i2c0 = &i2c0;
  24. i2c1 = &i2c1;
  25. i2c2 = &i2c2;
  26. i2c3 = &i2c3;
  27. i2c4 = &i2c4;
  28. i2c5 = &i2c5;
  29. i2c6 = &i2c6;
  30. i2c7 = &i2c7;
  31. i2c8 = &i2c8;
  32. i2c9 = &i2c9;
  33. i2c10 = &i2c10;
  34. i2c11 = &i2c11;
  35. ovl0 = &ovl0;
  36. ovl-2l0 = &ovl_2l0;
  37. ovl-2l1 = &ovl_2l1;
  38. rdma0 = &rdma0;
  39. rdma1 = &rdma1;
  40. };
  41. cluster0_opp: opp-table-cluster0 {
  42. compatible = "operating-points-v2";
  43. opp-shared;
  44. opp0-793000000 {
  45. opp-hz = /bits/ 64 <793000000>;
  46. opp-microvolt = <650000>;
  47. required-opps = <&opp2_00>;
  48. };
  49. opp0-910000000 {
  50. opp-hz = /bits/ 64 <910000000>;
  51. opp-microvolt = <687500>;
  52. required-opps = <&opp2_01>;
  53. };
  54. opp0-1014000000 {
  55. opp-hz = /bits/ 64 <1014000000>;
  56. opp-microvolt = <718750>;
  57. required-opps = <&opp2_02>;
  58. };
  59. opp0-1131000000 {
  60. opp-hz = /bits/ 64 <1131000000>;
  61. opp-microvolt = <756250>;
  62. required-opps = <&opp2_03>;
  63. };
  64. opp0-1248000000 {
  65. opp-hz = /bits/ 64 <1248000000>;
  66. opp-microvolt = <800000>;
  67. required-opps = <&opp2_04>;
  68. };
  69. opp0-1326000000 {
  70. opp-hz = /bits/ 64 <1326000000>;
  71. opp-microvolt = <818750>;
  72. required-opps = <&opp2_05>;
  73. };
  74. opp0-1417000000 {
  75. opp-hz = /bits/ 64 <1417000000>;
  76. opp-microvolt = <850000>;
  77. required-opps = <&opp2_06>;
  78. };
  79. opp0-1508000000 {
  80. opp-hz = /bits/ 64 <1508000000>;
  81. opp-microvolt = <868750>;
  82. required-opps = <&opp2_07>;
  83. };
  84. opp0-1586000000 {
  85. opp-hz = /bits/ 64 <1586000000>;
  86. opp-microvolt = <893750>;
  87. required-opps = <&opp2_08>;
  88. };
  89. opp0-1625000000 {
  90. opp-hz = /bits/ 64 <1625000000>;
  91. opp-microvolt = <906250>;
  92. required-opps = <&opp2_09>;
  93. };
  94. opp0-1677000000 {
  95. opp-hz = /bits/ 64 <1677000000>;
  96. opp-microvolt = <931250>;
  97. required-opps = <&opp2_10>;
  98. };
  99. opp0-1716000000 {
  100. opp-hz = /bits/ 64 <1716000000>;
  101. opp-microvolt = <943750>;
  102. required-opps = <&opp2_11>;
  103. };
  104. opp0-1781000000 {
  105. opp-hz = /bits/ 64 <1781000000>;
  106. opp-microvolt = <975000>;
  107. required-opps = <&opp2_12>;
  108. };
  109. opp0-1846000000 {
  110. opp-hz = /bits/ 64 <1846000000>;
  111. opp-microvolt = <1000000>;
  112. required-opps = <&opp2_13>;
  113. };
  114. opp0-1924000000 {
  115. opp-hz = /bits/ 64 <1924000000>;
  116. opp-microvolt = <1025000>;
  117. required-opps = <&opp2_14>;
  118. };
  119. opp0-1989000000 {
  120. opp-hz = /bits/ 64 <1989000000>;
  121. opp-microvolt = <1050000>;
  122. required-opps = <&opp2_15>;
  123. }; };
  124. cluster1_opp: opp-table-cluster1 {
  125. compatible = "operating-points-v2";
  126. opp-shared;
  127. opp1-793000000 {
  128. opp-hz = /bits/ 64 <793000000>;
  129. opp-microvolt = <700000>;
  130. required-opps = <&opp2_00>;
  131. };
  132. opp1-910000000 {
  133. opp-hz = /bits/ 64 <910000000>;
  134. opp-microvolt = <725000>;
  135. required-opps = <&opp2_01>;
  136. };
  137. opp1-1014000000 {
  138. opp-hz = /bits/ 64 <1014000000>;
  139. opp-microvolt = <750000>;
  140. required-opps = <&opp2_02>;
  141. };
  142. opp1-1131000000 {
  143. opp-hz = /bits/ 64 <1131000000>;
  144. opp-microvolt = <775000>;
  145. required-opps = <&opp2_03>;
  146. };
  147. opp1-1248000000 {
  148. opp-hz = /bits/ 64 <1248000000>;
  149. opp-microvolt = <800000>;
  150. required-opps = <&opp2_04>;
  151. };
  152. opp1-1326000000 {
  153. opp-hz = /bits/ 64 <1326000000>;
  154. opp-microvolt = <825000>;
  155. required-opps = <&opp2_05>;
  156. };
  157. opp1-1417000000 {
  158. opp-hz = /bits/ 64 <1417000000>;
  159. opp-microvolt = <850000>;
  160. required-opps = <&opp2_06>;
  161. };
  162. opp1-1508000000 {
  163. opp-hz = /bits/ 64 <1508000000>;
  164. opp-microvolt = <875000>;
  165. required-opps = <&opp2_07>;
  166. };
  167. opp1-1586000000 {
  168. opp-hz = /bits/ 64 <1586000000>;
  169. opp-microvolt = <900000>;
  170. required-opps = <&opp2_08>;
  171. };
  172. opp1-1625000000 {
  173. opp-hz = /bits/ 64 <1625000000>;
  174. opp-microvolt = <912500>;
  175. required-opps = <&opp2_09>;
  176. };
  177. opp1-1677000000 {
  178. opp-hz = /bits/ 64 <1677000000>;
  179. opp-microvolt = <931250>;
  180. required-opps = <&opp2_10>;
  181. };
  182. opp1-1716000000 {
  183. opp-hz = /bits/ 64 <1716000000>;
  184. opp-microvolt = <950000>;
  185. required-opps = <&opp2_11>;
  186. };
  187. opp1-1781000000 {
  188. opp-hz = /bits/ 64 <1781000000>;
  189. opp-microvolt = <975000>;
  190. required-opps = <&opp2_12>;
  191. };
  192. opp1-1846000000 {
  193. opp-hz = /bits/ 64 <1846000000>;
  194. opp-microvolt = <1000000>;
  195. required-opps = <&opp2_13>;
  196. };
  197. opp1-1924000000 {
  198. opp-hz = /bits/ 64 <1924000000>;
  199. opp-microvolt = <1025000>;
  200. required-opps = <&opp2_14>;
  201. };
  202. opp1-1989000000 {
  203. opp-hz = /bits/ 64 <1989000000>;
  204. opp-microvolt = <1050000>;
  205. required-opps = <&opp2_15>;
  206. };
  207. };
  208. cci_opp: opp-table-cci {
  209. compatible = "operating-points-v2";
  210. opp-shared;
  211. opp2_00: opp-273000000 {
  212. opp-hz = /bits/ 64 <273000000>;
  213. opp-microvolt = <650000>;
  214. };
  215. opp2_01: opp-338000000 {
  216. opp-hz = /bits/ 64 <338000000>;
  217. opp-microvolt = <687500>;
  218. };
  219. opp2_02: opp-403000000 {
  220. opp-hz = /bits/ 64 <403000000>;
  221. opp-microvolt = <718750>;
  222. };
  223. opp2_03: opp-463000000 {
  224. opp-hz = /bits/ 64 <463000000>;
  225. opp-microvolt = <756250>;
  226. };
  227. opp2_04: opp-546000000 {
  228. opp-hz = /bits/ 64 <546000000>;
  229. opp-microvolt = <800000>;
  230. };
  231. opp2_05: opp-624000000 {
  232. opp-hz = /bits/ 64 <624000000>;
  233. opp-microvolt = <818750>;
  234. };
  235. opp2_06: opp-689000000 {
  236. opp-hz = /bits/ 64 <689000000>;
  237. opp-microvolt = <850000>;
  238. };
  239. opp2_07: opp-767000000 {
  240. opp-hz = /bits/ 64 <767000000>;
  241. opp-microvolt = <868750>;
  242. };
  243. opp2_08: opp-845000000 {
  244. opp-hz = /bits/ 64 <845000000>;
  245. opp-microvolt = <893750>;
  246. };
  247. opp2_09: opp-871000000 {
  248. opp-hz = /bits/ 64 <871000000>;
  249. opp-microvolt = <906250>;
  250. };
  251. opp2_10: opp-923000000 {
  252. opp-hz = /bits/ 64 <923000000>;
  253. opp-microvolt = <931250>;
  254. };
  255. opp2_11: opp-962000000 {
  256. opp-hz = /bits/ 64 <962000000>;
  257. opp-microvolt = <943750>;
  258. };
  259. opp2_12: opp-1027000000 {
  260. opp-hz = /bits/ 64 <1027000000>;
  261. opp-microvolt = <975000>;
  262. };
  263. opp2_13: opp-1092000000 {
  264. opp-hz = /bits/ 64 <1092000000>;
  265. opp-microvolt = <1000000>;
  266. };
  267. opp2_14: opp-1144000000 {
  268. opp-hz = /bits/ 64 <1144000000>;
  269. opp-microvolt = <1025000>;
  270. };
  271. opp2_15: opp-1196000000 {
  272. opp-hz = /bits/ 64 <1196000000>;
  273. opp-microvolt = <1050000>;
  274. };
  275. };
  276. cci: cci {
  277. compatible = "mediatek,mt8183-cci";
  278. clocks = <&mcucfg CLK_MCU_BUS_SEL>,
  279. <&topckgen CLK_TOP_ARMPLL_DIV_PLL1>;
  280. clock-names = "cci", "intermediate";
  281. operating-points-v2 = <&cci_opp>;
  282. };
  283. cpus {
  284. #address-cells = <1>;
  285. #size-cells = <0>;
  286. cpu-map {
  287. cluster0 {
  288. core0 {
  289. cpu = <&cpu0>;
  290. };
  291. core1 {
  292. cpu = <&cpu1>;
  293. };
  294. core2 {
  295. cpu = <&cpu2>;
  296. };
  297. core3 {
  298. cpu = <&cpu3>;
  299. };
  300. };
  301. cluster1 {
  302. core0 {
  303. cpu = <&cpu4>;
  304. };
  305. core1 {
  306. cpu = <&cpu5>;
  307. };
  308. core2 {
  309. cpu = <&cpu6>;
  310. };
  311. core3 {
  312. cpu = <&cpu7>;
  313. };
  314. };
  315. };
  316. cpu0: cpu@0 {
  317. device_type = "cpu";
  318. compatible = "arm,cortex-a53";
  319. reg = <0x000>;
  320. enable-method = "psci";
  321. capacity-dmips-mhz = <741>;
  322. cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
  323. clocks = <&mcucfg CLK_MCU_MP0_SEL>,
  324. <&topckgen CLK_TOP_ARMPLL_DIV_PLL1>;
  325. clock-names = "cpu", "intermediate";
  326. operating-points-v2 = <&cluster0_opp>;
  327. dynamic-power-coefficient = <84>;
  328. i-cache-size = <32768>;
  329. i-cache-line-size = <64>;
  330. i-cache-sets = <256>;
  331. d-cache-size = <32768>;
  332. d-cache-line-size = <64>;
  333. d-cache-sets = <128>;
  334. next-level-cache = <&l2_0>;
  335. #cooling-cells = <2>;
  336. mediatek,cci = <&cci>;
  337. };
  338. cpu1: cpu@1 {
  339. device_type = "cpu";
  340. compatible = "arm,cortex-a53";
  341. reg = <0x001>;
  342. enable-method = "psci";
  343. capacity-dmips-mhz = <741>;
  344. cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
  345. clocks = <&mcucfg CLK_MCU_MP0_SEL>,
  346. <&topckgen CLK_TOP_ARMPLL_DIV_PLL1>;
  347. clock-names = "cpu", "intermediate";
  348. operating-points-v2 = <&cluster0_opp>;
  349. dynamic-power-coefficient = <84>;
  350. i-cache-size = <32768>;
  351. i-cache-line-size = <64>;
  352. i-cache-sets = <256>;
  353. d-cache-size = <32768>;
  354. d-cache-line-size = <64>;
  355. d-cache-sets = <128>;
  356. next-level-cache = <&l2_0>;
  357. #cooling-cells = <2>;
  358. mediatek,cci = <&cci>;
  359. };
  360. cpu2: cpu@2 {
  361. device_type = "cpu";
  362. compatible = "arm,cortex-a53";
  363. reg = <0x002>;
  364. enable-method = "psci";
  365. capacity-dmips-mhz = <741>;
  366. cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
  367. clocks = <&mcucfg CLK_MCU_MP0_SEL>,
  368. <&topckgen CLK_TOP_ARMPLL_DIV_PLL1>;
  369. clock-names = "cpu", "intermediate";
  370. operating-points-v2 = <&cluster0_opp>;
  371. dynamic-power-coefficient = <84>;
  372. i-cache-size = <32768>;
  373. i-cache-line-size = <64>;
  374. i-cache-sets = <256>;
  375. d-cache-size = <32768>;
  376. d-cache-line-size = <64>;
  377. d-cache-sets = <128>;
  378. next-level-cache = <&l2_0>;
  379. #cooling-cells = <2>;
  380. mediatek,cci = <&cci>;
  381. };
  382. cpu3: cpu@3 {
  383. device_type = "cpu";
  384. compatible = "arm,cortex-a53";
  385. reg = <0x003>;
  386. enable-method = "psci";
  387. capacity-dmips-mhz = <741>;
  388. cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP0>;
  389. clocks = <&mcucfg CLK_MCU_MP0_SEL>,
  390. <&topckgen CLK_TOP_ARMPLL_DIV_PLL1>;
  391. clock-names = "cpu", "intermediate";
  392. operating-points-v2 = <&cluster0_opp>;
  393. dynamic-power-coefficient = <84>;
  394. i-cache-size = <32768>;
  395. i-cache-line-size = <64>;
  396. i-cache-sets = <256>;
  397. d-cache-size = <32768>;
  398. d-cache-line-size = <64>;
  399. d-cache-sets = <128>;
  400. next-level-cache = <&l2_0>;
  401. #cooling-cells = <2>;
  402. mediatek,cci = <&cci>;
  403. };
  404. cpu4: cpu@100 {
  405. device_type = "cpu";
  406. compatible = "arm,cortex-a73";
  407. reg = <0x100>;
  408. enable-method = "psci";
  409. capacity-dmips-mhz = <1024>;
  410. cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
  411. clocks = <&mcucfg CLK_MCU_MP2_SEL>,
  412. <&topckgen CLK_TOP_ARMPLL_DIV_PLL1>;
  413. clock-names = "cpu", "intermediate";
  414. operating-points-v2 = <&cluster1_opp>;
  415. dynamic-power-coefficient = <211>;
  416. i-cache-size = <65536>;
  417. i-cache-line-size = <64>;
  418. i-cache-sets = <256>;
  419. d-cache-size = <65536>;
  420. d-cache-line-size = <64>;
  421. d-cache-sets = <256>;
  422. next-level-cache = <&l2_1>;
  423. #cooling-cells = <2>;
  424. mediatek,cci = <&cci>;
  425. };
  426. cpu5: cpu@101 {
  427. device_type = "cpu";
  428. compatible = "arm,cortex-a73";
  429. reg = <0x101>;
  430. enable-method = "psci";
  431. capacity-dmips-mhz = <1024>;
  432. cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
  433. clocks = <&mcucfg CLK_MCU_MP2_SEL>,
  434. <&topckgen CLK_TOP_ARMPLL_DIV_PLL1>;
  435. clock-names = "cpu", "intermediate";
  436. operating-points-v2 = <&cluster1_opp>;
  437. dynamic-power-coefficient = <211>;
  438. i-cache-size = <65536>;
  439. i-cache-line-size = <64>;
  440. i-cache-sets = <256>;
  441. d-cache-size = <65536>;
  442. d-cache-line-size = <64>;
  443. d-cache-sets = <256>;
  444. next-level-cache = <&l2_1>;
  445. #cooling-cells = <2>;
  446. mediatek,cci = <&cci>;
  447. };
  448. cpu6: cpu@102 {
  449. device_type = "cpu";
  450. compatible = "arm,cortex-a73";
  451. reg = <0x102>;
  452. enable-method = "psci";
  453. capacity-dmips-mhz = <1024>;
  454. cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
  455. clocks = <&mcucfg CLK_MCU_MP2_SEL>,
  456. <&topckgen CLK_TOP_ARMPLL_DIV_PLL1>;
  457. clock-names = "cpu", "intermediate";
  458. operating-points-v2 = <&cluster1_opp>;
  459. dynamic-power-coefficient = <211>;
  460. i-cache-size = <65536>;
  461. i-cache-line-size = <64>;
  462. i-cache-sets = <256>;
  463. d-cache-size = <65536>;
  464. d-cache-line-size = <64>;
  465. d-cache-sets = <256>;
  466. next-level-cache = <&l2_1>;
  467. #cooling-cells = <2>;
  468. mediatek,cci = <&cci>;
  469. };
  470. cpu7: cpu@103 {
  471. device_type = "cpu";
  472. compatible = "arm,cortex-a73";
  473. reg = <0x103>;
  474. enable-method = "psci";
  475. capacity-dmips-mhz = <1024>;
  476. cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP1>;
  477. clocks = <&mcucfg CLK_MCU_MP2_SEL>,
  478. <&topckgen CLK_TOP_ARMPLL_DIV_PLL1>;
  479. clock-names = "cpu", "intermediate";
  480. operating-points-v2 = <&cluster1_opp>;
  481. dynamic-power-coefficient = <211>;
  482. i-cache-size = <65536>;
  483. i-cache-line-size = <64>;
  484. i-cache-sets = <256>;
  485. d-cache-size = <65536>;
  486. d-cache-line-size = <64>;
  487. d-cache-sets = <256>;
  488. next-level-cache = <&l2_1>;
  489. #cooling-cells = <2>;
  490. mediatek,cci = <&cci>;
  491. };
  492. idle-states {
  493. entry-method = "psci";
  494. CPU_SLEEP: cpu-sleep {
  495. compatible = "arm,idle-state";
  496. local-timer-stop;
  497. arm,psci-suspend-param = <0x00010001>;
  498. entry-latency-us = <200>;
  499. exit-latency-us = <200>;
  500. min-residency-us = <800>;
  501. };
  502. CLUSTER_SLEEP0: cluster-sleep-0 {
  503. compatible = "arm,idle-state";
  504. local-timer-stop;
  505. arm,psci-suspend-param = <0x01010001>;
  506. entry-latency-us = <250>;
  507. exit-latency-us = <400>;
  508. min-residency-us = <1000>;
  509. };
  510. CLUSTER_SLEEP1: cluster-sleep-1 {
  511. compatible = "arm,idle-state";
  512. local-timer-stop;
  513. arm,psci-suspend-param = <0x01010001>;
  514. entry-latency-us = <250>;
  515. exit-latency-us = <400>;
  516. min-residency-us = <1300>;
  517. };
  518. };
  519. l2_0: l2-cache0 {
  520. compatible = "cache";
  521. cache-level = <2>;
  522. cache-size = <1048576>;
  523. cache-line-size = <64>;
  524. cache-sets = <1024>;
  525. cache-unified;
  526. };
  527. l2_1: l2-cache1 {
  528. compatible = "cache";
  529. cache-level = <2>;
  530. cache-size = <1048576>;
  531. cache-line-size = <64>;
  532. cache-sets = <1024>;
  533. cache-unified;
  534. };
  535. };
  536. gpu_opp_table: opp-table-0 {
  537. compatible = "operating-points-v2";
  538. opp-shared;
  539. opp-300000000 {
  540. opp-hz = /bits/ 64 <300000000>;
  541. opp-microvolt = <625000>;
  542. };
  543. opp-320000000 {
  544. opp-hz = /bits/ 64 <320000000>;
  545. opp-microvolt = <631250>;
  546. };
  547. opp-340000000 {
  548. opp-hz = /bits/ 64 <340000000>;
  549. opp-microvolt = <637500>;
  550. };
  551. opp-360000000 {
  552. opp-hz = /bits/ 64 <360000000>;
  553. opp-microvolt = <643750>;
  554. };
  555. opp-380000000 {
  556. opp-hz = /bits/ 64 <380000000>;
  557. opp-microvolt = <650000>;
  558. };
  559. opp-400000000 {
  560. opp-hz = /bits/ 64 <400000000>;
  561. opp-microvolt = <656250>;
  562. };
  563. opp-420000000 {
  564. opp-hz = /bits/ 64 <420000000>;
  565. opp-microvolt = <662500>;
  566. };
  567. opp-460000000 {
  568. opp-hz = /bits/ 64 <460000000>;
  569. opp-microvolt = <675000>;
  570. };
  571. opp-500000000 {
  572. opp-hz = /bits/ 64 <500000000>;
  573. opp-microvolt = <687500>;
  574. };
  575. opp-540000000 {
  576. opp-hz = /bits/ 64 <540000000>;
  577. opp-microvolt = <700000>;
  578. };
  579. opp-580000000 {
  580. opp-hz = /bits/ 64 <580000000>;
  581. opp-microvolt = <712500>;
  582. };
  583. opp-620000000 {
  584. opp-hz = /bits/ 64 <620000000>;
  585. opp-microvolt = <725000>;
  586. };
  587. opp-653000000 {
  588. opp-hz = /bits/ 64 <653000000>;
  589. opp-microvolt = <743750>;
  590. };
  591. opp-698000000 {
  592. opp-hz = /bits/ 64 <698000000>;
  593. opp-microvolt = <768750>;
  594. };
  595. opp-743000000 {
  596. opp-hz = /bits/ 64 <743000000>;
  597. opp-microvolt = <793750>;
  598. };
  599. opp-800000000 {
  600. opp-hz = /bits/ 64 <800000000>;
  601. opp-microvolt = <825000>;
  602. };
  603. };
  604. pmu-a53 {
  605. compatible = "arm,cortex-a53-pmu";
  606. interrupt-parent = <&gic>;
  607. interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster0>;
  608. };
  609. pmu-a73 {
  610. compatible = "arm,cortex-a73-pmu";
  611. interrupt-parent = <&gic>;
  612. interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster1>;
  613. };
  614. psci {
  615. compatible = "arm,psci-1.0";
  616. method = "smc";
  617. };
  618. clk13m: fixed-factor-clock-13m {
  619. compatible = "fixed-factor-clock";
  620. #clock-cells = <0>;
  621. clocks = <&clk26m>;
  622. clock-div = <2>;
  623. clock-mult = <1>;
  624. clock-output-names = "clk13m";
  625. };
  626. clk26m: oscillator {
  627. compatible = "fixed-clock";
  628. #clock-cells = <0>;
  629. clock-frequency = <26000000>;
  630. clock-output-names = "clk26m";
  631. };
  632. timer {
  633. compatible = "arm,armv8-timer";
  634. interrupt-parent = <&gic>;
  635. interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW 0>,
  636. <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW 0>,
  637. <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW 0>,
  638. <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW 0>;
  639. };
  640. soc {
  641. #address-cells = <2>;
  642. #size-cells = <2>;
  643. compatible = "simple-bus";
  644. ranges;
  645. soc_data: efuse@8000000 {
  646. compatible = "mediatek,mt8183-efuse",
  647. "mediatek,efuse";
  648. reg = <0 0x08000000 0 0x0010>;
  649. #address-cells = <1>;
  650. #size-cells = <1>;
  651. status = "disabled";
  652. };
  653. gic: interrupt-controller@c000000 {
  654. compatible = "arm,gic-v3";
  655. #interrupt-cells = <4>;
  656. interrupt-parent = <&gic>;
  657. interrupt-controller;
  658. reg = <0 0x0c000000 0 0x40000>, /* GICD */
  659. <0 0x0c100000 0 0x200000>, /* GICR */
  660. <0 0x0c400000 0 0x2000>, /* GICC */
  661. <0 0x0c410000 0 0x1000>, /* GICH */
  662. <0 0x0c420000 0 0x2000>; /* GICV */
  663. interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
  664. ppi-partitions {
  665. ppi_cluster0: interrupt-partition-0 {
  666. affinity = <&cpu0 &cpu1 &cpu2 &cpu3>;
  667. };
  668. ppi_cluster1: interrupt-partition-1 {
  669. affinity = <&cpu4 &cpu5 &cpu6 &cpu7>;
  670. };
  671. };
  672. };
  673. mcucfg: syscon@c530000 {
  674. compatible = "mediatek,mt8183-mcucfg", "syscon";
  675. reg = <0 0x0c530000 0 0x1000>;
  676. #clock-cells = <1>;
  677. };
  678. sysirq: interrupt-controller@c530a80 {
  679. compatible = "mediatek,mt8183-sysirq",
  680. "mediatek,mt6577-sysirq";
  681. interrupt-controller;
  682. #interrupt-cells = <3>;
  683. interrupt-parent = <&gic>;
  684. reg = <0 0x0c530a80 0 0x50>;
  685. };
  686. cpu_debug0: cpu-debug@d410000 {
  687. compatible = "arm,coresight-cpu-debug", "arm,primecell";
  688. reg = <0x0 0xd410000 0x0 0x1000>;
  689. clocks = <&infracfg CLK_INFRA_DEBUGSYS>;
  690. clock-names = "apb_pclk";
  691. cpu = <&cpu0>;
  692. };
  693. cpu_debug1: cpu-debug@d510000 {
  694. compatible = "arm,coresight-cpu-debug", "arm,primecell";
  695. reg = <0x0 0xd510000 0x0 0x1000>;
  696. clocks = <&infracfg CLK_INFRA_DEBUGSYS>;
  697. clock-names = "apb_pclk";
  698. cpu = <&cpu1>;
  699. };
  700. cpu_debug2: cpu-debug@d610000 {
  701. compatible = "arm,coresight-cpu-debug", "arm,primecell";
  702. reg = <0x0 0xd610000 0x0 0x1000>;
  703. clocks = <&infracfg CLK_INFRA_DEBUGSYS>;
  704. clock-names = "apb_pclk";
  705. cpu = <&cpu2>;
  706. };
  707. cpu_debug3: cpu-debug@d710000 {
  708. compatible = "arm,coresight-cpu-debug", "arm,primecell";
  709. reg = <0x0 0xd710000 0x0 0x1000>;
  710. clocks = <&infracfg CLK_INFRA_DEBUGSYS>;
  711. clock-names = "apb_pclk";
  712. cpu = <&cpu3>;
  713. };
  714. cpu_debug4: cpu-debug@d810000 {
  715. compatible = "arm,coresight-cpu-debug", "arm,primecell";
  716. reg = <0x0 0xd810000 0x0 0x1000>;
  717. clocks = <&infracfg CLK_INFRA_DEBUGSYS>;
  718. clock-names = "apb_pclk";
  719. cpu = <&cpu4>;
  720. };
  721. cpu_debug5: cpu-debug@d910000 {
  722. compatible = "arm,coresight-cpu-debug", "arm,primecell";
  723. reg = <0x0 0xd910000 0x0 0x1000>;
  724. clocks = <&infracfg CLK_INFRA_DEBUGSYS>;
  725. clock-names = "apb_pclk";
  726. cpu = <&cpu5>;
  727. };
  728. cpu_debug6: cpu-debug@da10000 {
  729. compatible = "arm,coresight-cpu-debug", "arm,primecell";
  730. reg = <0x0 0xda10000 0x0 0x1000>;
  731. clocks = <&infracfg CLK_INFRA_DEBUGSYS>;
  732. clock-names = "apb_pclk";
  733. cpu = <&cpu6>;
  734. };
  735. cpu_debug7: cpu-debug@db10000 {
  736. compatible = "arm,coresight-cpu-debug", "arm,primecell";
  737. reg = <0x0 0xdb10000 0x0 0x1000>;
  738. clocks = <&infracfg CLK_INFRA_DEBUGSYS>;
  739. clock-names = "apb_pclk";
  740. cpu = <&cpu7>;
  741. };
  742. topckgen: syscon@10000000 {
  743. compatible = "mediatek,mt8183-topckgen", "syscon";
  744. reg = <0 0x10000000 0 0x1000>;
  745. #clock-cells = <1>;
  746. };
  747. infracfg: syscon@10001000 {
  748. compatible = "mediatek,mt8183-infracfg", "syscon";
  749. reg = <0 0x10001000 0 0x1000>;
  750. #clock-cells = <1>;
  751. #reset-cells = <1>;
  752. };
  753. pericfg: syscon@10003000 {
  754. compatible = "mediatek,mt8183-pericfg", "syscon";
  755. reg = <0 0x10003000 0 0x1000>;
  756. #clock-cells = <1>;
  757. };
  758. pio: pinctrl@10005000 {
  759. compatible = "mediatek,mt8183-pinctrl";
  760. reg = <0 0x10005000 0 0x1000>,
  761. <0 0x11f20000 0 0x1000>,
  762. <0 0x11e80000 0 0x1000>,
  763. <0 0x11e70000 0 0x1000>,
  764. <0 0x11e90000 0 0x1000>,
  765. <0 0x11d30000 0 0x1000>,
  766. <0 0x11d20000 0 0x1000>,
  767. <0 0x11c50000 0 0x1000>,
  768. <0 0x11f30000 0 0x1000>,
  769. <0 0x1000b000 0 0x1000>;
  770. reg-names = "iocfg0", "iocfg1", "iocfg2",
  771. "iocfg3", "iocfg4", "iocfg5",
  772. "iocfg6", "iocfg7", "iocfg8",
  773. "eint";
  774. gpio-controller;
  775. #gpio-cells = <2>;
  776. gpio-ranges = <&pio 0 0 192>;
  777. interrupt-controller;
  778. interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
  779. #interrupt-cells = <2>;
  780. };
  781. scpsys: syscon@10006000 {
  782. compatible = "mediatek,mt8183-scpsys", "syscon", "simple-mfd";
  783. reg = <0 0x10006000 0 0x1000>;
  784. /* System Power Manager */
  785. spm: power-controller {
  786. compatible = "mediatek,mt8183-power-controller";
  787. #address-cells = <1>;
  788. #size-cells = <0>;
  789. #power-domain-cells = <1>;
  790. /* power domain of the SoC */
  791. power-domain@MT8183_POWER_DOMAIN_AUDIO {
  792. reg = <MT8183_POWER_DOMAIN_AUDIO>;
  793. clocks = <&topckgen CLK_TOP_MUX_AUD_INTBUS>,
  794. <&infracfg CLK_INFRA_AUDIO>,
  795. <&infracfg CLK_INFRA_AUDIO_26M_BCLK>;
  796. clock-names = "audio", "audio1", "audio2";
  797. #power-domain-cells = <0>;
  798. };
  799. power-domain@MT8183_POWER_DOMAIN_CONN {
  800. reg = <MT8183_POWER_DOMAIN_CONN>;
  801. mediatek,infracfg = <&infracfg>;
  802. #power-domain-cells = <0>;
  803. };
  804. mfg_async: power-domain@MT8183_POWER_DOMAIN_MFG_ASYNC {
  805. reg = <MT8183_POWER_DOMAIN_MFG_ASYNC>;
  806. #address-cells = <1>;
  807. #size-cells = <0>;
  808. #power-domain-cells = <1>;
  809. mfg: power-domain@MT8183_POWER_DOMAIN_MFG {
  810. reg = <MT8183_POWER_DOMAIN_MFG>;
  811. #address-cells = <1>;
  812. #size-cells = <0>;
  813. #power-domain-cells = <1>;
  814. power-domain@MT8183_POWER_DOMAIN_MFG_CORE0 {
  815. reg = <MT8183_POWER_DOMAIN_MFG_CORE0>;
  816. #power-domain-cells = <0>;
  817. };
  818. power-domain@MT8183_POWER_DOMAIN_MFG_CORE1 {
  819. reg = <MT8183_POWER_DOMAIN_MFG_CORE1>;
  820. #power-domain-cells = <0>;
  821. };
  822. power-domain@MT8183_POWER_DOMAIN_MFG_2D {
  823. reg = <MT8183_POWER_DOMAIN_MFG_2D>;
  824. mediatek,infracfg = <&infracfg>;
  825. #power-domain-cells = <0>;
  826. };
  827. };
  828. };
  829. power-domain@MT8183_POWER_DOMAIN_DISP {
  830. reg = <MT8183_POWER_DOMAIN_DISP>;
  831. clocks = <&topckgen CLK_TOP_MUX_MM>,
  832. <&mmsys CLK_MM_SMI_COMMON>,
  833. <&mmsys CLK_MM_SMI_LARB0>,
  834. <&mmsys CLK_MM_SMI_LARB1>,
  835. <&mmsys CLK_MM_GALS_COMM0>,
  836. <&mmsys CLK_MM_GALS_COMM1>,
  837. <&mmsys CLK_MM_GALS_CCU2MM>,
  838. <&mmsys CLK_MM_GALS_IPU12MM>,
  839. <&mmsys CLK_MM_GALS_IMG2MM>,
  840. <&mmsys CLK_MM_GALS_CAM2MM>,
  841. <&mmsys CLK_MM_GALS_IPU2MM>;
  842. clock-names = "mm", "mm-0", "mm-1", "mm-2", "mm-3",
  843. "mm-4", "mm-5", "mm-6", "mm-7",
  844. "mm-8", "mm-9";
  845. mediatek,infracfg = <&infracfg>;
  846. mediatek,smi = <&smi_common>;
  847. #address-cells = <1>;
  848. #size-cells = <0>;
  849. #power-domain-cells = <1>;
  850. power-domain@MT8183_POWER_DOMAIN_CAM {
  851. reg = <MT8183_POWER_DOMAIN_CAM>;
  852. clocks = <&topckgen CLK_TOP_MUX_CAM>,
  853. <&camsys CLK_CAM_LARB6>,
  854. <&camsys CLK_CAM_LARB3>,
  855. <&camsys CLK_CAM_SENINF>,
  856. <&camsys CLK_CAM_CAMSV0>,
  857. <&camsys CLK_CAM_CAMSV1>,
  858. <&camsys CLK_CAM_CAMSV2>,
  859. <&camsys CLK_CAM_CCU>;
  860. clock-names = "cam", "cam-0", "cam-1",
  861. "cam-2", "cam-3", "cam-4",
  862. "cam-5", "cam-6";
  863. mediatek,infracfg = <&infracfg>;
  864. mediatek,smi = <&smi_common>;
  865. #power-domain-cells = <0>;
  866. };
  867. power-domain@MT8183_POWER_DOMAIN_ISP {
  868. reg = <MT8183_POWER_DOMAIN_ISP>;
  869. clocks = <&topckgen CLK_TOP_MUX_IMG>,
  870. <&imgsys CLK_IMG_LARB5>,
  871. <&imgsys CLK_IMG_LARB2>;
  872. clock-names = "isp", "isp-0", "isp-1";
  873. mediatek,infracfg = <&infracfg>;
  874. mediatek,smi = <&smi_common>;
  875. #power-domain-cells = <0>;
  876. };
  877. power-domain@MT8183_POWER_DOMAIN_VDEC {
  878. reg = <MT8183_POWER_DOMAIN_VDEC>;
  879. mediatek,smi = <&smi_common>;
  880. #power-domain-cells = <0>;
  881. };
  882. power-domain@MT8183_POWER_DOMAIN_VENC {
  883. reg = <MT8183_POWER_DOMAIN_VENC>;
  884. mediatek,smi = <&smi_common>;
  885. #power-domain-cells = <0>;
  886. };
  887. power-domain@MT8183_POWER_DOMAIN_VPU_TOP {
  888. reg = <MT8183_POWER_DOMAIN_VPU_TOP>;
  889. clocks = <&topckgen CLK_TOP_MUX_IPU_IF>,
  890. <&topckgen CLK_TOP_MUX_DSP>,
  891. <&ipu_conn CLK_IPU_CONN_IPU>,
  892. <&ipu_conn CLK_IPU_CONN_AHB>,
  893. <&ipu_conn CLK_IPU_CONN_AXI>,
  894. <&ipu_conn CLK_IPU_CONN_ISP>,
  895. <&ipu_conn CLK_IPU_CONN_CAM_ADL>,
  896. <&ipu_conn CLK_IPU_CONN_IMG_ADL>;
  897. clock-names = "vpu", "vpu1", "vpu-0", "vpu-1",
  898. "vpu-2", "vpu-3", "vpu-4", "vpu-5";
  899. mediatek,infracfg = <&infracfg>;
  900. mediatek,smi = <&smi_common>;
  901. #address-cells = <1>;
  902. #size-cells = <0>;
  903. #power-domain-cells = <1>;
  904. power-domain@MT8183_POWER_DOMAIN_VPU_CORE0 {
  905. reg = <MT8183_POWER_DOMAIN_VPU_CORE0>;
  906. clocks = <&topckgen CLK_TOP_MUX_DSP1>;
  907. clock-names = "vpu2";
  908. mediatek,infracfg = <&infracfg>;
  909. #power-domain-cells = <0>;
  910. };
  911. power-domain@MT8183_POWER_DOMAIN_VPU_CORE1 {
  912. reg = <MT8183_POWER_DOMAIN_VPU_CORE1>;
  913. clocks = <&topckgen CLK_TOP_MUX_DSP2>;
  914. clock-names = "vpu3";
  915. mediatek,infracfg = <&infracfg>;
  916. #power-domain-cells = <0>;
  917. };
  918. };
  919. };
  920. };
  921. };
  922. watchdog: watchdog@10007000 {
  923. compatible = "mediatek,mt8183-wdt";
  924. reg = <0 0x10007000 0 0x100>;
  925. #reset-cells = <1>;
  926. };
  927. apmixedsys: syscon@1000c000 {
  928. compatible = "mediatek,mt8183-apmixedsys", "syscon";
  929. reg = <0 0x1000c000 0 0x1000>;
  930. #clock-cells = <1>;
  931. };
  932. pwrap: pwrap@1000d000 {
  933. compatible = "mediatek,mt8183-pwrap";
  934. reg = <0 0x1000d000 0 0x1000>;
  935. reg-names = "pwrap";
  936. interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
  937. clocks = <&topckgen CLK_TOP_MUX_PMICSPI>,
  938. <&infracfg CLK_INFRA_PMIC_AP>;
  939. clock-names = "spi", "wrap";
  940. };
  941. keyboard: keyboard@10010000 {
  942. compatible = "mediatek,mt8183-keypad",
  943. "mediatek,mt6779-keypad";
  944. reg = <0 0x10010000 0 0x1000>;
  945. interrupts = <GIC_SPI 186 IRQ_TYPE_EDGE_FALLING>;
  946. clocks = <&clk26m>;
  947. clock-names = "kpd";
  948. status = "disabled";
  949. };
  950. scp: scp@10500000 {
  951. compatible = "mediatek,mt8183-scp";
  952. reg = <0 0x10500000 0 0x80000>,
  953. <0 0x105c0000 0 0x19080>;
  954. reg-names = "sram", "cfg";
  955. interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
  956. clocks = <&infracfg CLK_INFRA_SCPSYS>;
  957. clock-names = "main";
  958. memory-region = <&scp_mem_reserved>;
  959. status = "disabled";
  960. };
  961. systimer: timer@10017000 {
  962. compatible = "mediatek,mt8183-timer",
  963. "mediatek,mt6765-timer";
  964. reg = <0 0x10017000 0 0x1000>;
  965. interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
  966. clocks = <&clk13m>;
  967. };
  968. iommu: iommu@10205000 {
  969. compatible = "mediatek,mt8183-m4u";
  970. reg = <0 0x10205000 0 0x1000>;
  971. interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_LOW>;
  972. mediatek,larbs = <&larb0>, <&larb1>, <&larb2>, <&larb3>,
  973. <&larb4>, <&larb5>, <&larb6>;
  974. #iommu-cells = <1>;
  975. };
  976. gce: mailbox@10238000 {
  977. compatible = "mediatek,mt8183-gce";
  978. reg = <0 0x10238000 0 0x4000>;
  979. interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_LOW>;
  980. #mbox-cells = <2>;
  981. clocks = <&infracfg CLK_INFRA_GCE>;
  982. clock-names = "gce";
  983. };
  984. auxadc: auxadc@11001000 {
  985. compatible = "mediatek,mt8183-auxadc",
  986. "mediatek,mt8173-auxadc";
  987. reg = <0 0x11001000 0 0x1000>;
  988. clocks = <&infracfg CLK_INFRA_AUXADC>;
  989. clock-names = "main";
  990. #io-channel-cells = <1>;
  991. status = "disabled";
  992. };
  993. uart0: serial@11002000 {
  994. compatible = "mediatek,mt8183-uart",
  995. "mediatek,mt6577-uart";
  996. reg = <0 0x11002000 0 0x1000>;
  997. interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>;
  998. clocks = <&clk26m>, <&infracfg CLK_INFRA_UART0>;
  999. clock-names = "baud", "bus";
  1000. status = "disabled";
  1001. };
  1002. uart1: serial@11003000 {
  1003. compatible = "mediatek,mt8183-uart",
  1004. "mediatek,mt6577-uart";
  1005. reg = <0 0x11003000 0 0x1000>;
  1006. interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>;
  1007. clocks = <&clk26m>, <&infracfg CLK_INFRA_UART1>;
  1008. clock-names = "baud", "bus";
  1009. status = "disabled";
  1010. };
  1011. uart2: serial@11004000 {
  1012. compatible = "mediatek,mt8183-uart",
  1013. "mediatek,mt6577-uart";
  1014. reg = <0 0x11004000 0 0x1000>;
  1015. interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_LOW>;
  1016. clocks = <&clk26m>, <&infracfg CLK_INFRA_UART2>;
  1017. clock-names = "baud", "bus";
  1018. status = "disabled";
  1019. };
  1020. i2c6: i2c@11005000 {
  1021. compatible = "mediatek,mt8183-i2c";
  1022. reg = <0 0x11005000 0 0x1000>,
  1023. <0 0x11000600 0 0x80>;
  1024. interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_LOW>;
  1025. clocks = <&infracfg CLK_INFRA_I2C6>,
  1026. <&infracfg CLK_INFRA_AP_DMA>;
  1027. clock-names = "main", "dma";
  1028. clock-div = <1>;
  1029. #address-cells = <1>;
  1030. #size-cells = <0>;
  1031. status = "disabled";
  1032. };
  1033. i2c0: i2c@11007000 {
  1034. compatible = "mediatek,mt8183-i2c";
  1035. reg = <0 0x11007000 0 0x1000>,
  1036. <0 0x11000080 0 0x80>;
  1037. interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_LOW>;
  1038. clocks = <&infracfg CLK_INFRA_I2C0>,
  1039. <&infracfg CLK_INFRA_AP_DMA>;
  1040. clock-names = "main", "dma";
  1041. clock-div = <1>;
  1042. #address-cells = <1>;
  1043. #size-cells = <0>;
  1044. status = "disabled";
  1045. };
  1046. i2c4: i2c@11008000 {
  1047. compatible = "mediatek,mt8183-i2c";
  1048. reg = <0 0x11008000 0 0x1000>,
  1049. <0 0x11000100 0 0x80>;
  1050. interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_LOW>;
  1051. clocks = <&infracfg CLK_INFRA_I2C1>,
  1052. <&infracfg CLK_INFRA_AP_DMA>,
  1053. <&infracfg CLK_INFRA_I2C1_ARBITER>;
  1054. clock-names = "main", "dma","arb";
  1055. clock-div = <1>;
  1056. #address-cells = <1>;
  1057. #size-cells = <0>;
  1058. status = "disabled";
  1059. };
  1060. i2c2: i2c@11009000 {
  1061. compatible = "mediatek,mt8183-i2c";
  1062. reg = <0 0x11009000 0 0x1000>,
  1063. <0 0x11000280 0 0x80>;
  1064. interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_LOW>;
  1065. clocks = <&infracfg CLK_INFRA_I2C2>,
  1066. <&infracfg CLK_INFRA_AP_DMA>,
  1067. <&infracfg CLK_INFRA_I2C2_ARBITER>;
  1068. clock-names = "main", "dma", "arb";
  1069. clock-div = <1>;
  1070. #address-cells = <1>;
  1071. #size-cells = <0>;
  1072. status = "disabled";
  1073. };
  1074. spi0: spi@1100a000 {
  1075. compatible = "mediatek,mt8183-spi";
  1076. #address-cells = <1>;
  1077. #size-cells = <0>;
  1078. reg = <0 0x1100a000 0 0x1000>;
  1079. interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_LOW>;
  1080. clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
  1081. <&topckgen CLK_TOP_MUX_SPI>,
  1082. <&infracfg CLK_INFRA_SPI0>;
  1083. clock-names = "parent-clk", "sel-clk", "spi-clk";
  1084. status = "disabled";
  1085. };
  1086. thermal: thermal-sensor@1100b000 {
  1087. #thermal-sensor-cells = <1>;
  1088. compatible = "mediatek,mt8183-thermal";
  1089. reg = <0 0x1100b000 0 0xc00>;
  1090. clocks = <&infracfg CLK_INFRA_THERM>,
  1091. <&infracfg CLK_INFRA_AUXADC>;
  1092. clock-names = "therm", "auxadc";
  1093. resets = <&infracfg MT8183_INFRACFG_AO_THERM_SW_RST>;
  1094. interrupts = <0 76 IRQ_TYPE_LEVEL_LOW>;
  1095. mediatek,auxadc = <&auxadc>;
  1096. mediatek,apmixedsys = <&apmixedsys>;
  1097. nvmem-cells = <&thermal_calibration>;
  1098. nvmem-cell-names = "calibration-data";
  1099. };
  1100. svs: svs@1100bc00 {
  1101. compatible = "mediatek,mt8183-svs";
  1102. reg = <0 0x1100bc00 0 0x400>;
  1103. interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_LOW>;
  1104. clocks = <&infracfg CLK_INFRA_THERM>;
  1105. clock-names = "main";
  1106. nvmem-cells = <&svs_calibration>,
  1107. <&thermal_calibration>;
  1108. nvmem-cell-names = "svs-calibration-data",
  1109. "t-calibration-data";
  1110. };
  1111. pwm0: pwm@1100e000 {
  1112. compatible = "mediatek,mt8183-disp-pwm";
  1113. reg = <0 0x1100e000 0 0x1000>;
  1114. interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_LOW>;
  1115. power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
  1116. #pwm-cells = <2>;
  1117. clocks = <&topckgen CLK_TOP_MUX_DISP_PWM>,
  1118. <&infracfg CLK_INFRA_DISP_PWM>;
  1119. clock-names = "main", "mm";
  1120. };
  1121. pwm1: pwm@11006000 {
  1122. compatible = "mediatek,mt8183-pwm";
  1123. reg = <0 0x11006000 0 0x1000>;
  1124. #pwm-cells = <2>;
  1125. clocks = <&infracfg CLK_INFRA_PWM>,
  1126. <&infracfg CLK_INFRA_PWM_HCLK>,
  1127. <&infracfg CLK_INFRA_PWM1>,
  1128. <&infracfg CLK_INFRA_PWM2>,
  1129. <&infracfg CLK_INFRA_PWM3>,
  1130. <&infracfg CLK_INFRA_PWM4>;
  1131. clock-names = "top", "main", "pwm1", "pwm2", "pwm3",
  1132. "pwm4";
  1133. };
  1134. i2c3: i2c@1100f000 {
  1135. compatible = "mediatek,mt8183-i2c";
  1136. reg = <0 0x1100f000 0 0x1000>,
  1137. <0 0x11000400 0 0x80>;
  1138. interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>;
  1139. clocks = <&infracfg CLK_INFRA_I2C3>,
  1140. <&infracfg CLK_INFRA_AP_DMA>;
  1141. clock-names = "main", "dma";
  1142. clock-div = <1>;
  1143. #address-cells = <1>;
  1144. #size-cells = <0>;
  1145. status = "disabled";
  1146. };
  1147. spi1: spi@11010000 {
  1148. compatible = "mediatek,mt8183-spi";
  1149. #address-cells = <1>;
  1150. #size-cells = <0>;
  1151. reg = <0 0x11010000 0 0x1000>;
  1152. interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_LOW>;
  1153. clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
  1154. <&topckgen CLK_TOP_MUX_SPI>,
  1155. <&infracfg CLK_INFRA_SPI1>;
  1156. clock-names = "parent-clk", "sel-clk", "spi-clk";
  1157. status = "disabled";
  1158. };
  1159. i2c1: i2c@11011000 {
  1160. compatible = "mediatek,mt8183-i2c";
  1161. reg = <0 0x11011000 0 0x1000>,
  1162. <0 0x11000480 0 0x80>;
  1163. interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_LOW>;
  1164. clocks = <&infracfg CLK_INFRA_I2C4>,
  1165. <&infracfg CLK_INFRA_AP_DMA>;
  1166. clock-names = "main", "dma";
  1167. clock-div = <1>;
  1168. #address-cells = <1>;
  1169. #size-cells = <0>;
  1170. status = "disabled";
  1171. };
  1172. spi2: spi@11012000 {
  1173. compatible = "mediatek,mt8183-spi";
  1174. #address-cells = <1>;
  1175. #size-cells = <0>;
  1176. reg = <0 0x11012000 0 0x1000>;
  1177. interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_LOW>;
  1178. clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
  1179. <&topckgen CLK_TOP_MUX_SPI>,
  1180. <&infracfg CLK_INFRA_SPI2>;
  1181. clock-names = "parent-clk", "sel-clk", "spi-clk";
  1182. status = "disabled";
  1183. };
  1184. spi3: spi@11013000 {
  1185. compatible = "mediatek,mt8183-spi";
  1186. #address-cells = <1>;
  1187. #size-cells = <0>;
  1188. reg = <0 0x11013000 0 0x1000>;
  1189. interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_LOW>;
  1190. clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
  1191. <&topckgen CLK_TOP_MUX_SPI>,
  1192. <&infracfg CLK_INFRA_SPI3>;
  1193. clock-names = "parent-clk", "sel-clk", "spi-clk";
  1194. status = "disabled";
  1195. };
  1196. i2c9: i2c@11014000 {
  1197. compatible = "mediatek,mt8183-i2c";
  1198. reg = <0 0x11014000 0 0x1000>,
  1199. <0 0x11000180 0 0x80>;
  1200. interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_LOW>;
  1201. clocks = <&infracfg CLK_INFRA_I2C1_IMM>,
  1202. <&infracfg CLK_INFRA_AP_DMA>,
  1203. <&infracfg CLK_INFRA_I2C1_ARBITER>;
  1204. clock-names = "main", "dma", "arb";
  1205. clock-div = <1>;
  1206. #address-cells = <1>;
  1207. #size-cells = <0>;
  1208. status = "disabled";
  1209. };
  1210. i2c10: i2c@11015000 {
  1211. compatible = "mediatek,mt8183-i2c";
  1212. reg = <0 0x11015000 0 0x1000>,
  1213. <0 0x11000300 0 0x80>;
  1214. interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
  1215. clocks = <&infracfg CLK_INFRA_I2C2_IMM>,
  1216. <&infracfg CLK_INFRA_AP_DMA>,
  1217. <&infracfg CLK_INFRA_I2C2_ARBITER>;
  1218. clock-names = "main", "dma", "arb";
  1219. clock-div = <1>;
  1220. #address-cells = <1>;
  1221. #size-cells = <0>;
  1222. status = "disabled";
  1223. };
  1224. i2c5: i2c@11016000 {
  1225. compatible = "mediatek,mt8183-i2c";
  1226. reg = <0 0x11016000 0 0x1000>,
  1227. <0 0x11000500 0 0x80>;
  1228. interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_LOW>;
  1229. clocks = <&infracfg CLK_INFRA_I2C5>,
  1230. <&infracfg CLK_INFRA_AP_DMA>,
  1231. <&infracfg CLK_INFRA_I2C5_ARBITER>;
  1232. clock-names = "main", "dma", "arb";
  1233. clock-div = <1>;
  1234. #address-cells = <1>;
  1235. #size-cells = <0>;
  1236. status = "disabled";
  1237. };
  1238. i2c11: i2c@11017000 {
  1239. compatible = "mediatek,mt8183-i2c";
  1240. reg = <0 0x11017000 0 0x1000>,
  1241. <0 0x11000580 0 0x80>;
  1242. interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_LOW>;
  1243. clocks = <&infracfg CLK_INFRA_I2C5_IMM>,
  1244. <&infracfg CLK_INFRA_AP_DMA>,
  1245. <&infracfg CLK_INFRA_I2C5_ARBITER>;
  1246. clock-names = "main", "dma", "arb";
  1247. clock-div = <1>;
  1248. #address-cells = <1>;
  1249. #size-cells = <0>;
  1250. status = "disabled";
  1251. };
  1252. spi4: spi@11018000 {
  1253. compatible = "mediatek,mt8183-spi";
  1254. #address-cells = <1>;
  1255. #size-cells = <0>;
  1256. reg = <0 0x11018000 0 0x1000>;
  1257. interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_LOW>;
  1258. clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
  1259. <&topckgen CLK_TOP_MUX_SPI>,
  1260. <&infracfg CLK_INFRA_SPI4>;
  1261. clock-names = "parent-clk", "sel-clk", "spi-clk";
  1262. status = "disabled";
  1263. };
  1264. spi5: spi@11019000 {
  1265. compatible = "mediatek,mt8183-spi";
  1266. #address-cells = <1>;
  1267. #size-cells = <0>;
  1268. reg = <0 0x11019000 0 0x1000>;
  1269. interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_LOW>;
  1270. clocks = <&topckgen CLK_TOP_SYSPLL_D5_D2>,
  1271. <&topckgen CLK_TOP_MUX_SPI>,
  1272. <&infracfg CLK_INFRA_SPI5>;
  1273. clock-names = "parent-clk", "sel-clk", "spi-clk";
  1274. status = "disabled";
  1275. };
  1276. i2c7: i2c@1101a000 {
  1277. compatible = "mediatek,mt8183-i2c";
  1278. reg = <0 0x1101a000 0 0x1000>,
  1279. <0 0x11000680 0 0x80>;
  1280. interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_LOW>;
  1281. clocks = <&infracfg CLK_INFRA_I2C7>,
  1282. <&infracfg CLK_INFRA_AP_DMA>;
  1283. clock-names = "main", "dma";
  1284. clock-div = <1>;
  1285. #address-cells = <1>;
  1286. #size-cells = <0>;
  1287. status = "disabled";
  1288. };
  1289. i2c8: i2c@1101b000 {
  1290. compatible = "mediatek,mt8183-i2c";
  1291. reg = <0 0x1101b000 0 0x1000>,
  1292. <0 0x11000700 0 0x80>;
  1293. interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_LOW>;
  1294. clocks = <&infracfg CLK_INFRA_I2C8>,
  1295. <&infracfg CLK_INFRA_AP_DMA>;
  1296. clock-names = "main", "dma";
  1297. clock-div = <1>;
  1298. #address-cells = <1>;
  1299. #size-cells = <0>;
  1300. status = "disabled";
  1301. };
  1302. ssusb: usb@11201000 {
  1303. compatible = "mediatek,mt8183-mtu3", "mediatek,mtu3";
  1304. reg = <0 0x11201000 0 0x2e00>,
  1305. <0 0x11203e00 0 0x0100>;
  1306. reg-names = "mac", "ippc";
  1307. interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_LOW>;
  1308. phys = <&u2port0 PHY_TYPE_USB2>,
  1309. <&u3port0 PHY_TYPE_USB3>;
  1310. clocks = <&infracfg CLK_INFRA_UNIPRO_SCK>,
  1311. <&infracfg CLK_INFRA_USB>;
  1312. clock-names = "sys_ck", "ref_ck";
  1313. mediatek,syscon-wakeup = <&pericfg 0x420 101>;
  1314. #address-cells = <2>;
  1315. #size-cells = <2>;
  1316. ranges;
  1317. status = "disabled";
  1318. usb_host: usb@11200000 {
  1319. compatible = "mediatek,mt8183-xhci",
  1320. "mediatek,mtk-xhci";
  1321. reg = <0 0x11200000 0 0x1000>;
  1322. reg-names = "mac";
  1323. interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_LOW>;
  1324. clocks = <&infracfg CLK_INFRA_UNIPRO_SCK>,
  1325. <&infracfg CLK_INFRA_USB>;
  1326. clock-names = "sys_ck", "ref_ck";
  1327. status = "disabled";
  1328. };
  1329. };
  1330. audiosys: clock-controller@11220000 {
  1331. compatible = "mediatek,mt8183-audiosys", "syscon";
  1332. reg = <0 0x11220000 0 0x1000>;
  1333. #clock-cells = <1>;
  1334. afe: audio-controller {
  1335. compatible = "mediatek,mt8183-audio";
  1336. interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_LOW>;
  1337. resets = <&watchdog MT8183_TOPRGU_AUDIO_SW_RST>;
  1338. reset-names = "audiosys";
  1339. power-domains =
  1340. <&spm MT8183_POWER_DOMAIN_AUDIO>;
  1341. clocks = <&audiosys CLK_AUDIO_AFE>,
  1342. <&audiosys CLK_AUDIO_DAC>,
  1343. <&audiosys CLK_AUDIO_DAC_PREDIS>,
  1344. <&audiosys CLK_AUDIO_ADC>,
  1345. <&audiosys CLK_AUDIO_PDN_ADDA6_ADC>,
  1346. <&audiosys CLK_AUDIO_22M>,
  1347. <&audiosys CLK_AUDIO_24M>,
  1348. <&audiosys CLK_AUDIO_APLL_TUNER>,
  1349. <&audiosys CLK_AUDIO_APLL2_TUNER>,
  1350. <&audiosys CLK_AUDIO_I2S1>,
  1351. <&audiosys CLK_AUDIO_I2S2>,
  1352. <&audiosys CLK_AUDIO_I2S3>,
  1353. <&audiosys CLK_AUDIO_I2S4>,
  1354. <&audiosys CLK_AUDIO_TDM>,
  1355. <&audiosys CLK_AUDIO_TML>,
  1356. <&infracfg CLK_INFRA_AUDIO>,
  1357. <&infracfg CLK_INFRA_AUDIO_26M_BCLK>,
  1358. <&topckgen CLK_TOP_MUX_AUDIO>,
  1359. <&topckgen CLK_TOP_MUX_AUD_INTBUS>,
  1360. <&topckgen CLK_TOP_SYSPLL_D2_D4>,
  1361. <&topckgen CLK_TOP_MUX_AUD_1>,
  1362. <&topckgen CLK_TOP_APLL1_CK>,
  1363. <&topckgen CLK_TOP_MUX_AUD_2>,
  1364. <&topckgen CLK_TOP_APLL2_CK>,
  1365. <&topckgen CLK_TOP_MUX_AUD_ENG1>,
  1366. <&topckgen CLK_TOP_APLL1_D8>,
  1367. <&topckgen CLK_TOP_MUX_AUD_ENG2>,
  1368. <&topckgen CLK_TOP_APLL2_D8>,
  1369. <&topckgen CLK_TOP_MUX_APLL_I2S0>,
  1370. <&topckgen CLK_TOP_MUX_APLL_I2S1>,
  1371. <&topckgen CLK_TOP_MUX_APLL_I2S2>,
  1372. <&topckgen CLK_TOP_MUX_APLL_I2S3>,
  1373. <&topckgen CLK_TOP_MUX_APLL_I2S4>,
  1374. <&topckgen CLK_TOP_MUX_APLL_I2S5>,
  1375. <&topckgen CLK_TOP_APLL12_DIV0>,
  1376. <&topckgen CLK_TOP_APLL12_DIV1>,
  1377. <&topckgen CLK_TOP_APLL12_DIV2>,
  1378. <&topckgen CLK_TOP_APLL12_DIV3>,
  1379. <&topckgen CLK_TOP_APLL12_DIV4>,
  1380. <&topckgen CLK_TOP_APLL12_DIVB>,
  1381. /*<&topckgen CLK_TOP_APLL12_DIV5>,*/
  1382. <&clk26m>;
  1383. clock-names = "aud_afe_clk",
  1384. "aud_dac_clk",
  1385. "aud_dac_predis_clk",
  1386. "aud_adc_clk",
  1387. "aud_adc_adda6_clk",
  1388. "aud_apll22m_clk",
  1389. "aud_apll24m_clk",
  1390. "aud_apll1_tuner_clk",
  1391. "aud_apll2_tuner_clk",
  1392. "aud_i2s1_bclk_sw",
  1393. "aud_i2s2_bclk_sw",
  1394. "aud_i2s3_bclk_sw",
  1395. "aud_i2s4_bclk_sw",
  1396. "aud_tdm_clk",
  1397. "aud_tml_clk",
  1398. "aud_infra_clk",
  1399. "mtkaif_26m_clk",
  1400. "top_mux_audio",
  1401. "top_mux_aud_intbus",
  1402. "top_syspll_d2_d4",
  1403. "top_mux_aud_1",
  1404. "top_apll1_ck",
  1405. "top_mux_aud_2",
  1406. "top_apll2_ck",
  1407. "top_mux_aud_eng1",
  1408. "top_apll1_d8",
  1409. "top_mux_aud_eng2",
  1410. "top_apll2_d8",
  1411. "top_i2s0_m_sel",
  1412. "top_i2s1_m_sel",
  1413. "top_i2s2_m_sel",
  1414. "top_i2s3_m_sel",
  1415. "top_i2s4_m_sel",
  1416. "top_i2s5_m_sel",
  1417. "top_apll12_div0",
  1418. "top_apll12_div1",
  1419. "top_apll12_div2",
  1420. "top_apll12_div3",
  1421. "top_apll12_div4",
  1422. "top_apll12_divb",
  1423. /*"top_apll12_div5",*/
  1424. "top_clk26m_clk";
  1425. };
  1426. };
  1427. mmc0: mmc@11230000 {
  1428. compatible = "mediatek,mt8183-mmc";
  1429. reg = <0 0x11230000 0 0x1000>,
  1430. <0 0x11f50000 0 0x1000>;
  1431. interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_LOW>;
  1432. clocks = <&topckgen CLK_TOP_MUX_MSDC50_0>,
  1433. <&infracfg CLK_INFRA_MSDC0>,
  1434. <&infracfg CLK_INFRA_MSDC0_SCK>;
  1435. clock-names = "source", "hclk", "source_cg";
  1436. status = "disabled";
  1437. };
  1438. mmc1: mmc@11240000 {
  1439. compatible = "mediatek,mt8183-mmc";
  1440. reg = <0 0x11240000 0 0x1000>,
  1441. <0 0x11e10000 0 0x1000>;
  1442. interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_LOW>;
  1443. clocks = <&topckgen CLK_TOP_MUX_MSDC30_1>,
  1444. <&infracfg CLK_INFRA_MSDC1>,
  1445. <&infracfg CLK_INFRA_MSDC1_SCK>;
  1446. clock-names = "source", "hclk", "source_cg";
  1447. status = "disabled";
  1448. };
  1449. mipi_tx0: dsi-phy@11e50000 {
  1450. compatible = "mediatek,mt8183-mipi-tx";
  1451. reg = <0 0x11e50000 0 0x1000>;
  1452. clocks = <&apmixedsys CLK_APMIXED_MIPID0_26M>;
  1453. #clock-cells = <0>;
  1454. #phy-cells = <0>;
  1455. clock-output-names = "mipi_tx0_pll";
  1456. nvmem-cells = <&mipi_tx_calibration>;
  1457. nvmem-cell-names = "calibration-data";
  1458. };
  1459. efuse: efuse@11f10000 {
  1460. compatible = "mediatek,mt8183-efuse",
  1461. "mediatek,efuse";
  1462. reg = <0 0x11f10000 0 0x1000>;
  1463. #address-cells = <1>;
  1464. #size-cells = <1>;
  1465. socinfo-data1@4c {
  1466. reg = <0x04c 0x4>;
  1467. };
  1468. socinfo-data2@60 {
  1469. reg = <0x060 0x4>;
  1470. };
  1471. thermal_calibration: calib@180 {
  1472. reg = <0x180 0xc>;
  1473. };
  1474. mipi_tx_calibration: calib@190 {
  1475. reg = <0x190 0xc>;
  1476. };
  1477. svs_calibration: calib@580 {
  1478. reg = <0x580 0x64>;
  1479. };
  1480. };
  1481. u3phy: t-phy@11f40000 {
  1482. compatible = "mediatek,mt8183-tphy",
  1483. "mediatek,generic-tphy-v2";
  1484. #address-cells = <1>;
  1485. #size-cells = <1>;
  1486. ranges = <0 0 0x11f40000 0x1000>;
  1487. status = "okay";
  1488. u2port0: usb-phy@0 {
  1489. reg = <0x0 0x700>;
  1490. clocks = <&clk26m>;
  1491. clock-names = "ref";
  1492. #phy-cells = <1>;
  1493. mediatek,discth = <15>;
  1494. status = "okay";
  1495. };
  1496. u3port0: usb-phy@700 {
  1497. reg = <0x0700 0x900>;
  1498. clocks = <&clk26m>;
  1499. clock-names = "ref";
  1500. #phy-cells = <1>;
  1501. status = "okay";
  1502. };
  1503. };
  1504. mfgcfg: syscon@13000000 {
  1505. compatible = "mediatek,mt8183-mfgcfg", "syscon";
  1506. reg = <0 0x13000000 0 0x1000>;
  1507. #clock-cells = <1>;
  1508. power-domains = <&spm MT8183_POWER_DOMAIN_MFG_ASYNC>;
  1509. };
  1510. gpu: gpu@13040000 {
  1511. compatible = "mediatek,mt8183b-mali", "arm,mali-bifrost";
  1512. reg = <0 0x13040000 0 0x4000>;
  1513. interrupts =
  1514. <GIC_SPI 280 IRQ_TYPE_LEVEL_LOW>,
  1515. <GIC_SPI 279 IRQ_TYPE_LEVEL_LOW>,
  1516. <GIC_SPI 278 IRQ_TYPE_LEVEL_LOW>;
  1517. interrupt-names = "job", "mmu", "gpu";
  1518. clocks = <&mfgcfg CLK_MFG_BG3D>;
  1519. power-domains =
  1520. <&spm MT8183_POWER_DOMAIN_MFG_CORE0>,
  1521. <&spm MT8183_POWER_DOMAIN_MFG_CORE1>,
  1522. <&spm MT8183_POWER_DOMAIN_MFG_2D>;
  1523. power-domain-names = "core0", "core1", "core2";
  1524. operating-points-v2 = <&gpu_opp_table>;
  1525. };
  1526. mmsys: syscon@14000000 {
  1527. compatible = "mediatek,mt8183-mmsys", "syscon";
  1528. reg = <0 0x14000000 0 0x1000>;
  1529. #clock-cells = <1>;
  1530. #reset-cells = <1>;
  1531. mboxes = <&gce 0 CMDQ_THR_PRIO_HIGHEST>,
  1532. <&gce 1 CMDQ_THR_PRIO_HIGHEST>;
  1533. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0 0x1000>;
  1534. port {
  1535. #address-cells = <1>;
  1536. #size-cells = <0>;
  1537. mmsys_ep_main: endpoint@0 {
  1538. reg = <0>;
  1539. remote-endpoint = <&ovl0_in>;
  1540. };
  1541. mmsys_ep_ext: endpoint@1 {
  1542. reg = <1>;
  1543. remote-endpoint = <&ovl_2l1_in>;
  1544. };
  1545. };
  1546. };
  1547. dma-controller0@14001000 {
  1548. compatible = "mediatek,mt8183-mdp3-rdma";
  1549. reg = <0 0x14001000 0 0x1000>;
  1550. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x1000 0x1000>;
  1551. mediatek,gce-events = <CMDQ_EVENT_MDP_RDMA0_SOF>,
  1552. <CMDQ_EVENT_MDP_RDMA0_EOF>;
  1553. power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
  1554. clocks = <&mmsys CLK_MM_MDP_RDMA0>,
  1555. <&mmsys CLK_MM_MDP_RSZ1>;
  1556. iommus = <&iommu M4U_PORT_MDP_RDMA0>;
  1557. mboxes = <&gce 20 CMDQ_THR_PRIO_LOWEST 0>,
  1558. <&gce 21 CMDQ_THR_PRIO_LOWEST 0>;
  1559. #dma-cells = <1>;
  1560. };
  1561. mdp3-rsz0@14003000 {
  1562. compatible = "mediatek,mt8183-mdp3-rsz";
  1563. reg = <0 0x14003000 0 0x1000>;
  1564. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x3000 0x1000>;
  1565. mediatek,gce-events = <CMDQ_EVENT_MDP_RSZ0_SOF>,
  1566. <CMDQ_EVENT_MDP_RSZ0_EOF>;
  1567. clocks = <&mmsys CLK_MM_MDP_RSZ0>;
  1568. };
  1569. mdp3-rsz1@14004000 {
  1570. compatible = "mediatek,mt8183-mdp3-rsz";
  1571. reg = <0 0x14004000 0 0x1000>;
  1572. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x4000 0x1000>;
  1573. mediatek,gce-events = <CMDQ_EVENT_MDP_RSZ1_SOF>,
  1574. <CMDQ_EVENT_MDP_RSZ1_EOF>;
  1575. clocks = <&mmsys CLK_MM_MDP_RSZ1>;
  1576. };
  1577. dma-controller@14005000 {
  1578. compatible = "mediatek,mt8183-mdp3-wrot";
  1579. reg = <0 0x14005000 0 0x1000>;
  1580. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x5000 0x1000>;
  1581. mediatek,gce-events = <CMDQ_EVENT_MDP_WROT0_SOF>,
  1582. <CMDQ_EVENT_MDP_WROT0_EOF>;
  1583. power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
  1584. clocks = <&mmsys CLK_MM_MDP_WROT0>;
  1585. iommus = <&iommu M4U_PORT_MDP_WROT0>;
  1586. #dma-cells = <1>;
  1587. };
  1588. mdp3-wdma@14006000 {
  1589. compatible = "mediatek,mt8183-mdp3-wdma";
  1590. reg = <0 0x14006000 0 0x1000>;
  1591. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x6000 0x1000>;
  1592. mediatek,gce-events = <CMDQ_EVENT_MDP_WDMA0_SOF>,
  1593. <CMDQ_EVENT_MDP_WDMA0_EOF>;
  1594. power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
  1595. clocks = <&mmsys CLK_MM_MDP_WDMA0>;
  1596. iommus = <&iommu M4U_PORT_MDP_WDMA0>;
  1597. };
  1598. ovl0: ovl@14008000 {
  1599. compatible = "mediatek,mt8183-disp-ovl";
  1600. reg = <0 0x14008000 0 0x1000>;
  1601. interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_LOW>;
  1602. power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
  1603. clocks = <&mmsys CLK_MM_DISP_OVL0>;
  1604. iommus = <&iommu M4U_PORT_DISP_OVL0>;
  1605. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x8000 0x1000>;
  1606. ports {
  1607. #address-cells = <1>;
  1608. #size-cells = <0>;
  1609. port@0 {
  1610. reg = <0>;
  1611. ovl0_in: endpoint {
  1612. remote-endpoint = <&mmsys_ep_main>;
  1613. };
  1614. };
  1615. port@1 {
  1616. reg = <1>;
  1617. ovl0_out: endpoint {
  1618. remote-endpoint = <&ovl_2l0_in>;
  1619. };
  1620. };
  1621. };
  1622. };
  1623. ovl_2l0: ovl@14009000 {
  1624. compatible = "mediatek,mt8183-disp-ovl-2l";
  1625. reg = <0 0x14009000 0 0x1000>;
  1626. interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_LOW>;
  1627. power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
  1628. clocks = <&mmsys CLK_MM_DISP_OVL0_2L>;
  1629. iommus = <&iommu M4U_PORT_DISP_2L_OVL0_LARB0>;
  1630. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x9000 0x1000>;
  1631. ports {
  1632. #address-cells = <1>;
  1633. #size-cells = <0>;
  1634. port@0 {
  1635. reg = <0>;
  1636. ovl_2l0_in: endpoint {
  1637. remote-endpoint = <&ovl0_out>;
  1638. };
  1639. };
  1640. port@1 {
  1641. reg = <1>;
  1642. ovl_2l0_out: endpoint {
  1643. remote-endpoint = <&rdma0_in>;
  1644. };
  1645. };
  1646. };
  1647. };
  1648. ovl_2l1: ovl@1400a000 {
  1649. compatible = "mediatek,mt8183-disp-ovl-2l";
  1650. reg = <0 0x1400a000 0 0x1000>;
  1651. interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_LOW>;
  1652. power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
  1653. clocks = <&mmsys CLK_MM_DISP_OVL1_2L>;
  1654. iommus = <&iommu M4U_PORT_DISP_2L_OVL1_LARB0>;
  1655. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xa000 0x1000>;
  1656. ports {
  1657. #address-cells = <1>;
  1658. #size-cells = <0>;
  1659. port@0 {
  1660. #address-cells = <1>;
  1661. #size-cells = <0>;
  1662. reg = <0>;
  1663. ovl_2l1_in: endpoint@1 {
  1664. reg = <1>;
  1665. remote-endpoint = <&mmsys_ep_ext>;
  1666. };
  1667. };
  1668. port@1 {
  1669. #address-cells = <1>;
  1670. #size-cells = <0>;
  1671. reg = <1>;
  1672. ovl_2l1_out: endpoint@1 {
  1673. reg = <1>;
  1674. remote-endpoint = <&rdma1_in>;
  1675. };
  1676. };
  1677. };
  1678. };
  1679. rdma0: rdma@1400b000 {
  1680. compatible = "mediatek,mt8183-disp-rdma";
  1681. reg = <0 0x1400b000 0 0x1000>;
  1682. interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_LOW>;
  1683. power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
  1684. clocks = <&mmsys CLK_MM_DISP_RDMA0>;
  1685. iommus = <&iommu M4U_PORT_DISP_RDMA0>;
  1686. mediatek,rdma-fifo-size = <5120>;
  1687. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xb000 0x1000>;
  1688. ports {
  1689. #address-cells = <1>;
  1690. #size-cells = <0>;
  1691. port@0 {
  1692. reg = <0>;
  1693. rdma0_in: endpoint {
  1694. remote-endpoint = <&ovl_2l0_out>;
  1695. };
  1696. };
  1697. port@1 {
  1698. reg = <1>;
  1699. rdma0_out: endpoint {
  1700. remote-endpoint = <&color0_in>;
  1701. };
  1702. };
  1703. };
  1704. };
  1705. rdma1: rdma@1400c000 {
  1706. compatible = "mediatek,mt8183-disp-rdma";
  1707. reg = <0 0x1400c000 0 0x1000>;
  1708. interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_LOW>;
  1709. power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
  1710. clocks = <&mmsys CLK_MM_DISP_RDMA1>;
  1711. iommus = <&iommu M4U_PORT_DISP_RDMA1>;
  1712. mediatek,rdma-fifo-size = <2048>;
  1713. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xc000 0x1000>;
  1714. ports {
  1715. #address-cells = <1>;
  1716. #size-cells = <0>;
  1717. port@0 {
  1718. #address-cells = <1>;
  1719. #size-cells = <0>;
  1720. reg = <0>;
  1721. rdma1_in: endpoint@1 {
  1722. reg = <1>;
  1723. remote-endpoint = <&ovl_2l1_out>;
  1724. };
  1725. };
  1726. port@1 {
  1727. #address-cells = <1>;
  1728. #size-cells = <0>;
  1729. reg = <1>;
  1730. rdma1_out: endpoint@1 {
  1731. reg = <1>;
  1732. remote-endpoint = <&dpi_in>;
  1733. };
  1734. };
  1735. };
  1736. };
  1737. color0: color@1400e000 {
  1738. compatible = "mediatek,mt8183-disp-color",
  1739. "mediatek,mt8173-disp-color";
  1740. reg = <0 0x1400e000 0 0x1000>;
  1741. interrupts = <GIC_SPI 231 IRQ_TYPE_LEVEL_LOW>;
  1742. power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
  1743. clocks = <&mmsys CLK_MM_DISP_COLOR0>;
  1744. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xe000 0x1000>;
  1745. ports {
  1746. #address-cells = <1>;
  1747. #size-cells = <0>;
  1748. port@0 {
  1749. reg = <0>;
  1750. color0_in: endpoint {
  1751. remote-endpoint = <&rdma0_out>;
  1752. };
  1753. };
  1754. port@1 {
  1755. reg = <1>;
  1756. color0_out: endpoint {
  1757. remote-endpoint = <&ccorr0_in>;
  1758. };
  1759. };
  1760. };
  1761. };
  1762. ccorr0: ccorr@1400f000 {
  1763. compatible = "mediatek,mt8183-disp-ccorr";
  1764. reg = <0 0x1400f000 0 0x1000>;
  1765. interrupts = <GIC_SPI 232 IRQ_TYPE_LEVEL_LOW>;
  1766. power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
  1767. clocks = <&mmsys CLK_MM_DISP_CCORR0>;
  1768. mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0xf000 0x1000>;
  1769. ports {
  1770. #address-cells = <1>;
  1771. #size-cells = <0>;
  1772. port@0 {
  1773. reg = <0>;
  1774. ccorr0_in: endpoint {
  1775. remote-endpoint = <&color0_out>;
  1776. };
  1777. };
  1778. port@1 {
  1779. reg = <1>;
  1780. ccorr0_out: endpoint {
  1781. remote-endpoint = <&aal0_in>;
  1782. };
  1783. };
  1784. };
  1785. };
  1786. aal0: aal@14010000 {
  1787. compatible = "mediatek,mt8183-disp-aal";
  1788. reg = <0 0x14010000 0 0x1000>;
  1789. interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_LOW>;
  1790. power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
  1791. clocks = <&mmsys CLK_MM_DISP_AAL0>;
  1792. mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0 0x1000>;
  1793. ports {
  1794. #address-cells = <1>;
  1795. #size-cells = <0>;
  1796. port@0 {
  1797. reg = <0>;
  1798. aal0_in: endpoint {
  1799. remote-endpoint = <&ccorr0_out>;
  1800. };
  1801. };
  1802. port@1 {
  1803. reg = <1>;
  1804. aal0_out: endpoint {
  1805. remote-endpoint = <&gamma0_in>;
  1806. };
  1807. };
  1808. };
  1809. };
  1810. gamma0: gamma@14011000 {
  1811. compatible = "mediatek,mt8183-disp-gamma";
  1812. reg = <0 0x14011000 0 0x1000>;
  1813. interrupts = <GIC_SPI 234 IRQ_TYPE_LEVEL_LOW>;
  1814. power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
  1815. clocks = <&mmsys CLK_MM_DISP_GAMMA0>;
  1816. mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x1000 0x1000>;
  1817. ports {
  1818. #address-cells = <1>;
  1819. #size-cells = <0>;
  1820. port@0 {
  1821. reg = <0>;
  1822. gamma0_in: endpoint {
  1823. remote-endpoint = <&aal0_out>;
  1824. };
  1825. };
  1826. port@1 {
  1827. reg = <1>;
  1828. gamma0_out: endpoint {
  1829. remote-endpoint = <&dither0_in>;
  1830. };
  1831. };
  1832. };
  1833. };
  1834. dither0: dither@14012000 {
  1835. compatible = "mediatek,mt8183-disp-dither";
  1836. reg = <0 0x14012000 0 0x1000>;
  1837. interrupts = <GIC_SPI 235 IRQ_TYPE_LEVEL_LOW>;
  1838. power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
  1839. clocks = <&mmsys CLK_MM_DISP_DITHER0>;
  1840. mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x2000 0x1000>;
  1841. ports {
  1842. #address-cells = <1>;
  1843. #size-cells = <0>;
  1844. port@0 {
  1845. reg = <0>;
  1846. dither0_in: endpoint {
  1847. remote-endpoint = <&gamma0_out>;
  1848. };
  1849. };
  1850. port@1 {
  1851. reg = <1>;
  1852. dither0_out: endpoint {
  1853. remote-endpoint = <&dsi_in>;
  1854. };
  1855. };
  1856. };
  1857. };
  1858. dsi0: dsi@14014000 {
  1859. compatible = "mediatek,mt8183-dsi";
  1860. reg = <0 0x14014000 0 0x1000>;
  1861. interrupts = <GIC_SPI 236 IRQ_TYPE_LEVEL_LOW>;
  1862. power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
  1863. clocks = <&mmsys CLK_MM_DSI0_MM>,
  1864. <&mmsys CLK_MM_DSI0_IF>,
  1865. <&mipi_tx0>;
  1866. clock-names = "engine", "digital", "hs";
  1867. resets = <&mmsys MT8183_MMSYS_SW0_RST_B_DISP_DSI0>;
  1868. phys = <&mipi_tx0>;
  1869. phy-names = "dphy";
  1870. status = "disabled";
  1871. ports {
  1872. #address-cells = <1>;
  1873. #size-cells = <0>;
  1874. port@0 {
  1875. reg = <0>;
  1876. dsi_in: endpoint {
  1877. remote-endpoint = <&dither0_out>;
  1878. };
  1879. };
  1880. port@1 {
  1881. reg = <1>;
  1882. dsi_out: endpoint { };
  1883. };
  1884. };
  1885. };
  1886. dpi0: dpi@14015000 {
  1887. compatible = "mediatek,mt8183-dpi";
  1888. reg = <0 0x14015000 0 0x1000>;
  1889. interrupts = <GIC_SPI 237 IRQ_TYPE_LEVEL_LOW>;
  1890. power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
  1891. clocks = <&mmsys CLK_MM_DPI_IF>,
  1892. <&mmsys CLK_MM_DPI_MM>,
  1893. <&apmixedsys CLK_APMIXED_TVDPLL>;
  1894. clock-names = "pixel", "engine", "pll";
  1895. status = "disabled";
  1896. ports {
  1897. #address-cells = <1>;
  1898. #size-cells = <0>;
  1899. port@0 {
  1900. #address-cells = <1>;
  1901. #size-cells = <0>;
  1902. reg = <0>;
  1903. dpi_in: endpoint@1 {
  1904. reg = <1>;
  1905. remote-endpoint = <&rdma1_out>;
  1906. };
  1907. };
  1908. port@1 {
  1909. #address-cells = <1>;
  1910. #size-cells = <0>;
  1911. reg = <1>;
  1912. dpi_out: endpoint@1 {
  1913. reg = <1>;
  1914. };
  1915. };
  1916. };
  1917. };
  1918. mutex: mutex@14016000 {
  1919. compatible = "mediatek,mt8183-disp-mutex";
  1920. reg = <0 0x14016000 0 0x1000>;
  1921. interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_LOW>;
  1922. power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
  1923. mediatek,gce-events = <CMDQ_EVENT_MUTEX_STREAM_DONE0>,
  1924. <CMDQ_EVENT_MUTEX_STREAM_DONE1>;
  1925. mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0x6000 0x1000>;
  1926. };
  1927. larb0: larb@14017000 {
  1928. compatible = "mediatek,mt8183-smi-larb";
  1929. reg = <0 0x14017000 0 0x1000>;
  1930. mediatek,smi = <&smi_common>;
  1931. clocks = <&mmsys CLK_MM_SMI_LARB0>,
  1932. <&mmsys CLK_MM_SMI_LARB0>;
  1933. power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
  1934. clock-names = "apb", "smi";
  1935. };
  1936. smi_common: smi@14019000 {
  1937. compatible = "mediatek,mt8183-smi-common";
  1938. reg = <0 0x14019000 0 0x1000>;
  1939. clocks = <&mmsys CLK_MM_SMI_COMMON>,
  1940. <&mmsys CLK_MM_SMI_COMMON>,
  1941. <&mmsys CLK_MM_GALS_COMM0>,
  1942. <&mmsys CLK_MM_GALS_COMM1>;
  1943. clock-names = "apb", "smi", "gals0", "gals1";
  1944. power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
  1945. };
  1946. mdp3-ccorr@1401c000 {
  1947. compatible = "mediatek,mt8183-mdp3-ccorr";
  1948. reg = <0 0x1401c000 0 0x1000>;
  1949. mediatek,gce-client-reg = <&gce SUBSYS_1401XXXX 0xc000 0x1000>;
  1950. mediatek,gce-events = <CMDQ_EVENT_MDP_CCORR_SOF>,
  1951. <CMDQ_EVENT_MDP_CCORR_EOF>;
  1952. clocks = <&mmsys CLK_MM_MDP_CCORR>;
  1953. };
  1954. imgsys: syscon@15020000 {
  1955. compatible = "mediatek,mt8183-imgsys", "syscon";
  1956. reg = <0 0x15020000 0 0x1000>;
  1957. #clock-cells = <1>;
  1958. };
  1959. larb5: larb@15021000 {
  1960. compatible = "mediatek,mt8183-smi-larb";
  1961. reg = <0 0x15021000 0 0x1000>;
  1962. mediatek,smi = <&smi_common>;
  1963. clocks = <&imgsys CLK_IMG_LARB5>, <&imgsys CLK_IMG_LARB5>,
  1964. <&mmsys CLK_MM_GALS_IMG2MM>;
  1965. clock-names = "apb", "smi", "gals";
  1966. power-domains = <&spm MT8183_POWER_DOMAIN_ISP>;
  1967. };
  1968. larb2: larb@1502f000 {
  1969. compatible = "mediatek,mt8183-smi-larb";
  1970. reg = <0 0x1502f000 0 0x1000>;
  1971. mediatek,smi = <&smi_common>;
  1972. clocks = <&imgsys CLK_IMG_LARB2>, <&imgsys CLK_IMG_LARB2>,
  1973. <&mmsys CLK_MM_GALS_IPU2MM>;
  1974. clock-names = "apb", "smi", "gals";
  1975. power-domains = <&spm MT8183_POWER_DOMAIN_ISP>;
  1976. };
  1977. vdecsys: syscon@16000000 {
  1978. compatible = "mediatek,mt8183-vdecsys", "syscon";
  1979. reg = <0 0x16000000 0 0x1000>;
  1980. #clock-cells = <1>;
  1981. };
  1982. vcodec_dec: video-codec@16020000 {
  1983. compatible = "mediatek,mt8183-vcodec-dec";
  1984. reg = <0 0x16020000 0 0x1000>, /* VDEC_MISC */
  1985. <0 0x16021000 0 0x800>, /* VDEC_VLD */
  1986. <0 0x16021800 0 0x800>, /* VDEC_TOP */
  1987. <0 0x16022000 0 0x1000>, /* VDEC_MC */
  1988. <0 0x16023000 0 0x1000>, /* VDEC_AVCVLD */
  1989. <0 0x16024000 0 0x1000>, /* VDEC_AVCMV */
  1990. <0 0x16025000 0 0x1000>, /* VDEC_PP */
  1991. <0 0x16026800 0 0x800>, /* VP8_VD */
  1992. <0 0x16027000 0 0x800>, /* VP6_VD */
  1993. <0 0x16027800 0 0x800>, /* VP8_VL */
  1994. <0 0x16028400 0 0x400>; /* VP9_VD */
  1995. reg-names = "misc", "ld", "top", "cm", "ad", "av", "pp",
  1996. "hwd", "hwq", "hwb", "hwg";
  1997. interrupts = <GIC_SPI 250 IRQ_TYPE_LEVEL_LOW>;
  1998. iommus = <&iommu M4U_PORT_HW_VDEC_MC_EXT>,
  1999. <&iommu M4U_PORT_HW_VDEC_PP_EXT>,
  2000. <&iommu M4U_PORT_HW_VDEC_VLD_EXT>,
  2001. <&iommu M4U_PORT_HW_VDEC_AVC_MV_EXT>,
  2002. <&iommu M4U_PORT_HW_VDEC_PRED_RD_EXT>,
  2003. <&iommu M4U_PORT_HW_VDEC_PRED_WR_EXT>,
  2004. <&iommu M4U_PORT_HW_VDEC_PPWRAP_EXT>;
  2005. mediatek,scp = <&scp>;
  2006. mediatek,vdecsys = <&vdecsys>;
  2007. power-domains = <&spm MT8183_POWER_DOMAIN_VDEC>;
  2008. clocks = <&vdecsys CLK_VDEC_VDEC>;
  2009. clock-names = "vdec";
  2010. };
  2011. larb1: larb@16010000 {
  2012. compatible = "mediatek,mt8183-smi-larb";
  2013. reg = <0 0x16010000 0 0x1000>;
  2014. mediatek,smi = <&smi_common>;
  2015. clocks = <&vdecsys CLK_VDEC_VDEC>, <&vdecsys CLK_VDEC_LARB1>;
  2016. clock-names = "apb", "smi";
  2017. power-domains = <&spm MT8183_POWER_DOMAIN_VDEC>;
  2018. };
  2019. vencsys: syscon@17000000 {
  2020. compatible = "mediatek,mt8183-vencsys", "syscon";
  2021. reg = <0 0x17000000 0 0x1000>;
  2022. #clock-cells = <1>;
  2023. };
  2024. larb4: larb@17010000 {
  2025. compatible = "mediatek,mt8183-smi-larb";
  2026. reg = <0 0x17010000 0 0x1000>;
  2027. mediatek,smi = <&smi_common>;
  2028. clocks = <&vencsys CLK_VENC_LARB>,
  2029. <&vencsys CLK_VENC_LARB>;
  2030. clock-names = "apb", "smi";
  2031. power-domains = <&spm MT8183_POWER_DOMAIN_VENC>;
  2032. };
  2033. vcodec_enc: vcodec@17020000 {
  2034. compatible = "mediatek,mt8183-vcodec-enc";
  2035. reg = <0 0x17020000 0 0x1000>;
  2036. interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_LOW>;
  2037. iommus = <&iommu M4U_PORT_VENC_REC>,
  2038. <&iommu M4U_PORT_VENC_BSDMA>,
  2039. <&iommu M4U_PORT_VENC_RD_COMV>,
  2040. <&iommu M4U_PORT_VENC_CUR_LUMA>,
  2041. <&iommu M4U_PORT_VENC_CUR_CHROMA>,
  2042. <&iommu M4U_PORT_VENC_REF_LUMA>,
  2043. <&iommu M4U_PORT_VENC_REF_CHROMA>;
  2044. mediatek,scp = <&scp>;
  2045. power-domains = <&spm MT8183_POWER_DOMAIN_VENC>;
  2046. clocks = <&vencsys CLK_VENC_VENC>;
  2047. clock-names = "venc_sel";
  2048. };
  2049. venc_jpg: jpeg-encoder@17030000 {
  2050. compatible = "mediatek,mt8183-jpgenc", "mediatek,mtk-jpgenc";
  2051. reg = <0 0x17030000 0 0x1000>;
  2052. interrupts = <GIC_SPI 249 IRQ_TYPE_LEVEL_LOW>;
  2053. iommus = <&iommu M4U_PORT_JPGENC_RDMA>,
  2054. <&iommu M4U_PORT_JPGENC_BSDMA>;
  2055. power-domains = <&spm MT8183_POWER_DOMAIN_VENC>;
  2056. clocks = <&vencsys CLK_VENC_JPGENC>;
  2057. clock-names = "jpgenc";
  2058. };
  2059. ipu_conn: syscon@19000000 {
  2060. compatible = "mediatek,mt8183-ipu_conn", "syscon";
  2061. reg = <0 0x19000000 0 0x1000>;
  2062. #clock-cells = <1>;
  2063. };
  2064. ipu_adl: syscon@19010000 {
  2065. compatible = "mediatek,mt8183-ipu_adl", "syscon";
  2066. reg = <0 0x19010000 0 0x1000>;
  2067. #clock-cells = <1>;
  2068. };
  2069. ipu_core0: syscon@19180000 {
  2070. compatible = "mediatek,mt8183-ipu_core0", "syscon";
  2071. reg = <0 0x19180000 0 0x1000>;
  2072. #clock-cells = <1>;
  2073. };
  2074. ipu_core1: syscon@19280000 {
  2075. compatible = "mediatek,mt8183-ipu_core1", "syscon";
  2076. reg = <0 0x19280000 0 0x1000>;
  2077. #clock-cells = <1>;
  2078. };
  2079. camsys: syscon@1a000000 {
  2080. compatible = "mediatek,mt8183-camsys", "syscon";
  2081. reg = <0 0x1a000000 0 0x1000>;
  2082. #clock-cells = <1>;
  2083. };
  2084. larb6: larb@1a001000 {
  2085. compatible = "mediatek,mt8183-smi-larb";
  2086. reg = <0 0x1a001000 0 0x1000>;
  2087. mediatek,smi = <&smi_common>;
  2088. clocks = <&camsys CLK_CAM_LARB6>, <&camsys CLK_CAM_LARB6>,
  2089. <&mmsys CLK_MM_GALS_CAM2MM>;
  2090. clock-names = "apb", "smi", "gals";
  2091. power-domains = <&spm MT8183_POWER_DOMAIN_CAM>;
  2092. };
  2093. larb3: larb@1a002000 {
  2094. compatible = "mediatek,mt8183-smi-larb";
  2095. reg = <0 0x1a002000 0 0x1000>;
  2096. mediatek,smi = <&smi_common>;
  2097. clocks = <&camsys CLK_CAM_LARB3>, <&camsys CLK_CAM_LARB3>,
  2098. <&mmsys CLK_MM_GALS_IPU12MM>;
  2099. clock-names = "apb", "smi", "gals";
  2100. power-domains = <&spm MT8183_POWER_DOMAIN_CAM>;
  2101. };
  2102. };
  2103. thermal_zones: thermal-zones {
  2104. cpu_thermal: cpu-thermal {
  2105. polling-delay-passive = <100>;
  2106. polling-delay = <500>;
  2107. thermal-sensors = <&thermal 0>;
  2108. sustainable-power = <5000>;
  2109. trips {
  2110. threshold: trip-point0 {
  2111. temperature = <68000>;
  2112. hysteresis = <2000>;
  2113. type = "passive";
  2114. };
  2115. target: trip-point1 {
  2116. temperature = <80000>;
  2117. hysteresis = <2000>;
  2118. type = "passive";
  2119. };
  2120. cpu_crit: cpu-crit {
  2121. temperature = <115000>;
  2122. hysteresis = <2000>;
  2123. type = "critical";
  2124. };
  2125. };
  2126. cooling-maps {
  2127. map0 {
  2128. trip = <&target>;
  2129. cooling-device = <&cpu0
  2130. THERMAL_NO_LIMIT
  2131. THERMAL_NO_LIMIT>,
  2132. <&cpu1
  2133. THERMAL_NO_LIMIT
  2134. THERMAL_NO_LIMIT>,
  2135. <&cpu2
  2136. THERMAL_NO_LIMIT
  2137. THERMAL_NO_LIMIT>,
  2138. <&cpu3
  2139. THERMAL_NO_LIMIT
  2140. THERMAL_NO_LIMIT>;
  2141. contribution = <3072>;
  2142. };
  2143. map1 {
  2144. trip = <&target>;
  2145. cooling-device = <&cpu4
  2146. THERMAL_NO_LIMIT
  2147. THERMAL_NO_LIMIT>,
  2148. <&cpu5
  2149. THERMAL_NO_LIMIT
  2150. THERMAL_NO_LIMIT>,
  2151. <&cpu6
  2152. THERMAL_NO_LIMIT
  2153. THERMAL_NO_LIMIT>,
  2154. <&cpu7
  2155. THERMAL_NO_LIMIT
  2156. THERMAL_NO_LIMIT>;
  2157. contribution = <1024>;
  2158. };
  2159. };
  2160. };
  2161. tzts1: soc-thermal {
  2162. polling-delay = <1000>;
  2163. polling-delay-passive = <250>;
  2164. thermal-sensors = <&thermal 1>;
  2165. sustainable-power = <5000>;
  2166. trips {
  2167. soc_alert: trip-alert {
  2168. temperature = <85000>;
  2169. hysteresis = <2000>;
  2170. type = "passive";
  2171. };
  2172. soc_crit: trip-crit {
  2173. temperature = <100000>;
  2174. hysteresis = <2000>;
  2175. type = "critical";
  2176. };
  2177. };
  2178. };
  2179. tzts2: gpu-thermal {
  2180. polling-delay = <1000>;
  2181. polling-delay-passive = <250>;
  2182. thermal-sensors = <&thermal 2>;
  2183. sustainable-power = <5000>;
  2184. trips {
  2185. gpu_alert: trip-alert {
  2186. temperature = <85000>;
  2187. hysteresis = <2000>;
  2188. type = "passive";
  2189. };
  2190. gpu_crit: trip-crit {
  2191. temperature = <100000>;
  2192. hysteresis = <2000>;
  2193. type = "critical";
  2194. };
  2195. };
  2196. };
  2197. tzts3: md1-thermal {
  2198. polling-delay = <1000>;
  2199. polling-delay-passive = <250>;
  2200. thermal-sensors = <&thermal 3>;
  2201. sustainable-power = <5000>;
  2202. trips {
  2203. md1_alert: trip-alert {
  2204. temperature = <85000>;
  2205. hysteresis = <2000>;
  2206. type = "passive";
  2207. };
  2208. md1_crit: trip-crit {
  2209. temperature = <100000>;
  2210. hysteresis = <2000>;
  2211. type = "critical";
  2212. };
  2213. };
  2214. };
  2215. tzts4: cpu-little-thermal {
  2216. polling-delay = <1000>;
  2217. polling-delay-passive = <250>;
  2218. thermal-sensors = <&thermal 4>;
  2219. sustainable-power = <5000>;
  2220. trips {
  2221. cpul_alert: trip-alert {
  2222. temperature = <85000>;
  2223. hysteresis = <2000>;
  2224. type = "passive";
  2225. };
  2226. cpul_crit: trip-crit {
  2227. temperature = <100000>;
  2228. hysteresis = <2000>;
  2229. type = "critical";
  2230. };
  2231. };
  2232. };
  2233. tzts5: cpu-big-thermal {
  2234. polling-delay = <1000>;
  2235. polling-delay-passive = <250>;
  2236. thermal-sensors = <&thermal 5>;
  2237. sustainable-power = <5000>;
  2238. trips {
  2239. cpub_alert: trip-alert {
  2240. temperature = <85000>;
  2241. hysteresis = <2000>;
  2242. type = "passive";
  2243. };
  2244. cpub_crit: trip-crit {
  2245. temperature = <100000>;
  2246. hysteresis = <2000>;
  2247. type = "critical";
  2248. };
  2249. };
  2250. };
  2251. tztsABB: tsabb-thermal {
  2252. polling-delay = <1000>;
  2253. polling-delay-passive = <250>;
  2254. thermal-sensors = <&thermal 6>;
  2255. sustainable-power = <5000>;
  2256. trips {
  2257. tsabb_alert: trip-alert {
  2258. temperature = <85000>;
  2259. hysteresis = <2000>;
  2260. type = "passive";
  2261. };
  2262. tsabb_crit: trip-crit {
  2263. temperature = <100000>;
  2264. hysteresis = <2000>;
  2265. type = "critical";
  2266. };
  2267. };
  2268. };
  2269. };
  2270. };