msm8996.dtsi 83 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
  3. */
  4. #include <dt-bindings/interrupt-controller/arm-gic.h>
  5. #include <dt-bindings/clock/qcom,gcc-msm8996.h>
  6. #include <dt-bindings/clock/qcom,mmcc-msm8996.h>
  7. #include <dt-bindings/clock/qcom,rpmcc.h>
  8. #include <dt-bindings/interconnect/qcom,msm8996.h>
  9. #include <dt-bindings/gpio/gpio.h>
  10. #include <dt-bindings/power/qcom-rpmpd.h>
  11. #include <dt-bindings/soc/qcom,apr.h>
  12. #include <dt-bindings/thermal/thermal.h>
  13. / {
  14. interrupt-parent = <&intc>;
  15. #address-cells = <2>;
  16. #size-cells = <2>;
  17. chosen { };
  18. clocks {
  19. xo_board: xo-board {
  20. compatible = "fixed-clock";
  21. #clock-cells = <0>;
  22. clock-frequency = <19200000>;
  23. clock-output-names = "xo_board";
  24. };
  25. sleep_clk: sleep-clk {
  26. compatible = "fixed-clock";
  27. #clock-cells = <0>;
  28. clock-frequency = <32764>;
  29. clock-output-names = "sleep_clk";
  30. };
  31. };
  32. cpus {
  33. #address-cells = <2>;
  34. #size-cells = <0>;
  35. CPU0: cpu@0 {
  36. device_type = "cpu";
  37. compatible = "qcom,kryo";
  38. reg = <0x0 0x0>;
  39. enable-method = "psci";
  40. cpu-idle-states = <&CPU_SLEEP_0>;
  41. capacity-dmips-mhz = <1024>;
  42. clocks = <&kryocc 0>;
  43. operating-points-v2 = <&cluster0_opp>;
  44. #cooling-cells = <2>;
  45. next-level-cache = <&L2_0>;
  46. L2_0: l2-cache {
  47. compatible = "cache";
  48. cache-level = <2>;
  49. };
  50. };
  51. CPU1: cpu@1 {
  52. device_type = "cpu";
  53. compatible = "qcom,kryo";
  54. reg = <0x0 0x1>;
  55. enable-method = "psci";
  56. cpu-idle-states = <&CPU_SLEEP_0>;
  57. capacity-dmips-mhz = <1024>;
  58. clocks = <&kryocc 0>;
  59. operating-points-v2 = <&cluster0_opp>;
  60. #cooling-cells = <2>;
  61. next-level-cache = <&L2_0>;
  62. };
  63. CPU2: cpu@100 {
  64. device_type = "cpu";
  65. compatible = "qcom,kryo";
  66. reg = <0x0 0x100>;
  67. enable-method = "psci";
  68. cpu-idle-states = <&CPU_SLEEP_0>;
  69. capacity-dmips-mhz = <1024>;
  70. clocks = <&kryocc 1>;
  71. operating-points-v2 = <&cluster1_opp>;
  72. #cooling-cells = <2>;
  73. next-level-cache = <&L2_1>;
  74. L2_1: l2-cache {
  75. compatible = "cache";
  76. cache-level = <2>;
  77. };
  78. };
  79. CPU3: cpu@101 {
  80. device_type = "cpu";
  81. compatible = "qcom,kryo";
  82. reg = <0x0 0x101>;
  83. enable-method = "psci";
  84. cpu-idle-states = <&CPU_SLEEP_0>;
  85. capacity-dmips-mhz = <1024>;
  86. clocks = <&kryocc 1>;
  87. operating-points-v2 = <&cluster1_opp>;
  88. #cooling-cells = <2>;
  89. next-level-cache = <&L2_1>;
  90. };
  91. cpu-map {
  92. cluster0 {
  93. core0 {
  94. cpu = <&CPU0>;
  95. };
  96. core1 {
  97. cpu = <&CPU1>;
  98. };
  99. };
  100. cluster1 {
  101. core0 {
  102. cpu = <&CPU2>;
  103. };
  104. core1 {
  105. cpu = <&CPU3>;
  106. };
  107. };
  108. };
  109. idle-states {
  110. entry-method = "psci";
  111. CPU_SLEEP_0: cpu-sleep-0 {
  112. compatible = "arm,idle-state";
  113. idle-state-name = "standalone-power-collapse";
  114. arm,psci-suspend-param = <0x00000004>;
  115. entry-latency-us = <130>;
  116. exit-latency-us = <80>;
  117. min-residency-us = <300>;
  118. };
  119. };
  120. };
  121. cluster0_opp: opp-table-cluster0 {
  122. compatible = "operating-points-v2-kryo-cpu";
  123. nvmem-cells = <&speedbin_efuse>;
  124. opp-shared;
  125. /* Nominal fmax for now */
  126. opp-307200000 {
  127. opp-hz = /bits/ 64 <307200000>;
  128. opp-supported-hw = <0x7>;
  129. clock-latency-ns = <200000>;
  130. };
  131. opp-422400000 {
  132. opp-hz = /bits/ 64 <422400000>;
  133. opp-supported-hw = <0x7>;
  134. clock-latency-ns = <200000>;
  135. };
  136. opp-480000000 {
  137. opp-hz = /bits/ 64 <480000000>;
  138. opp-supported-hw = <0x7>;
  139. clock-latency-ns = <200000>;
  140. };
  141. opp-556800000 {
  142. opp-hz = /bits/ 64 <556800000>;
  143. opp-supported-hw = <0x7>;
  144. clock-latency-ns = <200000>;
  145. };
  146. opp-652800000 {
  147. opp-hz = /bits/ 64 <652800000>;
  148. opp-supported-hw = <0x7>;
  149. clock-latency-ns = <200000>;
  150. };
  151. opp-729600000 {
  152. opp-hz = /bits/ 64 <729600000>;
  153. opp-supported-hw = <0x7>;
  154. clock-latency-ns = <200000>;
  155. };
  156. opp-844800000 {
  157. opp-hz = /bits/ 64 <844800000>;
  158. opp-supported-hw = <0x7>;
  159. clock-latency-ns = <200000>;
  160. };
  161. opp-960000000 {
  162. opp-hz = /bits/ 64 <960000000>;
  163. opp-supported-hw = <0x7>;
  164. clock-latency-ns = <200000>;
  165. };
  166. opp-1036800000 {
  167. opp-hz = /bits/ 64 <1036800000>;
  168. opp-supported-hw = <0x7>;
  169. clock-latency-ns = <200000>;
  170. };
  171. opp-1113600000 {
  172. opp-hz = /bits/ 64 <1113600000>;
  173. opp-supported-hw = <0x7>;
  174. clock-latency-ns = <200000>;
  175. };
  176. opp-1190400000 {
  177. opp-hz = /bits/ 64 <1190400000>;
  178. opp-supported-hw = <0x7>;
  179. clock-latency-ns = <200000>;
  180. };
  181. opp-1228800000 {
  182. opp-hz = /bits/ 64 <1228800000>;
  183. opp-supported-hw = <0x7>;
  184. clock-latency-ns = <200000>;
  185. };
  186. opp-1324800000 {
  187. opp-hz = /bits/ 64 <1324800000>;
  188. opp-supported-hw = <0x5>;
  189. clock-latency-ns = <200000>;
  190. };
  191. opp-1363200000 {
  192. opp-hz = /bits/ 64 <1363200000>;
  193. opp-supported-hw = <0x2>;
  194. clock-latency-ns = <200000>;
  195. };
  196. opp-1401600000 {
  197. opp-hz = /bits/ 64 <1401600000>;
  198. opp-supported-hw = <0x5>;
  199. clock-latency-ns = <200000>;
  200. };
  201. opp-1478400000 {
  202. opp-hz = /bits/ 64 <1478400000>;
  203. opp-supported-hw = <0x1>;
  204. clock-latency-ns = <200000>;
  205. };
  206. opp-1497600000 {
  207. opp-hz = /bits/ 64 <1497600000>;
  208. opp-supported-hw = <0x04>;
  209. clock-latency-ns = <200000>;
  210. };
  211. opp-1593600000 {
  212. opp-hz = /bits/ 64 <1593600000>;
  213. opp-supported-hw = <0x1>;
  214. clock-latency-ns = <200000>;
  215. };
  216. };
  217. cluster1_opp: opp-table-cluster1 {
  218. compatible = "operating-points-v2-kryo-cpu";
  219. nvmem-cells = <&speedbin_efuse>;
  220. opp-shared;
  221. /* Nominal fmax for now */
  222. opp-307200000 {
  223. opp-hz = /bits/ 64 <307200000>;
  224. opp-supported-hw = <0x7>;
  225. clock-latency-ns = <200000>;
  226. };
  227. opp-403200000 {
  228. opp-hz = /bits/ 64 <403200000>;
  229. opp-supported-hw = <0x7>;
  230. clock-latency-ns = <200000>;
  231. };
  232. opp-480000000 {
  233. opp-hz = /bits/ 64 <480000000>;
  234. opp-supported-hw = <0x7>;
  235. clock-latency-ns = <200000>;
  236. };
  237. opp-556800000 {
  238. opp-hz = /bits/ 64 <556800000>;
  239. opp-supported-hw = <0x7>;
  240. clock-latency-ns = <200000>;
  241. };
  242. opp-652800000 {
  243. opp-hz = /bits/ 64 <652800000>;
  244. opp-supported-hw = <0x7>;
  245. clock-latency-ns = <200000>;
  246. };
  247. opp-729600000 {
  248. opp-hz = /bits/ 64 <729600000>;
  249. opp-supported-hw = <0x7>;
  250. clock-latency-ns = <200000>;
  251. };
  252. opp-806400000 {
  253. opp-hz = /bits/ 64 <806400000>;
  254. opp-supported-hw = <0x7>;
  255. clock-latency-ns = <200000>;
  256. };
  257. opp-883200000 {
  258. opp-hz = /bits/ 64 <883200000>;
  259. opp-supported-hw = <0x7>;
  260. clock-latency-ns = <200000>;
  261. };
  262. opp-940800000 {
  263. opp-hz = /bits/ 64 <940800000>;
  264. opp-supported-hw = <0x7>;
  265. clock-latency-ns = <200000>;
  266. };
  267. opp-1036800000 {
  268. opp-hz = /bits/ 64 <1036800000>;
  269. opp-supported-hw = <0x7>;
  270. clock-latency-ns = <200000>;
  271. };
  272. opp-1113600000 {
  273. opp-hz = /bits/ 64 <1113600000>;
  274. opp-supported-hw = <0x7>;
  275. clock-latency-ns = <200000>;
  276. };
  277. opp-1190400000 {
  278. opp-hz = /bits/ 64 <1190400000>;
  279. opp-supported-hw = <0x7>;
  280. clock-latency-ns = <200000>;
  281. };
  282. opp-1248000000 {
  283. opp-hz = /bits/ 64 <1248000000>;
  284. opp-supported-hw = <0x7>;
  285. clock-latency-ns = <200000>;
  286. };
  287. opp-1324800000 {
  288. opp-hz = /bits/ 64 <1324800000>;
  289. opp-supported-hw = <0x7>;
  290. clock-latency-ns = <200000>;
  291. };
  292. opp-1401600000 {
  293. opp-hz = /bits/ 64 <1401600000>;
  294. opp-supported-hw = <0x7>;
  295. clock-latency-ns = <200000>;
  296. };
  297. opp-1478400000 {
  298. opp-hz = /bits/ 64 <1478400000>;
  299. opp-supported-hw = <0x7>;
  300. clock-latency-ns = <200000>;
  301. };
  302. opp-1555200000 {
  303. opp-hz = /bits/ 64 <1555200000>;
  304. opp-supported-hw = <0x7>;
  305. clock-latency-ns = <200000>;
  306. };
  307. opp-1632000000 {
  308. opp-hz = /bits/ 64 <1632000000>;
  309. opp-supported-hw = <0x7>;
  310. clock-latency-ns = <200000>;
  311. };
  312. opp-1708800000 {
  313. opp-hz = /bits/ 64 <1708800000>;
  314. opp-supported-hw = <0x7>;
  315. clock-latency-ns = <200000>;
  316. };
  317. opp-1785600000 {
  318. opp-hz = /bits/ 64 <1785600000>;
  319. opp-supported-hw = <0x7>;
  320. clock-latency-ns = <200000>;
  321. };
  322. opp-1804800000 {
  323. opp-hz = /bits/ 64 <1804800000>;
  324. opp-supported-hw = <0x6>;
  325. clock-latency-ns = <200000>;
  326. };
  327. opp-1824000000 {
  328. opp-hz = /bits/ 64 <1824000000>;
  329. opp-supported-hw = <0x1>;
  330. clock-latency-ns = <200000>;
  331. };
  332. opp-1900800000 {
  333. opp-hz = /bits/ 64 <1900800000>;
  334. opp-supported-hw = <0x4>;
  335. clock-latency-ns = <200000>;
  336. };
  337. opp-1920000000 {
  338. opp-hz = /bits/ 64 <1920000000>;
  339. opp-supported-hw = <0x1>;
  340. clock-latency-ns = <200000>;
  341. };
  342. opp-1996800000 {
  343. opp-hz = /bits/ 64 <1996800000>;
  344. opp-supported-hw = <0x1>;
  345. clock-latency-ns = <200000>;
  346. };
  347. opp-2073600000 {
  348. opp-hz = /bits/ 64 <2073600000>;
  349. opp-supported-hw = <0x1>;
  350. clock-latency-ns = <200000>;
  351. };
  352. opp-2150400000 {
  353. opp-hz = /bits/ 64 <2150400000>;
  354. opp-supported-hw = <0x1>;
  355. clock-latency-ns = <200000>;
  356. };
  357. };
  358. firmware {
  359. scm {
  360. compatible = "qcom,scm-msm8996", "qcom,scm";
  361. qcom,dload-mode = <&tcsr_2 0x13000>;
  362. };
  363. };
  364. memory@80000000 {
  365. device_type = "memory";
  366. /* We expect the bootloader to fill in the reg */
  367. reg = <0x0 0x80000000 0x0 0x0>;
  368. };
  369. psci {
  370. compatible = "arm,psci-1.0";
  371. method = "smc";
  372. };
  373. reserved-memory {
  374. #address-cells = <2>;
  375. #size-cells = <2>;
  376. ranges;
  377. hyp_mem: memory@85800000 {
  378. reg = <0x0 0x85800000 0x0 0x600000>;
  379. no-map;
  380. };
  381. xbl_mem: memory@85e00000 {
  382. reg = <0x0 0x85e00000 0x0 0x200000>;
  383. no-map;
  384. };
  385. smem_mem: smem-mem@86000000 {
  386. reg = <0x0 0x86000000 0x0 0x200000>;
  387. no-map;
  388. };
  389. tz_mem: memory@86200000 {
  390. reg = <0x0 0x86200000 0x0 0x2600000>;
  391. no-map;
  392. };
  393. rmtfs_mem: rmtfs {
  394. compatible = "qcom,rmtfs-mem";
  395. size = <0x0 0x200000>;
  396. alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
  397. no-map;
  398. qcom,client-id = <1>;
  399. qcom,vmid = <15>;
  400. };
  401. mpss_mem: mpss@88800000 {
  402. reg = <0x0 0x88800000 0x0 0x6200000>;
  403. no-map;
  404. };
  405. adsp_mem: adsp@8ea00000 {
  406. reg = <0x0 0x8ea00000 0x0 0x1b00000>;
  407. no-map;
  408. };
  409. slpi_mem: slpi@90500000 {
  410. reg = <0x0 0x90500000 0x0 0xa00000>;
  411. no-map;
  412. };
  413. gpu_mem: gpu@90f00000 {
  414. compatible = "shared-dma-pool";
  415. reg = <0x0 0x90f00000 0x0 0x100000>;
  416. no-map;
  417. };
  418. venus_mem: venus@91000000 {
  419. reg = <0x0 0x91000000 0x0 0x500000>;
  420. no-map;
  421. };
  422. mba_mem: mba@91500000 {
  423. reg = <0x0 0x91500000 0x0 0x200000>;
  424. no-map;
  425. };
  426. };
  427. rpm-glink {
  428. compatible = "qcom,glink-rpm";
  429. interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
  430. qcom,rpm-msg-ram = <&rpm_msg_ram>;
  431. mboxes = <&apcs_glb 0>;
  432. rpm_requests: rpm-requests {
  433. compatible = "qcom,rpm-msm8996";
  434. qcom,glink-channels = "rpm_requests";
  435. rpmcc: qcom,rpmcc {
  436. compatible = "qcom,rpmcc-msm8996", "qcom,rpmcc";
  437. #clock-cells = <1>;
  438. clocks = <&xo_board>;
  439. clock-names = "xo";
  440. };
  441. rpmpd: power-controller {
  442. compatible = "qcom,msm8996-rpmpd";
  443. #power-domain-cells = <1>;
  444. operating-points-v2 = <&rpmpd_opp_table>;
  445. rpmpd_opp_table: opp-table {
  446. compatible = "operating-points-v2";
  447. rpmpd_opp1: opp1 {
  448. opp-level = <1>;
  449. };
  450. rpmpd_opp2: opp2 {
  451. opp-level = <2>;
  452. };
  453. rpmpd_opp3: opp3 {
  454. opp-level = <3>;
  455. };
  456. rpmpd_opp4: opp4 {
  457. opp-level = <4>;
  458. };
  459. rpmpd_opp5: opp5 {
  460. opp-level = <5>;
  461. };
  462. rpmpd_opp6: opp6 {
  463. opp-level = <6>;
  464. };
  465. };
  466. };
  467. };
  468. };
  469. smem {
  470. compatible = "qcom,smem";
  471. memory-region = <&smem_mem>;
  472. hwlocks = <&tcsr_mutex 3>;
  473. };
  474. smp2p-adsp {
  475. compatible = "qcom,smp2p";
  476. qcom,smem = <443>, <429>;
  477. interrupts = <0 158 IRQ_TYPE_EDGE_RISING>;
  478. mboxes = <&apcs_glb 10>;
  479. qcom,local-pid = <0>;
  480. qcom,remote-pid = <2>;
  481. adsp_smp2p_out: master-kernel {
  482. qcom,entry-name = "master-kernel";
  483. #qcom,smem-state-cells = <1>;
  484. };
  485. adsp_smp2p_in: slave-kernel {
  486. qcom,entry-name = "slave-kernel";
  487. interrupt-controller;
  488. #interrupt-cells = <2>;
  489. };
  490. };
  491. smp2p-mpss {
  492. compatible = "qcom,smp2p";
  493. qcom,smem = <435>, <428>;
  494. interrupts = <GIC_SPI 451 IRQ_TYPE_EDGE_RISING>;
  495. mboxes = <&apcs_glb 14>;
  496. qcom,local-pid = <0>;
  497. qcom,remote-pid = <1>;
  498. mpss_smp2p_out: master-kernel {
  499. qcom,entry-name = "master-kernel";
  500. #qcom,smem-state-cells = <1>;
  501. };
  502. mpss_smp2p_in: slave-kernel {
  503. qcom,entry-name = "slave-kernel";
  504. interrupt-controller;
  505. #interrupt-cells = <2>;
  506. };
  507. };
  508. smp2p-slpi {
  509. compatible = "qcom,smp2p";
  510. qcom,smem = <481>, <430>;
  511. interrupts = <GIC_SPI 178 IRQ_TYPE_EDGE_RISING>;
  512. mboxes = <&apcs_glb 26>;
  513. qcom,local-pid = <0>;
  514. qcom,remote-pid = <3>;
  515. slpi_smp2p_out: master-kernel {
  516. qcom,entry-name = "master-kernel";
  517. #qcom,smem-state-cells = <1>;
  518. };
  519. slpi_smp2p_in: slave-kernel {
  520. qcom,entry-name = "slave-kernel";
  521. interrupt-controller;
  522. #interrupt-cells = <2>;
  523. };
  524. };
  525. soc: soc {
  526. #address-cells = <1>;
  527. #size-cells = <1>;
  528. ranges = <0 0 0 0xffffffff>;
  529. compatible = "simple-bus";
  530. pcie_phy: phy-wrapper@34000 {
  531. compatible = "qcom,msm8996-qmp-pcie-phy";
  532. reg = <0x00034000 0x488>;
  533. #address-cells = <1>;
  534. #size-cells = <1>;
  535. ranges = <0x0 0x00034000 0x4000>;
  536. clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
  537. <&gcc GCC_PCIE_PHY_CFG_AHB_CLK>,
  538. <&gcc GCC_PCIE_CLKREF_CLK>;
  539. clock-names = "aux", "cfg_ahb", "ref";
  540. resets = <&gcc GCC_PCIE_PHY_BCR>,
  541. <&gcc GCC_PCIE_PHY_COM_BCR>,
  542. <&gcc GCC_PCIE_PHY_COM_NOCSR_BCR>;
  543. reset-names = "phy", "common", "cfg";
  544. status = "disabled";
  545. pciephy_0: phy@1000 {
  546. reg = <0x1000 0x130>,
  547. <0x1200 0x200>,
  548. <0x1400 0x1dc>;
  549. clocks = <&gcc GCC_PCIE_0_PIPE_CLK>;
  550. clock-names = "pipe0";
  551. resets = <&gcc GCC_PCIE_0_PHY_BCR>;
  552. reset-names = "lane0";
  553. #clock-cells = <0>;
  554. clock-output-names = "pcie_0_pipe_clk_src";
  555. #phy-cells = <0>;
  556. };
  557. pciephy_1: phy@2000 {
  558. reg = <0x2000 0x130>,
  559. <0x2200 0x200>,
  560. <0x2400 0x1dc>;
  561. clocks = <&gcc GCC_PCIE_1_PIPE_CLK>;
  562. clock-names = "pipe1";
  563. resets = <&gcc GCC_PCIE_1_PHY_BCR>;
  564. reset-names = "lane1";
  565. #clock-cells = <0>;
  566. clock-output-names = "pcie_1_pipe_clk_src";
  567. #phy-cells = <0>;
  568. };
  569. pciephy_2: phy@3000 {
  570. reg = <0x3000 0x130>,
  571. <0x3200 0x200>,
  572. <0x3400 0x1dc>;
  573. clocks = <&gcc GCC_PCIE_2_PIPE_CLK>;
  574. clock-names = "pipe2";
  575. resets = <&gcc GCC_PCIE_2_PHY_BCR>;
  576. reset-names = "lane2";
  577. #clock-cells = <0>;
  578. clock-output-names = "pcie_2_pipe_clk_src";
  579. #phy-cells = <0>;
  580. };
  581. };
  582. rpm_msg_ram: sram@68000 {
  583. compatible = "qcom,rpm-msg-ram";
  584. reg = <0x00068000 0x6000>;
  585. };
  586. qfprom@74000 {
  587. compatible = "qcom,msm8996-qfprom", "qcom,qfprom";
  588. reg = <0x00074000 0x8ff>;
  589. #address-cells = <1>;
  590. #size-cells = <1>;
  591. qusb2p_hstx_trim: hstx_trim@24e {
  592. reg = <0x24e 0x2>;
  593. bits = <5 4>;
  594. };
  595. qusb2s_hstx_trim: hstx_trim@24f {
  596. reg = <0x24f 0x1>;
  597. bits = <1 4>;
  598. };
  599. speedbin_efuse: speedbin@133 {
  600. reg = <0x133 0x1>;
  601. bits = <5 3>;
  602. };
  603. };
  604. rng: rng@83000 {
  605. compatible = "qcom,prng-ee";
  606. reg = <0x00083000 0x1000>;
  607. clocks = <&gcc GCC_PRNG_AHB_CLK>;
  608. clock-names = "core";
  609. };
  610. gcc: clock-controller@300000 {
  611. compatible = "qcom,gcc-msm8996";
  612. #clock-cells = <1>;
  613. #reset-cells = <1>;
  614. #power-domain-cells = <1>;
  615. reg = <0x00300000 0x90000>;
  616. clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
  617. <&rpmcc RPM_SMD_LN_BB_CLK>,
  618. <&sleep_clk>,
  619. <&pciephy_0>,
  620. <&pciephy_1>,
  621. <&pciephy_2>,
  622. <&ssusb_phy_0>,
  623. <0>, <0>, <0>;
  624. clock-names = "cxo",
  625. "cxo2",
  626. "sleep_clk",
  627. "pcie_0_pipe_clk_src",
  628. "pcie_1_pipe_clk_src",
  629. "pcie_2_pipe_clk_src",
  630. "usb3_phy_pipe_clk_src",
  631. "ufs_rx_symbol_0_clk_src",
  632. "ufs_rx_symbol_1_clk_src",
  633. "ufs_tx_symbol_0_clk_src";
  634. };
  635. bimc: interconnect@408000 {
  636. compatible = "qcom,msm8996-bimc";
  637. reg = <0x00408000 0x5a000>;
  638. #interconnect-cells = <1>;
  639. clock-names = "bus", "bus_a";
  640. clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
  641. <&rpmcc RPM_SMD_BIMC_A_CLK>;
  642. };
  643. tsens0: thermal-sensor@4a9000 {
  644. compatible = "qcom,msm8996-tsens", "qcom,tsens-v2";
  645. reg = <0x004a9000 0x1000>, /* TM */
  646. <0x004a8000 0x1000>; /* SROT */
  647. #qcom,sensors = <13>;
  648. interrupts = <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>,
  649. <GIC_SPI 445 IRQ_TYPE_LEVEL_HIGH>;
  650. interrupt-names = "uplow", "critical";
  651. #thermal-sensor-cells = <1>;
  652. };
  653. tsens1: thermal-sensor@4ad000 {
  654. compatible = "qcom,msm8996-tsens", "qcom,tsens-v2";
  655. reg = <0x004ad000 0x1000>, /* TM */
  656. <0x004ac000 0x1000>; /* SROT */
  657. #qcom,sensors = <8>;
  658. interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
  659. <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>;
  660. interrupt-names = "uplow", "critical";
  661. #thermal-sensor-cells = <1>;
  662. };
  663. cryptobam: dma-controller@644000 {
  664. compatible = "qcom,bam-v1.7.0";
  665. reg = <0x00644000 0x24000>;
  666. interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>;
  667. clocks = <&gcc GCC_CE1_CLK>;
  668. clock-names = "bam_clk";
  669. #dma-cells = <1>;
  670. qcom,ee = <0>;
  671. qcom,controlled-remotely;
  672. };
  673. crypto: crypto@67a000 {
  674. compatible = "qcom,crypto-v5.4";
  675. reg = <0x0067a000 0x6000>;
  676. clocks = <&gcc GCC_CE1_AHB_CLK>,
  677. <&gcc GCC_CE1_AXI_CLK>,
  678. <&gcc GCC_CE1_CLK>;
  679. clock-names = "iface", "bus", "core";
  680. dmas = <&cryptobam 6>, <&cryptobam 7>;
  681. dma-names = "rx", "tx";
  682. };
  683. cnoc: interconnect@500000 {
  684. compatible = "qcom,msm8996-cnoc";
  685. reg = <0x00500000 0x1000>;
  686. #interconnect-cells = <1>;
  687. clock-names = "bus", "bus_a";
  688. clocks = <&rpmcc RPM_SMD_CNOC_CLK>,
  689. <&rpmcc RPM_SMD_CNOC_A_CLK>;
  690. };
  691. snoc: interconnect@524000 {
  692. compatible = "qcom,msm8996-snoc";
  693. reg = <0x00524000 0x1c000>;
  694. #interconnect-cells = <1>;
  695. clock-names = "bus", "bus_a";
  696. clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
  697. <&rpmcc RPM_SMD_SNOC_A_CLK>;
  698. };
  699. a0noc: interconnect@543000 {
  700. compatible = "qcom,msm8996-a0noc";
  701. reg = <0x00543000 0x6000>;
  702. #interconnect-cells = <1>;
  703. clock-names = "aggre0_snoc_axi",
  704. "aggre0_cnoc_ahb",
  705. "aggre0_noc_mpu_cfg";
  706. clocks = <&gcc GCC_AGGRE0_SNOC_AXI_CLK>,
  707. <&gcc GCC_AGGRE0_CNOC_AHB_CLK>,
  708. <&gcc GCC_AGGRE0_NOC_MPU_CFG_AHB_CLK>;
  709. power-domains = <&gcc AGGRE0_NOC_GDSC>;
  710. };
  711. a1noc: interconnect@562000 {
  712. compatible = "qcom,msm8996-a1noc";
  713. reg = <0x00562000 0x5000>;
  714. #interconnect-cells = <1>;
  715. clock-names = "bus", "bus_a";
  716. clocks = <&rpmcc RPM_SMD_AGGR1_NOC_CLK>,
  717. <&rpmcc RPM_SMD_AGGR1_NOC_A_CLK>;
  718. };
  719. a2noc: interconnect@583000 {
  720. compatible = "qcom,msm8996-a2noc";
  721. reg = <0x00583000 0x7000>;
  722. #interconnect-cells = <1>;
  723. clock-names = "bus", "bus_a", "aggre2_ufs_axi", "ufs_axi";
  724. clocks = <&rpmcc RPM_SMD_AGGR2_NOC_CLK>,
  725. <&rpmcc RPM_SMD_AGGR2_NOC_A_CLK>,
  726. <&gcc GCC_AGGRE2_UFS_AXI_CLK>,
  727. <&gcc GCC_UFS_AXI_CLK>;
  728. };
  729. mnoc: interconnect@5a4000 {
  730. compatible = "qcom,msm8996-mnoc";
  731. reg = <0x005a4000 0x1c000>;
  732. #interconnect-cells = <1>;
  733. clock-names = "bus", "bus_a", "iface";
  734. clocks = <&rpmcc RPM_SMD_MMAXI_CLK>,
  735. <&rpmcc RPM_SMD_MMAXI_A_CLK>,
  736. <&mmcc AHB_CLK_SRC>;
  737. };
  738. pnoc: interconnect@5c0000 {
  739. compatible = "qcom,msm8996-pnoc";
  740. reg = <0x005c0000 0x3000>;
  741. #interconnect-cells = <1>;
  742. clock-names = "bus", "bus_a";
  743. clocks = <&rpmcc RPM_SMD_PCNOC_CLK>,
  744. <&rpmcc RPM_SMD_PCNOC_A_CLK>;
  745. };
  746. tcsr_mutex: hwlock@740000 {
  747. compatible = "qcom,tcsr-mutex";
  748. reg = <0x00740000 0x20000>;
  749. #hwlock-cells = <1>;
  750. };
  751. tcsr_1: syscon@760000 {
  752. compatible = "qcom,tcsr-msm8996", "syscon";
  753. reg = <0x00760000 0x20000>;
  754. };
  755. tcsr_2: syscon@7a0000 {
  756. compatible = "qcom,tcsr-msm8996", "syscon";
  757. reg = <0x007a0000 0x18000>;
  758. };
  759. mmcc: clock-controller@8c0000 {
  760. compatible = "qcom,mmcc-msm8996";
  761. #clock-cells = <1>;
  762. #reset-cells = <1>;
  763. #power-domain-cells = <1>;
  764. reg = <0x008c0000 0x40000>;
  765. clocks = <&xo_board>,
  766. <&gcc GCC_MMSS_NOC_CFG_AHB_CLK>,
  767. <&gcc GPLL0>,
  768. <&dsi0_phy 1>,
  769. <&dsi0_phy 0>,
  770. <0>,
  771. <0>,
  772. <0>;
  773. clock-names = "xo",
  774. "gcc_mmss_noc_cfg_ahb_clk",
  775. "gpll0",
  776. "dsi0pll",
  777. "dsi0pllbyte",
  778. "dsi1pll",
  779. "dsi1pllbyte",
  780. "hdmipll";
  781. assigned-clocks = <&mmcc MMPLL9_PLL>,
  782. <&mmcc MMPLL1_PLL>,
  783. <&mmcc MMPLL3_PLL>,
  784. <&mmcc MMPLL4_PLL>,
  785. <&mmcc MMPLL5_PLL>;
  786. assigned-clock-rates = <624000000>,
  787. <810000000>,
  788. <980000000>,
  789. <960000000>,
  790. <825000000>;
  791. };
  792. mdss: mdss@900000 {
  793. compatible = "qcom,mdss";
  794. reg = <0x00900000 0x1000>,
  795. <0x009b0000 0x1040>,
  796. <0x009b8000 0x1040>;
  797. reg-names = "mdss_phys",
  798. "vbif_phys",
  799. "vbif_nrt_phys";
  800. power-domains = <&mmcc MDSS_GDSC>;
  801. interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
  802. interrupt-controller;
  803. #interrupt-cells = <1>;
  804. clocks = <&mmcc MDSS_AHB_CLK>,
  805. <&mmcc MDSS_MDP_CLK>;
  806. clock-names = "iface", "core";
  807. #address-cells = <1>;
  808. #size-cells = <1>;
  809. ranges;
  810. status = "disabled";
  811. mdp: mdp@901000 {
  812. compatible = "qcom,mdp5";
  813. reg = <0x00901000 0x90000>;
  814. reg-names = "mdp_phys";
  815. interrupt-parent = <&mdss>;
  816. interrupts = <0>;
  817. clocks = <&mmcc MDSS_AHB_CLK>,
  818. <&mmcc MDSS_AXI_CLK>,
  819. <&mmcc MDSS_MDP_CLK>,
  820. <&mmcc SMMU_MDP_AXI_CLK>,
  821. <&mmcc MDSS_VSYNC_CLK>;
  822. clock-names = "iface",
  823. "bus",
  824. "core",
  825. "iommu",
  826. "vsync";
  827. iommus = <&mdp_smmu 0>;
  828. assigned-clocks = <&mmcc MDSS_MDP_CLK>,
  829. <&mmcc MDSS_VSYNC_CLK>;
  830. assigned-clock-rates = <300000000>,
  831. <19200000>;
  832. interconnects = <&mnoc MASTER_MDP_PORT0 &bimc SLAVE_EBI_CH0>,
  833. <&mnoc MASTER_MDP_PORT1 &bimc SLAVE_EBI_CH0>,
  834. <&mnoc MASTER_ROTATOR &bimc SLAVE_EBI_CH0>;
  835. interconnect-names = "mdp0-mem", "mdp1-mem", "rotator-mem";
  836. ports {
  837. #address-cells = <1>;
  838. #size-cells = <0>;
  839. port@0 {
  840. reg = <0>;
  841. mdp5_intf3_out: endpoint {
  842. remote-endpoint = <&hdmi_in>;
  843. };
  844. };
  845. port@1 {
  846. reg = <1>;
  847. mdp5_intf1_out: endpoint {
  848. remote-endpoint = <&dsi0_in>;
  849. };
  850. };
  851. port@2 {
  852. reg = <2>;
  853. mdp5_intf2_out: endpoint {
  854. remote-endpoint = <&dsi1_in>;
  855. };
  856. };
  857. };
  858. };
  859. dsi0: dsi@994000 {
  860. compatible = "qcom,mdss-dsi-ctrl";
  861. reg = <0x00994000 0x400>;
  862. reg-names = "dsi_ctrl";
  863. interrupt-parent = <&mdss>;
  864. interrupts = <4>;
  865. clocks = <&mmcc MDSS_MDP_CLK>,
  866. <&mmcc MDSS_BYTE0_CLK>,
  867. <&mmcc MDSS_AHB_CLK>,
  868. <&mmcc MDSS_AXI_CLK>,
  869. <&mmcc MMSS_MISC_AHB_CLK>,
  870. <&mmcc MDSS_PCLK0_CLK>,
  871. <&mmcc MDSS_ESC0_CLK>;
  872. clock-names = "mdp_core",
  873. "byte",
  874. "iface",
  875. "bus",
  876. "core_mmss",
  877. "pixel",
  878. "core";
  879. assigned-clocks = <&mmcc BYTE0_CLK_SRC>, <&mmcc PCLK0_CLK_SRC>;
  880. assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>;
  881. phys = <&dsi0_phy>;
  882. phy-names = "dsi";
  883. status = "disabled";
  884. #address-cells = <1>;
  885. #size-cells = <0>;
  886. ports {
  887. #address-cells = <1>;
  888. #size-cells = <0>;
  889. port@0 {
  890. reg = <0>;
  891. dsi0_in: endpoint {
  892. remote-endpoint = <&mdp5_intf1_out>;
  893. };
  894. };
  895. port@1 {
  896. reg = <1>;
  897. dsi0_out: endpoint {
  898. };
  899. };
  900. };
  901. };
  902. dsi0_phy: dsi-phy@994400 {
  903. compatible = "qcom,dsi-phy-14nm";
  904. reg = <0x00994400 0x100>,
  905. <0x00994500 0x300>,
  906. <0x00994800 0x188>;
  907. reg-names = "dsi_phy",
  908. "dsi_phy_lane",
  909. "dsi_pll";
  910. #clock-cells = <1>;
  911. #phy-cells = <0>;
  912. clocks = <&mmcc MDSS_AHB_CLK>, <&rpmcc RPM_SMD_XO_CLK_SRC>;
  913. clock-names = "iface", "ref";
  914. status = "disabled";
  915. };
  916. dsi1: dsi@996000 {
  917. compatible = "qcom,mdss-dsi-ctrl";
  918. reg = <0x00996000 0x400>;
  919. reg-names = "dsi_ctrl";
  920. interrupt-parent = <&mdss>;
  921. interrupts = <5>;
  922. clocks = <&mmcc MDSS_MDP_CLK>,
  923. <&mmcc MDSS_BYTE1_CLK>,
  924. <&mmcc MDSS_AHB_CLK>,
  925. <&mmcc MDSS_AXI_CLK>,
  926. <&mmcc MMSS_MISC_AHB_CLK>,
  927. <&mmcc MDSS_PCLK1_CLK>,
  928. <&mmcc MDSS_ESC1_CLK>;
  929. clock-names = "mdp_core",
  930. "byte",
  931. "iface",
  932. "bus",
  933. "core_mmss",
  934. "pixel",
  935. "core";
  936. assigned-clocks = <&mmcc BYTE1_CLK_SRC>, <&mmcc PCLK1_CLK_SRC>;
  937. assigned-clock-parents = <&dsi1_phy 0>, <&dsi1_phy 1>;
  938. phys = <&dsi1_phy>;
  939. phy-names = "dsi";
  940. status = "disabled";
  941. #address-cells = <1>;
  942. #size-cells = <0>;
  943. ports {
  944. #address-cells = <1>;
  945. #size-cells = <0>;
  946. port@0 {
  947. reg = <0>;
  948. dsi1_in: endpoint {
  949. remote-endpoint = <&mdp5_intf2_out>;
  950. };
  951. };
  952. port@1 {
  953. reg = <1>;
  954. dsi1_out: endpoint {
  955. };
  956. };
  957. };
  958. };
  959. dsi1_phy: dsi-phy@996400 {
  960. compatible = "qcom,dsi-phy-14nm";
  961. reg = <0x00996400 0x100>,
  962. <0x00996500 0x300>,
  963. <0x00996800 0x188>;
  964. reg-names = "dsi_phy",
  965. "dsi_phy_lane",
  966. "dsi_pll";
  967. #clock-cells = <1>;
  968. #phy-cells = <0>;
  969. clocks = <&mmcc MDSS_AHB_CLK>, <&rpmcc RPM_SMD_XO_CLK_SRC>;
  970. clock-names = "iface", "ref";
  971. status = "disabled";
  972. };
  973. hdmi: hdmi-tx@9a0000 {
  974. compatible = "qcom,hdmi-tx-8996";
  975. reg = <0x009a0000 0x50c>,
  976. <0x00070000 0x6158>,
  977. <0x009e0000 0xfff>;
  978. reg-names = "core_physical",
  979. "qfprom_physical",
  980. "hdcp_physical";
  981. interrupt-parent = <&mdss>;
  982. interrupts = <8>;
  983. clocks = <&mmcc MDSS_MDP_CLK>,
  984. <&mmcc MDSS_AHB_CLK>,
  985. <&mmcc MDSS_HDMI_CLK>,
  986. <&mmcc MDSS_HDMI_AHB_CLK>,
  987. <&mmcc MDSS_EXTPCLK_CLK>;
  988. clock-names =
  989. "mdp_core",
  990. "iface",
  991. "core",
  992. "alt_iface",
  993. "extp";
  994. phys = <&hdmi_phy>;
  995. #sound-dai-cells = <1>;
  996. status = "disabled";
  997. ports {
  998. #address-cells = <1>;
  999. #size-cells = <0>;
  1000. port@0 {
  1001. reg = <0>;
  1002. hdmi_in: endpoint {
  1003. remote-endpoint = <&mdp5_intf3_out>;
  1004. };
  1005. };
  1006. };
  1007. };
  1008. hdmi_phy: hdmi-phy@9a0600 {
  1009. #phy-cells = <0>;
  1010. compatible = "qcom,hdmi-phy-8996";
  1011. reg = <0x009a0600 0x1c4>,
  1012. <0x009a0a00 0x124>,
  1013. <0x009a0c00 0x124>,
  1014. <0x009a0e00 0x124>,
  1015. <0x009a1000 0x124>,
  1016. <0x009a1200 0x0c8>;
  1017. reg-names = "hdmi_pll",
  1018. "hdmi_tx_l0",
  1019. "hdmi_tx_l1",
  1020. "hdmi_tx_l2",
  1021. "hdmi_tx_l3",
  1022. "hdmi_phy";
  1023. clocks = <&mmcc MDSS_AHB_CLK>,
  1024. <&gcc GCC_HDMI_CLKREF_CLK>,
  1025. <&xo_board>;
  1026. clock-names = "iface",
  1027. "ref",
  1028. "xo";
  1029. #clock-cells = <0>;
  1030. status = "disabled";
  1031. };
  1032. };
  1033. gpu: gpu@b00000 {
  1034. compatible = "qcom,adreno-530.2", "qcom,adreno";
  1035. reg = <0x00b00000 0x3f000>;
  1036. reg-names = "kgsl_3d0_reg_memory";
  1037. interrupts = <0 300 IRQ_TYPE_LEVEL_HIGH>;
  1038. clocks = <&mmcc GPU_GX_GFX3D_CLK>,
  1039. <&mmcc GPU_AHB_CLK>,
  1040. <&mmcc GPU_GX_RBBMTIMER_CLK>,
  1041. <&gcc GCC_BIMC_GFX_CLK>,
  1042. <&gcc GCC_MMSS_BIMC_GFX_CLK>;
  1043. clock-names = "core",
  1044. "iface",
  1045. "rbbmtimer",
  1046. "mem",
  1047. "mem_iface";
  1048. interconnects = <&bimc MASTER_GRAPHICS_3D &bimc SLAVE_EBI_CH0>;
  1049. interconnect-names = "gfx-mem";
  1050. power-domains = <&mmcc GPU_GX_GDSC>;
  1051. iommus = <&adreno_smmu 0>;
  1052. nvmem-cells = <&speedbin_efuse>;
  1053. nvmem-cell-names = "speed_bin";
  1054. operating-points-v2 = <&gpu_opp_table>;
  1055. status = "disabled";
  1056. #cooling-cells = <2>;
  1057. gpu_opp_table: opp-table {
  1058. compatible = "operating-points-v2";
  1059. /*
  1060. * 624Mhz is only available on speed bins 0 and 3.
  1061. * 560Mhz is only available on speed bins 0, 2 and 3.
  1062. * All the rest are available on all bins of the hardware.
  1063. */
  1064. opp-624000000 {
  1065. opp-hz = /bits/ 64 <624000000>;
  1066. opp-supported-hw = <0x09>;
  1067. };
  1068. opp-560000000 {
  1069. opp-hz = /bits/ 64 <560000000>;
  1070. opp-supported-hw = <0x0d>;
  1071. };
  1072. opp-510000000 {
  1073. opp-hz = /bits/ 64 <510000000>;
  1074. opp-supported-hw = <0xFF>;
  1075. };
  1076. opp-401800000 {
  1077. opp-hz = /bits/ 64 <401800000>;
  1078. opp-supported-hw = <0xFF>;
  1079. };
  1080. opp-315000000 {
  1081. opp-hz = /bits/ 64 <315000000>;
  1082. opp-supported-hw = <0xFF>;
  1083. };
  1084. opp-214000000 {
  1085. opp-hz = /bits/ 64 <214000000>;
  1086. opp-supported-hw = <0xFF>;
  1087. };
  1088. opp-133000000 {
  1089. opp-hz = /bits/ 64 <133000000>;
  1090. opp-supported-hw = <0xFF>;
  1091. };
  1092. };
  1093. zap-shader {
  1094. memory-region = <&gpu_mem>;
  1095. };
  1096. };
  1097. tlmm: pinctrl@1010000 {
  1098. compatible = "qcom,msm8996-pinctrl";
  1099. reg = <0x01010000 0x300000>;
  1100. interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
  1101. gpio-controller;
  1102. gpio-ranges = <&tlmm 0 0 150>;
  1103. #gpio-cells = <2>;
  1104. interrupt-controller;
  1105. #interrupt-cells = <2>;
  1106. blsp1_spi1_default: blsp1-spi1-default {
  1107. spi {
  1108. pins = "gpio0", "gpio1", "gpio3";
  1109. function = "blsp_spi1";
  1110. drive-strength = <12>;
  1111. bias-disable;
  1112. };
  1113. cs {
  1114. pins = "gpio2";
  1115. function = "gpio";
  1116. drive-strength = <16>;
  1117. bias-disable;
  1118. output-high;
  1119. };
  1120. };
  1121. blsp1_spi1_sleep: blsp1-spi1-sleep {
  1122. pins = "gpio0", "gpio1", "gpio2", "gpio3";
  1123. function = "gpio";
  1124. drive-strength = <2>;
  1125. bias-pull-down;
  1126. };
  1127. blsp2_uart2_2pins_default: blsp2-uart1-2pins {
  1128. pins = "gpio4", "gpio5";
  1129. function = "blsp_uart8";
  1130. drive-strength = <16>;
  1131. bias-disable;
  1132. };
  1133. blsp2_uart2_2pins_sleep: blsp2-uart1-2pins-sleep {
  1134. pins = "gpio4", "gpio5";
  1135. function = "gpio";
  1136. drive-strength = <2>;
  1137. bias-disable;
  1138. };
  1139. blsp2_i2c2_default: blsp2-i2c2 {
  1140. pins = "gpio6", "gpio7";
  1141. function = "blsp_i2c8";
  1142. drive-strength = <16>;
  1143. bias-disable;
  1144. };
  1145. blsp2_i2c2_sleep: blsp2-i2c2-sleep {
  1146. pins = "gpio6", "gpio7";
  1147. function = "gpio";
  1148. drive-strength = <2>;
  1149. bias-disable;
  1150. };
  1151. cci0_default: cci0-default {
  1152. pins = "gpio17", "gpio18";
  1153. function = "cci_i2c";
  1154. drive-strength = <16>;
  1155. bias-disable;
  1156. };
  1157. camera0_state_on:
  1158. camera_rear_default: camera-rear-default {
  1159. camera0_mclk: mclk0 {
  1160. pins = "gpio13";
  1161. function = "cam_mclk";
  1162. drive-strength = <16>;
  1163. bias-disable;
  1164. };
  1165. camera0_rst: rst {
  1166. pins = "gpio25";
  1167. function = "gpio";
  1168. drive-strength = <16>;
  1169. bias-disable;
  1170. };
  1171. camera0_pwdn: pwdn {
  1172. pins = "gpio26";
  1173. function = "gpio";
  1174. drive-strength = <16>;
  1175. bias-disable;
  1176. };
  1177. };
  1178. cci1_default: cci1-default {
  1179. pins = "gpio19", "gpio20";
  1180. function = "cci_i2c";
  1181. drive-strength = <16>;
  1182. bias-disable;
  1183. };
  1184. camera1_state_on:
  1185. camera_board_default: camera-board-default {
  1186. mclk1 {
  1187. pins = "gpio14";
  1188. function = "cam_mclk";
  1189. drive-strength = <16>;
  1190. bias-disable;
  1191. };
  1192. pwdn {
  1193. pins = "gpio98";
  1194. function = "gpio";
  1195. drive-strength = <16>;
  1196. bias-disable;
  1197. };
  1198. rst {
  1199. pins = "gpio104";
  1200. function = "gpio";
  1201. drive-strength = <16>;
  1202. bias-disable;
  1203. };
  1204. };
  1205. camera2_state_on:
  1206. camera_front_default: camera-front-default {
  1207. camera2_mclk: mclk2 {
  1208. pins = "gpio15";
  1209. function = "cam_mclk";
  1210. drive-strength = <16>;
  1211. bias-disable;
  1212. };
  1213. camera2_rst: rst {
  1214. pins = "gpio23";
  1215. function = "gpio";
  1216. drive-strength = <16>;
  1217. bias-disable;
  1218. };
  1219. pwdn {
  1220. pins = "gpio133";
  1221. function = "gpio";
  1222. drive-strength = <16>;
  1223. bias-disable;
  1224. };
  1225. };
  1226. pcie0_state_on: pcie0-state-on {
  1227. perst {
  1228. pins = "gpio35";
  1229. function = "gpio";
  1230. drive-strength = <2>;
  1231. bias-pull-down;
  1232. };
  1233. clkreq {
  1234. pins = "gpio36";
  1235. function = "pci_e0";
  1236. drive-strength = <2>;
  1237. bias-pull-up;
  1238. };
  1239. wake {
  1240. pins = "gpio37";
  1241. function = "gpio";
  1242. drive-strength = <2>;
  1243. bias-pull-up;
  1244. };
  1245. };
  1246. pcie0_state_off: pcie0-state-off {
  1247. perst {
  1248. pins = "gpio35";
  1249. function = "gpio";
  1250. drive-strength = <2>;
  1251. bias-pull-down;
  1252. };
  1253. clkreq {
  1254. pins = "gpio36";
  1255. function = "gpio";
  1256. drive-strength = <2>;
  1257. bias-disable;
  1258. };
  1259. wake {
  1260. pins = "gpio37";
  1261. function = "gpio";
  1262. drive-strength = <2>;
  1263. bias-disable;
  1264. };
  1265. };
  1266. blsp1_uart2_default: blsp1-uart2-default {
  1267. pins = "gpio41", "gpio42", "gpio43", "gpio44";
  1268. function = "blsp_uart2";
  1269. drive-strength = <16>;
  1270. bias-disable;
  1271. };
  1272. blsp1_uart2_sleep: blsp1-uart2-sleep {
  1273. pins = "gpio41", "gpio42", "gpio43", "gpio44";
  1274. function = "gpio";
  1275. drive-strength = <2>;
  1276. bias-disable;
  1277. };
  1278. blsp1_i2c3_default: blsp1-i2c2-default {
  1279. pins = "gpio47", "gpio48";
  1280. function = "blsp_i2c3";
  1281. drive-strength = <16>;
  1282. bias-disable;
  1283. };
  1284. blsp1_i2c3_sleep: blsp1-i2c2-sleep {
  1285. pins = "gpio47", "gpio48";
  1286. function = "gpio";
  1287. drive-strength = <2>;
  1288. bias-disable;
  1289. };
  1290. blsp2_uart3_4pins_default: blsp2-uart2-4pins {
  1291. pins = "gpio49", "gpio50", "gpio51", "gpio52";
  1292. function = "blsp_uart9";
  1293. drive-strength = <16>;
  1294. bias-disable;
  1295. };
  1296. blsp2_uart3_4pins_sleep: blsp2-uart2-4pins-sleep {
  1297. pins = "gpio49", "gpio50", "gpio51", "gpio52";
  1298. function = "blsp_uart9";
  1299. drive-strength = <2>;
  1300. bias-disable;
  1301. };
  1302. blsp2_i2c3_default: blsp2-i2c3 {
  1303. pins = "gpio51", "gpio52";
  1304. function = "blsp_i2c9";
  1305. drive-strength = <16>;
  1306. bias-disable;
  1307. };
  1308. blsp2_i2c3_sleep: blsp2-i2c3-sleep {
  1309. pins = "gpio51", "gpio52";
  1310. function = "gpio";
  1311. drive-strength = <2>;
  1312. bias-disable;
  1313. };
  1314. wcd_intr_default: wcd-intr-default{
  1315. pins = "gpio54";
  1316. function = "gpio";
  1317. drive-strength = <2>;
  1318. bias-pull-down;
  1319. input-enable;
  1320. };
  1321. blsp2_i2c1_default: blsp2-i2c1 {
  1322. pins = "gpio55", "gpio56";
  1323. function = "blsp_i2c7";
  1324. drive-strength = <16>;
  1325. bias-disable;
  1326. };
  1327. blsp2_i2c1_sleep: blsp2-i2c0-sleep {
  1328. pins = "gpio55", "gpio56";
  1329. function = "gpio";
  1330. drive-strength = <2>;
  1331. bias-disable;
  1332. };
  1333. blsp2_i2c5_default: blsp2-i2c5 {
  1334. pins = "gpio60", "gpio61";
  1335. function = "blsp_i2c11";
  1336. drive-strength = <2>;
  1337. bias-disable;
  1338. };
  1339. /* Sleep state for BLSP2_I2C5 is missing.. */
  1340. cdc_reset_active: cdc-reset-active {
  1341. pins = "gpio64";
  1342. function = "gpio";
  1343. drive-strength = <16>;
  1344. bias-pull-down;
  1345. output-high;
  1346. };
  1347. cdc_reset_sleep: cdc-reset-sleep {
  1348. pins = "gpio64";
  1349. function = "gpio";
  1350. drive-strength = <16>;
  1351. bias-disable;
  1352. output-low;
  1353. };
  1354. blsp2_spi6_default: blsp2-spi5-default {
  1355. spi {
  1356. pins = "gpio85", "gpio86", "gpio88";
  1357. function = "blsp_spi12";
  1358. drive-strength = <12>;
  1359. bias-disable;
  1360. };
  1361. cs {
  1362. pins = "gpio87";
  1363. function = "gpio";
  1364. drive-strength = <16>;
  1365. bias-disable;
  1366. output-high;
  1367. };
  1368. };
  1369. blsp2_spi6_sleep: blsp2-spi5-sleep {
  1370. pins = "gpio85", "gpio86", "gpio87", "gpio88";
  1371. function = "gpio";
  1372. drive-strength = <2>;
  1373. bias-pull-down;
  1374. };
  1375. blsp2_i2c6_default: blsp2-i2c6 {
  1376. pins = "gpio87", "gpio88";
  1377. function = "blsp_i2c12";
  1378. drive-strength = <16>;
  1379. bias-disable;
  1380. };
  1381. blsp2_i2c6_sleep: blsp2-i2c6-sleep {
  1382. pins = "gpio87", "gpio88";
  1383. function = "gpio";
  1384. drive-strength = <2>;
  1385. bias-disable;
  1386. };
  1387. pcie1_state_on: pcie1-state-on {
  1388. perst {
  1389. pins = "gpio130";
  1390. function = "gpio";
  1391. drive-strength = <2>;
  1392. bias-pull-down;
  1393. };
  1394. clkreq {
  1395. pins = "gpio131";
  1396. function = "pci_e1";
  1397. drive-strength = <2>;
  1398. bias-pull-up;
  1399. };
  1400. wake {
  1401. pins = "gpio132";
  1402. function = "gpio";
  1403. drive-strength = <2>;
  1404. bias-pull-down;
  1405. };
  1406. };
  1407. pcie1_state_off: pcie1-state-off {
  1408. /* Perst is missing? */
  1409. clkreq {
  1410. pins = "gpio131";
  1411. function = "gpio";
  1412. drive-strength = <2>;
  1413. bias-disable;
  1414. };
  1415. wake {
  1416. pins = "gpio132";
  1417. function = "gpio";
  1418. drive-strength = <2>;
  1419. bias-disable;
  1420. };
  1421. };
  1422. pcie2_state_on: pcie2-state-on {
  1423. perst {
  1424. pins = "gpio114";
  1425. function = "gpio";
  1426. drive-strength = <2>;
  1427. bias-pull-down;
  1428. };
  1429. clkreq {
  1430. pins = "gpio115";
  1431. function = "pci_e2";
  1432. drive-strength = <2>;
  1433. bias-pull-up;
  1434. };
  1435. wake {
  1436. pins = "gpio116";
  1437. function = "gpio";
  1438. drive-strength = <2>;
  1439. bias-pull-down;
  1440. };
  1441. };
  1442. pcie2_state_off: pcie2-state-off {
  1443. /* Perst is missing? */
  1444. clkreq {
  1445. pins = "gpio115";
  1446. function = "gpio";
  1447. drive-strength = <2>;
  1448. bias-disable;
  1449. };
  1450. wake {
  1451. pins = "gpio116";
  1452. function = "gpio";
  1453. drive-strength = <2>;
  1454. bias-disable;
  1455. };
  1456. };
  1457. sdc1_state_on: sdc1-state-on {
  1458. clk {
  1459. pins = "sdc1_clk";
  1460. bias-disable;
  1461. drive-strength = <16>;
  1462. };
  1463. cmd {
  1464. pins = "sdc1_cmd";
  1465. bias-pull-up;
  1466. drive-strength = <10>;
  1467. };
  1468. data {
  1469. pins = "sdc1_data";
  1470. bias-pull-up;
  1471. drive-strength = <10>;
  1472. };
  1473. rclk {
  1474. pins = "sdc1_rclk";
  1475. bias-pull-down;
  1476. };
  1477. };
  1478. sdc1_state_off: sdc1-state-off {
  1479. clk {
  1480. pins = "sdc1_clk";
  1481. bias-disable;
  1482. drive-strength = <2>;
  1483. };
  1484. cmd {
  1485. pins = "sdc1_cmd";
  1486. bias-pull-up;
  1487. drive-strength = <2>;
  1488. };
  1489. data {
  1490. pins = "sdc1_data";
  1491. bias-pull-up;
  1492. drive-strength = <2>;
  1493. };
  1494. rclk {
  1495. pins = "sdc1_rclk";
  1496. bias-pull-down;
  1497. };
  1498. };
  1499. sdc2_state_on: sdc2-clk-on {
  1500. clk {
  1501. pins = "sdc2_clk";
  1502. bias-disable;
  1503. drive-strength = <16>;
  1504. };
  1505. cmd {
  1506. pins = "sdc2_cmd";
  1507. bias-pull-up;
  1508. drive-strength = <10>;
  1509. };
  1510. data {
  1511. pins = "sdc2_data";
  1512. bias-pull-up;
  1513. drive-strength = <10>;
  1514. };
  1515. };
  1516. sdc2_state_off: sdc2-clk-off {
  1517. clk {
  1518. pins = "sdc2_clk";
  1519. bias-disable;
  1520. drive-strength = <2>;
  1521. };
  1522. cmd {
  1523. pins = "sdc2_cmd";
  1524. bias-pull-up;
  1525. drive-strength = <2>;
  1526. };
  1527. data {
  1528. pins = "sdc2_data";
  1529. bias-pull-up;
  1530. drive-strength = <2>;
  1531. };
  1532. };
  1533. };
  1534. sram@290000 {
  1535. compatible = "qcom,rpm-stats";
  1536. reg = <0x00290000 0x10000>;
  1537. };
  1538. spmi_bus: spmi@400f000 {
  1539. compatible = "qcom,spmi-pmic-arb";
  1540. reg = <0x0400f000 0x1000>,
  1541. <0x04400000 0x800000>,
  1542. <0x04c00000 0x800000>,
  1543. <0x05800000 0x200000>,
  1544. <0x0400a000 0x002100>;
  1545. reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
  1546. interrupt-names = "periph_irq";
  1547. interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>;
  1548. qcom,ee = <0>;
  1549. qcom,channel = <0>;
  1550. #address-cells = <2>;
  1551. #size-cells = <0>;
  1552. interrupt-controller;
  1553. #interrupt-cells = <4>;
  1554. };
  1555. agnoc@0 {
  1556. power-domains = <&gcc AGGRE0_NOC_GDSC>;
  1557. compatible = "simple-pm-bus";
  1558. #address-cells = <1>;
  1559. #size-cells = <1>;
  1560. ranges;
  1561. pcie0: pcie@600000 {
  1562. compatible = "qcom,pcie-msm8996";
  1563. status = "disabled";
  1564. power-domains = <&gcc PCIE0_GDSC>;
  1565. bus-range = <0x00 0xff>;
  1566. num-lanes = <1>;
  1567. reg = <0x00600000 0x2000>,
  1568. <0x0c000000 0xf1d>,
  1569. <0x0c000f20 0xa8>,
  1570. <0x0c100000 0x100000>;
  1571. reg-names = "parf", "dbi", "elbi","config";
  1572. phys = <&pciephy_0>;
  1573. phy-names = "pciephy";
  1574. #address-cells = <3>;
  1575. #size-cells = <2>;
  1576. ranges = <0x01000000 0x0 0x00000000 0x0c200000 0x0 0x100000>,
  1577. <0x02000000 0x0 0x0c300000 0x0c300000 0x0 0xd00000>;
  1578. device_type = "pci";
  1579. interrupts = <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>;
  1580. interrupt-names = "msi";
  1581. #interrupt-cells = <1>;
  1582. interrupt-map-mask = <0 0 0 0x7>;
  1583. interrupt-map = <0 0 0 1 &intc 0 244 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
  1584. <0 0 0 2 &intc 0 245 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
  1585. <0 0 0 3 &intc 0 247 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
  1586. <0 0 0 4 &intc 0 248 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
  1587. pinctrl-names = "default", "sleep";
  1588. pinctrl-0 = <&pcie0_state_on>;
  1589. pinctrl-1 = <&pcie0_state_off>;
  1590. linux,pci-domain = <0>;
  1591. clocks = <&gcc GCC_PCIE_0_PIPE_CLK>,
  1592. <&gcc GCC_PCIE_0_AUX_CLK>,
  1593. <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
  1594. <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
  1595. <&gcc GCC_PCIE_0_SLV_AXI_CLK>;
  1596. clock-names = "pipe",
  1597. "aux",
  1598. "cfg",
  1599. "bus_master",
  1600. "bus_slave";
  1601. };
  1602. pcie1: pcie@608000 {
  1603. compatible = "qcom,pcie-msm8996";
  1604. power-domains = <&gcc PCIE1_GDSC>;
  1605. bus-range = <0x00 0xff>;
  1606. num-lanes = <1>;
  1607. status = "disabled";
  1608. reg = <0x00608000 0x2000>,
  1609. <0x0d000000 0xf1d>,
  1610. <0x0d000f20 0xa8>,
  1611. <0x0d100000 0x100000>;
  1612. reg-names = "parf", "dbi", "elbi","config";
  1613. phys = <&pciephy_1>;
  1614. phy-names = "pciephy";
  1615. #address-cells = <3>;
  1616. #size-cells = <2>;
  1617. ranges = <0x01000000 0x0 0x00000000 0x0d200000 0x0 0x100000>,
  1618. <0x02000000 0x0 0x0d300000 0x0d300000 0x0 0xd00000>;
  1619. device_type = "pci";
  1620. interrupts = <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>;
  1621. interrupt-names = "msi";
  1622. #interrupt-cells = <1>;
  1623. interrupt-map-mask = <0 0 0 0x7>;
  1624. interrupt-map = <0 0 0 1 &intc 0 272 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
  1625. <0 0 0 2 &intc 0 273 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
  1626. <0 0 0 3 &intc 0 274 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
  1627. <0 0 0 4 &intc 0 275 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
  1628. pinctrl-names = "default", "sleep";
  1629. pinctrl-0 = <&pcie1_state_on>;
  1630. pinctrl-1 = <&pcie1_state_off>;
  1631. linux,pci-domain = <1>;
  1632. clocks = <&gcc GCC_PCIE_1_PIPE_CLK>,
  1633. <&gcc GCC_PCIE_1_AUX_CLK>,
  1634. <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
  1635. <&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
  1636. <&gcc GCC_PCIE_1_SLV_AXI_CLK>;
  1637. clock-names = "pipe",
  1638. "aux",
  1639. "cfg",
  1640. "bus_master",
  1641. "bus_slave";
  1642. };
  1643. pcie2: pcie@610000 {
  1644. compatible = "qcom,pcie-msm8996";
  1645. power-domains = <&gcc PCIE2_GDSC>;
  1646. bus-range = <0x00 0xff>;
  1647. num-lanes = <1>;
  1648. status = "disabled";
  1649. reg = <0x00610000 0x2000>,
  1650. <0x0e000000 0xf1d>,
  1651. <0x0e000f20 0xa8>,
  1652. <0x0e100000 0x100000>;
  1653. reg-names = "parf", "dbi", "elbi","config";
  1654. phys = <&pciephy_2>;
  1655. phy-names = "pciephy";
  1656. #address-cells = <3>;
  1657. #size-cells = <2>;
  1658. ranges = <0x01000000 0x0 0x00000000 0x0e200000 0x0 0x100000>,
  1659. <0x02000000 0x0 0x0e300000 0x0e300000 0x0 0x1d00000>;
  1660. device_type = "pci";
  1661. interrupts = <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>;
  1662. interrupt-names = "msi";
  1663. #interrupt-cells = <1>;
  1664. interrupt-map-mask = <0 0 0 0x7>;
  1665. interrupt-map = <0 0 0 1 &intc 0 142 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
  1666. <0 0 0 2 &intc 0 143 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
  1667. <0 0 0 3 &intc 0 144 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
  1668. <0 0 0 4 &intc 0 145 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
  1669. pinctrl-names = "default", "sleep";
  1670. pinctrl-0 = <&pcie2_state_on>;
  1671. pinctrl-1 = <&pcie2_state_off>;
  1672. linux,pci-domain = <2>;
  1673. clocks = <&gcc GCC_PCIE_2_PIPE_CLK>,
  1674. <&gcc GCC_PCIE_2_AUX_CLK>,
  1675. <&gcc GCC_PCIE_2_CFG_AHB_CLK>,
  1676. <&gcc GCC_PCIE_2_MSTR_AXI_CLK>,
  1677. <&gcc GCC_PCIE_2_SLV_AXI_CLK>;
  1678. clock-names = "pipe",
  1679. "aux",
  1680. "cfg",
  1681. "bus_master",
  1682. "bus_slave";
  1683. };
  1684. };
  1685. ufshc: ufshc@624000 {
  1686. compatible = "qcom,msm8996-ufshc", "qcom,ufshc",
  1687. "jedec,ufs-2.0";
  1688. reg = <0x00624000 0x2500>;
  1689. interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
  1690. phys = <&ufsphy_lane>;
  1691. phy-names = "ufsphy";
  1692. power-domains = <&gcc UFS_GDSC>;
  1693. clock-names =
  1694. "core_clk_src",
  1695. "core_clk",
  1696. "bus_clk",
  1697. "bus_aggr_clk",
  1698. "iface_clk",
  1699. "core_clk_unipro_src",
  1700. "core_clk_unipro",
  1701. "core_clk_ice",
  1702. "ref_clk",
  1703. "tx_lane0_sync_clk",
  1704. "rx_lane0_sync_clk";
  1705. clocks =
  1706. <&gcc UFS_AXI_CLK_SRC>,
  1707. <&gcc GCC_UFS_AXI_CLK>,
  1708. <&gcc GCC_SYS_NOC_UFS_AXI_CLK>,
  1709. <&gcc GCC_AGGRE2_UFS_AXI_CLK>,
  1710. <&gcc GCC_UFS_AHB_CLK>,
  1711. <&gcc UFS_ICE_CORE_CLK_SRC>,
  1712. <&gcc GCC_UFS_UNIPRO_CORE_CLK>,
  1713. <&gcc GCC_UFS_ICE_CORE_CLK>,
  1714. <&rpmcc RPM_SMD_LN_BB_CLK>,
  1715. <&gcc GCC_UFS_TX_SYMBOL_0_CLK>,
  1716. <&gcc GCC_UFS_RX_SYMBOL_0_CLK>;
  1717. freq-table-hz =
  1718. <100000000 200000000>,
  1719. <0 0>,
  1720. <0 0>,
  1721. <0 0>,
  1722. <0 0>,
  1723. <150000000 300000000>,
  1724. <0 0>,
  1725. <0 0>,
  1726. <0 0>,
  1727. <0 0>,
  1728. <0 0>;
  1729. lanes-per-direction = <1>;
  1730. #reset-cells = <1>;
  1731. status = "disabled";
  1732. ufs_variant {
  1733. compatible = "qcom,ufs_variant";
  1734. };
  1735. };
  1736. ufsphy: phy@627000 {
  1737. compatible = "qcom,msm8996-qmp-ufs-phy";
  1738. reg = <0x00627000 0x1c4>;
  1739. #address-cells = <1>;
  1740. #size-cells = <1>;
  1741. ranges;
  1742. clocks = <&gcc GCC_UFS_CLKREF_CLK>;
  1743. clock-names = "ref";
  1744. resets = <&ufshc 0>;
  1745. reset-names = "ufsphy";
  1746. status = "disabled";
  1747. ufsphy_lane: phy@627400 {
  1748. reg = <0x627400 0x12c>,
  1749. <0x627600 0x200>,
  1750. <0x627c00 0x1b4>;
  1751. #phy-cells = <0>;
  1752. };
  1753. };
  1754. camss: camss@a34000 {
  1755. compatible = "qcom,msm8996-camss";
  1756. reg = <0x00a34000 0x1000>,
  1757. <0x00a00030 0x4>,
  1758. <0x00a35000 0x1000>,
  1759. <0x00a00038 0x4>,
  1760. <0x00a36000 0x1000>,
  1761. <0x00a00040 0x4>,
  1762. <0x00a30000 0x100>,
  1763. <0x00a30400 0x100>,
  1764. <0x00a30800 0x100>,
  1765. <0x00a30c00 0x100>,
  1766. <0x00a31000 0x500>,
  1767. <0x00a00020 0x10>,
  1768. <0x00a10000 0x1000>,
  1769. <0x00a14000 0x1000>;
  1770. reg-names = "csiphy0",
  1771. "csiphy0_clk_mux",
  1772. "csiphy1",
  1773. "csiphy1_clk_mux",
  1774. "csiphy2",
  1775. "csiphy2_clk_mux",
  1776. "csid0",
  1777. "csid1",
  1778. "csid2",
  1779. "csid3",
  1780. "ispif",
  1781. "csi_clk_mux",
  1782. "vfe0",
  1783. "vfe1";
  1784. interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>,
  1785. <GIC_SPI 79 IRQ_TYPE_EDGE_RISING>,
  1786. <GIC_SPI 80 IRQ_TYPE_EDGE_RISING>,
  1787. <GIC_SPI 296 IRQ_TYPE_EDGE_RISING>,
  1788. <GIC_SPI 297 IRQ_TYPE_EDGE_RISING>,
  1789. <GIC_SPI 298 IRQ_TYPE_EDGE_RISING>,
  1790. <GIC_SPI 299 IRQ_TYPE_EDGE_RISING>,
  1791. <GIC_SPI 309 IRQ_TYPE_EDGE_RISING>,
  1792. <GIC_SPI 314 IRQ_TYPE_EDGE_RISING>,
  1793. <GIC_SPI 315 IRQ_TYPE_EDGE_RISING>;
  1794. interrupt-names = "csiphy0",
  1795. "csiphy1",
  1796. "csiphy2",
  1797. "csid0",
  1798. "csid1",
  1799. "csid2",
  1800. "csid3",
  1801. "ispif",
  1802. "vfe0",
  1803. "vfe1";
  1804. power-domains = <&mmcc VFE0_GDSC>,
  1805. <&mmcc VFE1_GDSC>;
  1806. clocks = <&mmcc CAMSS_TOP_AHB_CLK>,
  1807. <&mmcc CAMSS_ISPIF_AHB_CLK>,
  1808. <&mmcc CAMSS_CSI0PHYTIMER_CLK>,
  1809. <&mmcc CAMSS_CSI1PHYTIMER_CLK>,
  1810. <&mmcc CAMSS_CSI2PHYTIMER_CLK>,
  1811. <&mmcc CAMSS_CSI0_AHB_CLK>,
  1812. <&mmcc CAMSS_CSI0_CLK>,
  1813. <&mmcc CAMSS_CSI0PHY_CLK>,
  1814. <&mmcc CAMSS_CSI0PIX_CLK>,
  1815. <&mmcc CAMSS_CSI0RDI_CLK>,
  1816. <&mmcc CAMSS_CSI1_AHB_CLK>,
  1817. <&mmcc CAMSS_CSI1_CLK>,
  1818. <&mmcc CAMSS_CSI1PHY_CLK>,
  1819. <&mmcc CAMSS_CSI1PIX_CLK>,
  1820. <&mmcc CAMSS_CSI1RDI_CLK>,
  1821. <&mmcc CAMSS_CSI2_AHB_CLK>,
  1822. <&mmcc CAMSS_CSI2_CLK>,
  1823. <&mmcc CAMSS_CSI2PHY_CLK>,
  1824. <&mmcc CAMSS_CSI2PIX_CLK>,
  1825. <&mmcc CAMSS_CSI2RDI_CLK>,
  1826. <&mmcc CAMSS_CSI3_AHB_CLK>,
  1827. <&mmcc CAMSS_CSI3_CLK>,
  1828. <&mmcc CAMSS_CSI3PHY_CLK>,
  1829. <&mmcc CAMSS_CSI3PIX_CLK>,
  1830. <&mmcc CAMSS_CSI3RDI_CLK>,
  1831. <&mmcc CAMSS_AHB_CLK>,
  1832. <&mmcc CAMSS_VFE0_CLK>,
  1833. <&mmcc CAMSS_CSI_VFE0_CLK>,
  1834. <&mmcc CAMSS_VFE0_AHB_CLK>,
  1835. <&mmcc CAMSS_VFE0_STREAM_CLK>,
  1836. <&mmcc CAMSS_VFE1_CLK>,
  1837. <&mmcc CAMSS_CSI_VFE1_CLK>,
  1838. <&mmcc CAMSS_VFE1_AHB_CLK>,
  1839. <&mmcc CAMSS_VFE1_STREAM_CLK>,
  1840. <&mmcc CAMSS_VFE_AHB_CLK>,
  1841. <&mmcc CAMSS_VFE_AXI_CLK>;
  1842. clock-names = "top_ahb",
  1843. "ispif_ahb",
  1844. "csiphy0_timer",
  1845. "csiphy1_timer",
  1846. "csiphy2_timer",
  1847. "csi0_ahb",
  1848. "csi0",
  1849. "csi0_phy",
  1850. "csi0_pix",
  1851. "csi0_rdi",
  1852. "csi1_ahb",
  1853. "csi1",
  1854. "csi1_phy",
  1855. "csi1_pix",
  1856. "csi1_rdi",
  1857. "csi2_ahb",
  1858. "csi2",
  1859. "csi2_phy",
  1860. "csi2_pix",
  1861. "csi2_rdi",
  1862. "csi3_ahb",
  1863. "csi3",
  1864. "csi3_phy",
  1865. "csi3_pix",
  1866. "csi3_rdi",
  1867. "ahb",
  1868. "vfe0",
  1869. "csi_vfe0",
  1870. "vfe0_ahb",
  1871. "vfe0_stream",
  1872. "vfe1",
  1873. "csi_vfe1",
  1874. "vfe1_ahb",
  1875. "vfe1_stream",
  1876. "vfe_ahb",
  1877. "vfe_axi";
  1878. iommus = <&vfe_smmu 0>,
  1879. <&vfe_smmu 1>,
  1880. <&vfe_smmu 2>,
  1881. <&vfe_smmu 3>;
  1882. status = "disabled";
  1883. ports {
  1884. #address-cells = <1>;
  1885. #size-cells = <0>;
  1886. };
  1887. };
  1888. cci: cci@a0c000 {
  1889. compatible = "qcom,msm8996-cci";
  1890. #address-cells = <1>;
  1891. #size-cells = <0>;
  1892. reg = <0xa0c000 0x1000>;
  1893. interrupts = <GIC_SPI 295 IRQ_TYPE_EDGE_RISING>;
  1894. power-domains = <&mmcc CAMSS_GDSC>;
  1895. clocks = <&mmcc CAMSS_TOP_AHB_CLK>,
  1896. <&mmcc CAMSS_CCI_AHB_CLK>,
  1897. <&mmcc CAMSS_CCI_CLK>,
  1898. <&mmcc CAMSS_AHB_CLK>;
  1899. clock-names = "camss_top_ahb",
  1900. "cci_ahb",
  1901. "cci",
  1902. "camss_ahb";
  1903. assigned-clocks = <&mmcc CAMSS_CCI_AHB_CLK>,
  1904. <&mmcc CAMSS_CCI_CLK>;
  1905. assigned-clock-rates = <80000000>, <37500000>;
  1906. pinctrl-names = "default";
  1907. pinctrl-0 = <&cci0_default &cci1_default>;
  1908. status = "disabled";
  1909. cci_i2c0: i2c-bus@0 {
  1910. reg = <0>;
  1911. clock-frequency = <400000>;
  1912. #address-cells = <1>;
  1913. #size-cells = <0>;
  1914. };
  1915. cci_i2c1: i2c-bus@1 {
  1916. reg = <1>;
  1917. clock-frequency = <400000>;
  1918. #address-cells = <1>;
  1919. #size-cells = <0>;
  1920. };
  1921. };
  1922. adreno_smmu: iommu@b40000 {
  1923. compatible = "qcom,msm8996-smmu-v2", "qcom,adreno-smmu", "qcom,smmu-v2";
  1924. reg = <0x00b40000 0x10000>;
  1925. #global-interrupts = <1>;
  1926. interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
  1927. <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
  1928. <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>;
  1929. #iommu-cells = <1>;
  1930. clocks = <&mmcc GPU_AHB_CLK>,
  1931. <&gcc GCC_MMSS_BIMC_GFX_CLK>;
  1932. clock-names = "iface", "bus";
  1933. power-domains = <&mmcc GPU_GDSC>;
  1934. };
  1935. venus: video-codec@c00000 {
  1936. compatible = "qcom,msm8996-venus";
  1937. reg = <0x00c00000 0xff000>;
  1938. interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
  1939. power-domains = <&mmcc VENUS_GDSC>;
  1940. clocks = <&mmcc VIDEO_CORE_CLK>,
  1941. <&mmcc VIDEO_AHB_CLK>,
  1942. <&mmcc VIDEO_AXI_CLK>,
  1943. <&mmcc VIDEO_MAXI_CLK>;
  1944. clock-names = "core", "iface", "bus", "mbus";
  1945. interconnects = <&mnoc MASTER_VIDEO_P0 &bimc SLAVE_EBI_CH0>,
  1946. <&bimc MASTER_AMPSS_M0 &mnoc SLAVE_VENUS_CFG>;
  1947. interconnect-names = "video-mem", "cpu-cfg";
  1948. iommus = <&venus_smmu 0x00>,
  1949. <&venus_smmu 0x01>,
  1950. <&venus_smmu 0x0a>,
  1951. <&venus_smmu 0x07>,
  1952. <&venus_smmu 0x0e>,
  1953. <&venus_smmu 0x0f>,
  1954. <&venus_smmu 0x08>,
  1955. <&venus_smmu 0x09>,
  1956. <&venus_smmu 0x0b>,
  1957. <&venus_smmu 0x0c>,
  1958. <&venus_smmu 0x0d>,
  1959. <&venus_smmu 0x10>,
  1960. <&venus_smmu 0x11>,
  1961. <&venus_smmu 0x21>,
  1962. <&venus_smmu 0x28>,
  1963. <&venus_smmu 0x29>,
  1964. <&venus_smmu 0x2b>,
  1965. <&venus_smmu 0x2c>,
  1966. <&venus_smmu 0x2d>,
  1967. <&venus_smmu 0x31>;
  1968. memory-region = <&venus_mem>;
  1969. status = "disabled";
  1970. video-decoder {
  1971. compatible = "venus-decoder";
  1972. clocks = <&mmcc VIDEO_SUBCORE0_CLK>;
  1973. clock-names = "core";
  1974. power-domains = <&mmcc VENUS_CORE0_GDSC>;
  1975. };
  1976. video-encoder {
  1977. compatible = "venus-encoder";
  1978. clocks = <&mmcc VIDEO_SUBCORE1_CLK>;
  1979. clock-names = "core";
  1980. power-domains = <&mmcc VENUS_CORE1_GDSC>;
  1981. };
  1982. };
  1983. mdp_smmu: iommu@d00000 {
  1984. compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2";
  1985. reg = <0x00d00000 0x10000>;
  1986. #global-interrupts = <1>;
  1987. interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
  1988. <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
  1989. <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>;
  1990. #iommu-cells = <1>;
  1991. clocks = <&mmcc SMMU_MDP_AHB_CLK>,
  1992. <&mmcc SMMU_MDP_AXI_CLK>;
  1993. clock-names = "iface", "bus";
  1994. power-domains = <&mmcc MDSS_GDSC>;
  1995. };
  1996. venus_smmu: iommu@d40000 {
  1997. compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2";
  1998. reg = <0x00d40000 0x20000>;
  1999. #global-interrupts = <1>;
  2000. interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>,
  2001. <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
  2002. <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
  2003. <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
  2004. <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
  2005. <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
  2006. <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
  2007. <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>;
  2008. power-domains = <&mmcc MMAGIC_VIDEO_GDSC>;
  2009. clocks = <&mmcc SMMU_VIDEO_AHB_CLK>,
  2010. <&mmcc SMMU_VIDEO_AXI_CLK>;
  2011. clock-names = "iface", "bus";
  2012. #iommu-cells = <1>;
  2013. status = "okay";
  2014. };
  2015. vfe_smmu: iommu@da0000 {
  2016. compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2";
  2017. reg = <0x00da0000 0x10000>;
  2018. #global-interrupts = <1>;
  2019. interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
  2020. <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
  2021. <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>;
  2022. power-domains = <&mmcc MMAGIC_CAMSS_GDSC>;
  2023. clocks = <&mmcc SMMU_VFE_AHB_CLK>,
  2024. <&mmcc SMMU_VFE_AXI_CLK>;
  2025. clock-names = "iface",
  2026. "bus";
  2027. #iommu-cells = <1>;
  2028. };
  2029. lpass_q6_smmu: iommu@1600000 {
  2030. compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2";
  2031. reg = <0x01600000 0x20000>;
  2032. #iommu-cells = <1>;
  2033. power-domains = <&gcc HLOS1_VOTE_LPASS_CORE_GDSC>;
  2034. #global-interrupts = <1>;
  2035. interrupts = <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
  2036. <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>,
  2037. <GIC_SPI 393 IRQ_TYPE_LEVEL_HIGH>,
  2038. <GIC_SPI 394 IRQ_TYPE_LEVEL_HIGH>,
  2039. <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
  2040. <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
  2041. <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
  2042. <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
  2043. <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
  2044. <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
  2045. <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
  2046. <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
  2047. <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>;
  2048. clocks = <&gcc GCC_HLOS1_VOTE_LPASS_CORE_SMMU_CLK>,
  2049. <&gcc GCC_HLOS1_VOTE_LPASS_ADSP_SMMU_CLK>;
  2050. clock-names = "iface", "bus";
  2051. };
  2052. slpi_pil: remoteproc@1c00000 {
  2053. compatible = "qcom,msm8996-slpi-pil";
  2054. reg = <0x01c00000 0x4000>;
  2055. interrupts-extended = <&intc 0 390 IRQ_TYPE_EDGE_RISING>,
  2056. <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
  2057. <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
  2058. <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
  2059. <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
  2060. interrupt-names = "wdog",
  2061. "fatal",
  2062. "ready",
  2063. "handover",
  2064. "stop-ack";
  2065. clocks = <&xo_board>,
  2066. <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
  2067. clock-names = "xo", "aggre2";
  2068. memory-region = <&slpi_mem>;
  2069. qcom,smem-states = <&slpi_smp2p_out 0>;
  2070. qcom,smem-state-names = "stop";
  2071. power-domains = <&rpmpd MSM8996_VDDSSCX>;
  2072. power-domain-names = "ssc_cx";
  2073. status = "disabled";
  2074. smd-edge {
  2075. interrupts = <GIC_SPI 176 IRQ_TYPE_EDGE_RISING>;
  2076. label = "dsps";
  2077. mboxes = <&apcs_glb 25>;
  2078. qcom,smd-edge = <3>;
  2079. qcom,remote-pid = <3>;
  2080. };
  2081. };
  2082. mss_pil: remoteproc@2080000 {
  2083. compatible = "qcom,msm8996-mss-pil";
  2084. reg = <0x2080000 0x100>,
  2085. <0x2180000 0x020>;
  2086. reg-names = "qdsp6", "rmb";
  2087. interrupts-extended = <&intc 0 448 IRQ_TYPE_EDGE_RISING>,
  2088. <&mpss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
  2089. <&mpss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
  2090. <&mpss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
  2091. <&mpss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
  2092. <&mpss_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
  2093. interrupt-names = "wdog", "fatal", "ready",
  2094. "handover", "stop-ack",
  2095. "shutdown-ack";
  2096. clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
  2097. <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>,
  2098. <&gcc GCC_BOOT_ROM_AHB_CLK>,
  2099. <&xo_board>,
  2100. <&gcc GCC_MSS_GPLL0_DIV_CLK>,
  2101. <&gcc GCC_MSS_SNOC_AXI_CLK>,
  2102. <&gcc GCC_MSS_MNOC_BIMC_AXI_CLK>,
  2103. <&rpmcc RPM_SMD_PCNOC_CLK>,
  2104. <&rpmcc RPM_SMD_QDSS_CLK>;
  2105. clock-names = "iface", "bus", "mem", "xo", "gpll0_mss",
  2106. "snoc_axi", "mnoc_axi", "pnoc", "qdss";
  2107. resets = <&gcc GCC_MSS_RESTART>;
  2108. reset-names = "mss_restart";
  2109. power-domains = <&rpmpd MSM8996_VDDCX>,
  2110. <&rpmpd MSM8996_VDDMX>;
  2111. power-domain-names = "cx", "mx";
  2112. qcom,smem-states = <&mpss_smp2p_out 0>;
  2113. qcom,smem-state-names = "stop";
  2114. qcom,halt-regs = <&tcsr_1 0x3000 0x5000 0x4000>;
  2115. status = "disabled";
  2116. mba {
  2117. memory-region = <&mba_mem>;
  2118. };
  2119. mpss {
  2120. memory-region = <&mpss_mem>;
  2121. };
  2122. smd-edge {
  2123. interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>;
  2124. label = "mpss";
  2125. mboxes = <&apcs_glb 12>;
  2126. qcom,smd-edge = <0>;
  2127. qcom,remote-pid = <1>;
  2128. };
  2129. };
  2130. stm@3002000 {
  2131. compatible = "arm,coresight-stm", "arm,primecell";
  2132. reg = <0x3002000 0x1000>,
  2133. <0x8280000 0x180000>;
  2134. reg-names = "stm-base", "stm-stimulus-base";
  2135. clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
  2136. clock-names = "apb_pclk", "atclk";
  2137. out-ports {
  2138. port {
  2139. stm_out: endpoint {
  2140. remote-endpoint =
  2141. <&funnel0_in>;
  2142. };
  2143. };
  2144. };
  2145. };
  2146. tpiu@3020000 {
  2147. compatible = "arm,coresight-tpiu", "arm,primecell";
  2148. reg = <0x3020000 0x1000>;
  2149. clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
  2150. clock-names = "apb_pclk", "atclk";
  2151. in-ports {
  2152. port {
  2153. tpiu_in: endpoint {
  2154. remote-endpoint =
  2155. <&replicator_out1>;
  2156. };
  2157. };
  2158. };
  2159. };
  2160. funnel@3021000 {
  2161. compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
  2162. reg = <0x3021000 0x1000>;
  2163. clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
  2164. clock-names = "apb_pclk", "atclk";
  2165. in-ports {
  2166. #address-cells = <1>;
  2167. #size-cells = <0>;
  2168. port@7 {
  2169. reg = <7>;
  2170. funnel0_in: endpoint {
  2171. remote-endpoint =
  2172. <&stm_out>;
  2173. };
  2174. };
  2175. };
  2176. out-ports {
  2177. port {
  2178. funnel0_out: endpoint {
  2179. remote-endpoint =
  2180. <&merge_funnel_in0>;
  2181. };
  2182. };
  2183. };
  2184. };
  2185. funnel@3022000 {
  2186. compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
  2187. reg = <0x3022000 0x1000>;
  2188. clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
  2189. clock-names = "apb_pclk", "atclk";
  2190. in-ports {
  2191. #address-cells = <1>;
  2192. #size-cells = <0>;
  2193. port@6 {
  2194. reg = <6>;
  2195. funnel1_in: endpoint {
  2196. remote-endpoint =
  2197. <&apss_merge_funnel_out>;
  2198. };
  2199. };
  2200. };
  2201. out-ports {
  2202. port {
  2203. funnel1_out: endpoint {
  2204. remote-endpoint =
  2205. <&merge_funnel_in1>;
  2206. };
  2207. };
  2208. };
  2209. };
  2210. funnel@3023000 {
  2211. compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
  2212. reg = <0x3023000 0x1000>;
  2213. clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
  2214. clock-names = "apb_pclk", "atclk";
  2215. out-ports {
  2216. port {
  2217. funnel2_out: endpoint {
  2218. remote-endpoint =
  2219. <&merge_funnel_in2>;
  2220. };
  2221. };
  2222. };
  2223. };
  2224. funnel@3025000 {
  2225. compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
  2226. reg = <0x3025000 0x1000>;
  2227. clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
  2228. clock-names = "apb_pclk", "atclk";
  2229. in-ports {
  2230. #address-cells = <1>;
  2231. #size-cells = <0>;
  2232. port@0 {
  2233. reg = <0>;
  2234. merge_funnel_in0: endpoint {
  2235. remote-endpoint =
  2236. <&funnel0_out>;
  2237. };
  2238. };
  2239. port@1 {
  2240. reg = <1>;
  2241. merge_funnel_in1: endpoint {
  2242. remote-endpoint =
  2243. <&funnel1_out>;
  2244. };
  2245. };
  2246. port@2 {
  2247. reg = <2>;
  2248. merge_funnel_in2: endpoint {
  2249. remote-endpoint =
  2250. <&funnel2_out>;
  2251. };
  2252. };
  2253. };
  2254. out-ports {
  2255. port {
  2256. merge_funnel_out: endpoint {
  2257. remote-endpoint =
  2258. <&etf_in>;
  2259. };
  2260. };
  2261. };
  2262. };
  2263. replicator@3026000 {
  2264. compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
  2265. reg = <0x3026000 0x1000>;
  2266. clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
  2267. clock-names = "apb_pclk", "atclk";
  2268. in-ports {
  2269. port {
  2270. replicator_in: endpoint {
  2271. remote-endpoint =
  2272. <&etf_out>;
  2273. };
  2274. };
  2275. };
  2276. out-ports {
  2277. #address-cells = <1>;
  2278. #size-cells = <0>;
  2279. port@0 {
  2280. reg = <0>;
  2281. replicator_out0: endpoint {
  2282. remote-endpoint =
  2283. <&etr_in>;
  2284. };
  2285. };
  2286. port@1 {
  2287. reg = <1>;
  2288. replicator_out1: endpoint {
  2289. remote-endpoint =
  2290. <&tpiu_in>;
  2291. };
  2292. };
  2293. };
  2294. };
  2295. etf@3027000 {
  2296. compatible = "arm,coresight-tmc", "arm,primecell";
  2297. reg = <0x3027000 0x1000>;
  2298. clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
  2299. clock-names = "apb_pclk", "atclk";
  2300. in-ports {
  2301. port {
  2302. etf_in: endpoint {
  2303. remote-endpoint =
  2304. <&merge_funnel_out>;
  2305. };
  2306. };
  2307. };
  2308. out-ports {
  2309. port {
  2310. etf_out: endpoint {
  2311. remote-endpoint =
  2312. <&replicator_in>;
  2313. };
  2314. };
  2315. };
  2316. };
  2317. etr@3028000 {
  2318. compatible = "arm,coresight-tmc", "arm,primecell";
  2319. reg = <0x3028000 0x1000>;
  2320. clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
  2321. clock-names = "apb_pclk", "atclk";
  2322. arm,scatter-gather;
  2323. in-ports {
  2324. port {
  2325. etr_in: endpoint {
  2326. remote-endpoint =
  2327. <&replicator_out0>;
  2328. };
  2329. };
  2330. };
  2331. };
  2332. debug@3810000 {
  2333. compatible = "arm,coresight-cpu-debug", "arm,primecell";
  2334. reg = <0x3810000 0x1000>;
  2335. clocks = <&rpmcc RPM_QDSS_CLK>;
  2336. clock-names = "apb_pclk";
  2337. cpu = <&CPU0>;
  2338. };
  2339. etm@3840000 {
  2340. compatible = "arm,coresight-etm4x", "arm,primecell";
  2341. reg = <0x3840000 0x1000>;
  2342. clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
  2343. clock-names = "apb_pclk", "atclk";
  2344. cpu = <&CPU0>;
  2345. out-ports {
  2346. port {
  2347. etm0_out: endpoint {
  2348. remote-endpoint =
  2349. <&apss_funnel0_in0>;
  2350. };
  2351. };
  2352. };
  2353. };
  2354. debug@3910000 {
  2355. compatible = "arm,coresight-cpu-debug", "arm,primecell";
  2356. reg = <0x3910000 0x1000>;
  2357. clocks = <&rpmcc RPM_QDSS_CLK>;
  2358. clock-names = "apb_pclk";
  2359. cpu = <&CPU1>;
  2360. };
  2361. etm@3940000 {
  2362. compatible = "arm,coresight-etm4x", "arm,primecell";
  2363. reg = <0x3940000 0x1000>;
  2364. clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
  2365. clock-names = "apb_pclk", "atclk";
  2366. cpu = <&CPU1>;
  2367. out-ports {
  2368. port {
  2369. etm1_out: endpoint {
  2370. remote-endpoint =
  2371. <&apss_funnel0_in1>;
  2372. };
  2373. };
  2374. };
  2375. };
  2376. funnel@39b0000 { /* APSS Funnel 0 */
  2377. compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
  2378. reg = <0x39b0000 0x1000>;
  2379. clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
  2380. clock-names = "apb_pclk", "atclk";
  2381. in-ports {
  2382. #address-cells = <1>;
  2383. #size-cells = <0>;
  2384. port@0 {
  2385. reg = <0>;
  2386. apss_funnel0_in0: endpoint {
  2387. remote-endpoint = <&etm0_out>;
  2388. };
  2389. };
  2390. port@1 {
  2391. reg = <1>;
  2392. apss_funnel0_in1: endpoint {
  2393. remote-endpoint = <&etm1_out>;
  2394. };
  2395. };
  2396. };
  2397. out-ports {
  2398. port {
  2399. apss_funnel0_out: endpoint {
  2400. remote-endpoint =
  2401. <&apss_merge_funnel_in0>;
  2402. };
  2403. };
  2404. };
  2405. };
  2406. debug@3a10000 {
  2407. compatible = "arm,coresight-cpu-debug", "arm,primecell";
  2408. reg = <0x3a10000 0x1000>;
  2409. clocks = <&rpmcc RPM_QDSS_CLK>;
  2410. clock-names = "apb_pclk";
  2411. cpu = <&CPU2>;
  2412. };
  2413. etm@3a40000 {
  2414. compatible = "arm,coresight-etm4x", "arm,primecell";
  2415. reg = <0x3a40000 0x1000>;
  2416. clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
  2417. clock-names = "apb_pclk", "atclk";
  2418. cpu = <&CPU2>;
  2419. out-ports {
  2420. port {
  2421. etm2_out: endpoint {
  2422. remote-endpoint =
  2423. <&apss_funnel1_in0>;
  2424. };
  2425. };
  2426. };
  2427. };
  2428. debug@3b10000 {
  2429. compatible = "arm,coresight-cpu-debug", "arm,primecell";
  2430. reg = <0x3b10000 0x1000>;
  2431. clocks = <&rpmcc RPM_QDSS_CLK>;
  2432. clock-names = "apb_pclk";
  2433. cpu = <&CPU3>;
  2434. };
  2435. etm@3b40000 {
  2436. compatible = "arm,coresight-etm4x", "arm,primecell";
  2437. reg = <0x3b40000 0x1000>;
  2438. clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
  2439. clock-names = "apb_pclk", "atclk";
  2440. cpu = <&CPU3>;
  2441. out-ports {
  2442. port {
  2443. etm3_out: endpoint {
  2444. remote-endpoint =
  2445. <&apss_funnel1_in1>;
  2446. };
  2447. };
  2448. };
  2449. };
  2450. funnel@3bb0000 { /* APSS Funnel 1 */
  2451. compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
  2452. reg = <0x3bb0000 0x1000>;
  2453. clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
  2454. clock-names = "apb_pclk", "atclk";
  2455. in-ports {
  2456. #address-cells = <1>;
  2457. #size-cells = <0>;
  2458. port@0 {
  2459. reg = <0>;
  2460. apss_funnel1_in0: endpoint {
  2461. remote-endpoint = <&etm2_out>;
  2462. };
  2463. };
  2464. port@1 {
  2465. reg = <1>;
  2466. apss_funnel1_in1: endpoint {
  2467. remote-endpoint = <&etm3_out>;
  2468. };
  2469. };
  2470. };
  2471. out-ports {
  2472. port {
  2473. apss_funnel1_out: endpoint {
  2474. remote-endpoint =
  2475. <&apss_merge_funnel_in1>;
  2476. };
  2477. };
  2478. };
  2479. };
  2480. funnel@3bc0000 {
  2481. compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
  2482. reg = <0x3bc0000 0x1000>;
  2483. clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
  2484. clock-names = "apb_pclk", "atclk";
  2485. in-ports {
  2486. #address-cells = <1>;
  2487. #size-cells = <0>;
  2488. port@0 {
  2489. reg = <0>;
  2490. apss_merge_funnel_in0: endpoint {
  2491. remote-endpoint =
  2492. <&apss_funnel0_out>;
  2493. };
  2494. };
  2495. port@1 {
  2496. reg = <1>;
  2497. apss_merge_funnel_in1: endpoint {
  2498. remote-endpoint =
  2499. <&apss_funnel1_out>;
  2500. };
  2501. };
  2502. };
  2503. out-ports {
  2504. port {
  2505. apss_merge_funnel_out: endpoint {
  2506. remote-endpoint =
  2507. <&funnel1_in>;
  2508. };
  2509. };
  2510. };
  2511. };
  2512. kryocc: clock-controller@6400000 {
  2513. compatible = "qcom,msm8996-apcc";
  2514. reg = <0x06400000 0x90000>;
  2515. clock-names = "xo", "sys_apcs_aux";
  2516. clocks = <&rpmcc RPM_SMD_XO_A_CLK_SRC>, <&apcs_glb>;
  2517. #clock-cells = <1>;
  2518. };
  2519. usb3: usb@6af8800 {
  2520. compatible = "qcom,msm8996-dwc3", "qcom,dwc3";
  2521. reg = <0x06af8800 0x400>;
  2522. #address-cells = <1>;
  2523. #size-cells = <1>;
  2524. ranges;
  2525. interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>,
  2526. <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
  2527. interrupt-names = "hs_phy_irq", "ss_phy_irq";
  2528. clocks = <&gcc GCC_SYS_NOC_USB3_AXI_CLK>,
  2529. <&gcc GCC_USB30_MASTER_CLK>,
  2530. <&gcc GCC_AGGRE2_USB3_AXI_CLK>,
  2531. <&gcc GCC_USB30_SLEEP_CLK>,
  2532. <&gcc GCC_USB30_MOCK_UTMI_CLK>;
  2533. clock-names = "cfg_noc",
  2534. "core",
  2535. "iface",
  2536. "sleep",
  2537. "mock_utmi";
  2538. assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>,
  2539. <&gcc GCC_USB30_MASTER_CLK>;
  2540. assigned-clock-rates = <19200000>, <120000000>;
  2541. interconnects = <&a2noc MASTER_USB3 &bimc SLAVE_EBI_CH0>,
  2542. <&bimc MASTER_AMPSS_M0 &snoc SLAVE_USB3>;
  2543. interconnect-names = "usb-ddr", "apps-usb";
  2544. power-domains = <&gcc USB30_GDSC>;
  2545. status = "disabled";
  2546. usb3_dwc3: usb@6a00000 {
  2547. compatible = "snps,dwc3";
  2548. reg = <0x06a00000 0xcc00>;
  2549. interrupts = <0 131 IRQ_TYPE_LEVEL_HIGH>;
  2550. phys = <&hsusb_phy1>, <&ssusb_phy_0>;
  2551. phy-names = "usb2-phy", "usb3-phy";
  2552. snps,hird-threshold = /bits/ 8 <0>;
  2553. snps,dis_u2_susphy_quirk;
  2554. snps,dis_enblslpm_quirk;
  2555. snps,is-utmi-l1-suspend;
  2556. tx-fifo-resize;
  2557. };
  2558. };
  2559. usb3phy: phy@7410000 {
  2560. compatible = "qcom,msm8996-qmp-usb3-phy";
  2561. reg = <0x07410000 0x1c4>;
  2562. #address-cells = <1>;
  2563. #size-cells = <1>;
  2564. ranges;
  2565. clocks = <&gcc GCC_USB3_PHY_AUX_CLK>,
  2566. <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
  2567. <&gcc GCC_USB3_CLKREF_CLK>;
  2568. clock-names = "aux", "cfg_ahb", "ref";
  2569. resets = <&gcc GCC_USB3_PHY_BCR>,
  2570. <&gcc GCC_USB3PHY_PHY_BCR>;
  2571. reset-names = "phy", "common";
  2572. status = "disabled";
  2573. ssusb_phy_0: phy@7410200 {
  2574. reg = <0x07410200 0x200>,
  2575. <0x07410400 0x130>,
  2576. <0x07410600 0x1a8>;
  2577. #phy-cells = <0>;
  2578. #clock-cells = <0>;
  2579. clock-output-names = "usb3_phy_pipe_clk_src";
  2580. clocks = <&gcc GCC_USB3_PHY_PIPE_CLK>;
  2581. clock-names = "pipe0";
  2582. };
  2583. };
  2584. hsusb_phy1: phy@7411000 {
  2585. compatible = "qcom,msm8996-qusb2-phy";
  2586. reg = <0x07411000 0x180>;
  2587. #phy-cells = <0>;
  2588. clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
  2589. <&gcc GCC_RX1_USB2_CLKREF_CLK>;
  2590. clock-names = "cfg_ahb", "ref";
  2591. resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
  2592. nvmem-cells = <&qusb2p_hstx_trim>;
  2593. status = "disabled";
  2594. };
  2595. hsusb_phy2: phy@7412000 {
  2596. compatible = "qcom,msm8996-qusb2-phy";
  2597. reg = <0x07412000 0x180>;
  2598. #phy-cells = <0>;
  2599. clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
  2600. <&gcc GCC_RX2_USB2_CLKREF_CLK>;
  2601. clock-names = "cfg_ahb", "ref";
  2602. resets = <&gcc GCC_QUSB2PHY_SEC_BCR>;
  2603. nvmem-cells = <&qusb2s_hstx_trim>;
  2604. status = "disabled";
  2605. };
  2606. sdhc1: mmc@7464900 {
  2607. compatible = "qcom,msm8996-sdhci", "qcom,sdhci-msm-v4";
  2608. reg = <0x07464900 0x11c>, <0x07464000 0x800>;
  2609. reg-names = "hc", "core";
  2610. interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
  2611. <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
  2612. interrupt-names = "hc_irq", "pwr_irq";
  2613. clock-names = "iface", "core", "xo";
  2614. clocks = <&gcc GCC_SDCC1_AHB_CLK>,
  2615. <&gcc GCC_SDCC1_APPS_CLK>,
  2616. <&rpmcc RPM_SMD_XO_CLK_SRC>;
  2617. resets = <&gcc GCC_SDCC1_BCR>;
  2618. pinctrl-names = "default", "sleep";
  2619. pinctrl-0 = <&sdc1_state_on>;
  2620. pinctrl-1 = <&sdc1_state_off>;
  2621. bus-width = <8>;
  2622. non-removable;
  2623. status = "disabled";
  2624. };
  2625. sdhc2: mmc@74a4900 {
  2626. compatible = "qcom,msm8996-sdhci", "qcom,sdhci-msm-v4";
  2627. reg = <0x074a4900 0x314>, <0x074a4000 0x800>;
  2628. reg-names = "hc", "core";
  2629. interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
  2630. <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
  2631. interrupt-names = "hc_irq", "pwr_irq";
  2632. clock-names = "iface", "core", "xo";
  2633. clocks = <&gcc GCC_SDCC2_AHB_CLK>,
  2634. <&gcc GCC_SDCC2_APPS_CLK>,
  2635. <&rpmcc RPM_SMD_XO_CLK_SRC>;
  2636. resets = <&gcc GCC_SDCC2_BCR>;
  2637. pinctrl-names = "default", "sleep";
  2638. pinctrl-0 = <&sdc2_state_on>;
  2639. pinctrl-1 = <&sdc2_state_off>;
  2640. bus-width = <4>;
  2641. status = "disabled";
  2642. };
  2643. blsp1_dma: dma-controller@7544000 {
  2644. compatible = "qcom,bam-v1.7.0";
  2645. reg = <0x07544000 0x2b000>;
  2646. interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
  2647. clocks = <&gcc GCC_BLSP1_AHB_CLK>;
  2648. clock-names = "bam_clk";
  2649. qcom,controlled-remotely;
  2650. #dma-cells = <1>;
  2651. qcom,ee = <0>;
  2652. };
  2653. blsp1_uart2: serial@7570000 {
  2654. compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
  2655. reg = <0x07570000 0x1000>;
  2656. interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
  2657. clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
  2658. <&gcc GCC_BLSP1_AHB_CLK>;
  2659. clock-names = "core", "iface";
  2660. pinctrl-names = "default", "sleep";
  2661. pinctrl-0 = <&blsp1_uart2_default>;
  2662. pinctrl-1 = <&blsp1_uart2_sleep>;
  2663. dmas = <&blsp1_dma 2>, <&blsp1_dma 3>;
  2664. dma-names = "tx", "rx";
  2665. status = "disabled";
  2666. };
  2667. blsp1_spi1: spi@7575000 {
  2668. compatible = "qcom,spi-qup-v2.2.1";
  2669. reg = <0x07575000 0x600>;
  2670. interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
  2671. clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
  2672. <&gcc GCC_BLSP1_AHB_CLK>;
  2673. clock-names = "core", "iface";
  2674. pinctrl-names = "default", "sleep";
  2675. pinctrl-0 = <&blsp1_spi1_default>;
  2676. pinctrl-1 = <&blsp1_spi1_sleep>;
  2677. dmas = <&blsp1_dma 12>, <&blsp1_dma 13>;
  2678. dma-names = "tx", "rx";
  2679. #address-cells = <1>;
  2680. #size-cells = <0>;
  2681. status = "disabled";
  2682. };
  2683. blsp1_i2c3: i2c@7577000 {
  2684. compatible = "qcom,i2c-qup-v2.2.1";
  2685. reg = <0x07577000 0x1000>;
  2686. interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
  2687. clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
  2688. <&gcc GCC_BLSP1_AHB_CLK>;
  2689. clock-names = "core", "iface";
  2690. pinctrl-names = "default", "sleep";
  2691. pinctrl-0 = <&blsp1_i2c3_default>;
  2692. pinctrl-1 = <&blsp1_i2c3_sleep>;
  2693. dmas = <&blsp1_dma 16>, <&blsp1_dma 17>;
  2694. dma-names = "tx", "rx";
  2695. #address-cells = <1>;
  2696. #size-cells = <0>;
  2697. status = "disabled";
  2698. };
  2699. blsp2_dma: dma-controller@7584000 {
  2700. compatible = "qcom,bam-v1.7.0";
  2701. reg = <0x07584000 0x2b000>;
  2702. interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
  2703. clocks = <&gcc GCC_BLSP2_AHB_CLK>;
  2704. clock-names = "bam_clk";
  2705. qcom,controlled-remotely;
  2706. #dma-cells = <1>;
  2707. qcom,ee = <0>;
  2708. };
  2709. blsp2_uart2: serial@75b0000 {
  2710. compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
  2711. reg = <0x075b0000 0x1000>;
  2712. interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
  2713. clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
  2714. <&gcc GCC_BLSP2_AHB_CLK>;
  2715. clock-names = "core", "iface";
  2716. status = "disabled";
  2717. };
  2718. blsp2_uart3: serial@75b1000 {
  2719. compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
  2720. reg = <0x075b1000 0x1000>;
  2721. interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
  2722. clocks = <&gcc GCC_BLSP2_UART3_APPS_CLK>,
  2723. <&gcc GCC_BLSP2_AHB_CLK>;
  2724. clock-names = "core", "iface";
  2725. status = "disabled";
  2726. };
  2727. blsp2_i2c1: i2c@75b5000 {
  2728. compatible = "qcom,i2c-qup-v2.2.1";
  2729. reg = <0x075b5000 0x1000>;
  2730. interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
  2731. clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>,
  2732. <&gcc GCC_BLSP2_AHB_CLK>;
  2733. clock-names = "core", "iface";
  2734. pinctrl-names = "default", "sleep";
  2735. pinctrl-0 = <&blsp2_i2c1_default>;
  2736. pinctrl-1 = <&blsp2_i2c1_sleep>;
  2737. dmas = <&blsp2_dma 12>, <&blsp2_dma 13>;
  2738. dma-names = "tx", "rx";
  2739. #address-cells = <1>;
  2740. #size-cells = <0>;
  2741. status = "disabled";
  2742. };
  2743. blsp2_i2c2: i2c@75b6000 {
  2744. compatible = "qcom,i2c-qup-v2.2.1";
  2745. reg = <0x075b6000 0x1000>;
  2746. interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
  2747. clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>,
  2748. <&gcc GCC_BLSP2_AHB_CLK>;
  2749. clock-names = "core", "iface";
  2750. pinctrl-names = "default", "sleep";
  2751. pinctrl-0 = <&blsp2_i2c2_default>;
  2752. pinctrl-1 = <&blsp2_i2c2_sleep>;
  2753. dmas = <&blsp2_dma 14>, <&blsp2_dma 15>;
  2754. dma-names = "tx", "rx";
  2755. #address-cells = <1>;
  2756. #size-cells = <0>;
  2757. status = "disabled";
  2758. };
  2759. blsp2_i2c3: i2c@75b7000 {
  2760. compatible = "qcom,i2c-qup-v2.2.1";
  2761. reg = <0x075b7000 0x1000>;
  2762. interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
  2763. clocks = <&gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>,
  2764. <&gcc GCC_BLSP2_AHB_CLK>;
  2765. clock-names = "core", "iface";
  2766. clock-frequency = <400000>;
  2767. pinctrl-names = "default", "sleep";
  2768. pinctrl-0 = <&blsp2_i2c3_default>;
  2769. pinctrl-1 = <&blsp2_i2c3_sleep>;
  2770. dmas = <&blsp2_dma 16>, <&blsp2_dma 17>;
  2771. dma-names = "tx", "rx";
  2772. #address-cells = <1>;
  2773. #size-cells = <0>;
  2774. status = "disabled";
  2775. };
  2776. blsp2_i2c5: i2c@75b9000 {
  2777. compatible = "qcom,i2c-qup-v2.2.1";
  2778. reg = <0x75b9000 0x1000>;
  2779. interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
  2780. clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>,
  2781. <&gcc GCC_BLSP2_AHB_CLK>;
  2782. clock-names = "core", "iface";
  2783. pinctrl-names = "default";
  2784. pinctrl-0 = <&blsp2_i2c5_default>;
  2785. dmas = <&blsp2_dma 20>, <&blsp2_dma 21>;
  2786. dma-names = "tx", "rx";
  2787. #address-cells = <1>;
  2788. #size-cells = <0>;
  2789. status = "disabled";
  2790. };
  2791. blsp2_i2c6: i2c@75ba000 {
  2792. compatible = "qcom,i2c-qup-v2.2.1";
  2793. reg = <0x75ba000 0x1000>;
  2794. interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
  2795. clocks = <&gcc GCC_BLSP2_QUP6_I2C_APPS_CLK>,
  2796. <&gcc GCC_BLSP2_AHB_CLK>;
  2797. clock-names = "core", "iface";
  2798. pinctrl-names = "default", "sleep";
  2799. pinctrl-0 = <&blsp2_i2c6_default>;
  2800. pinctrl-1 = <&blsp2_i2c6_sleep>;
  2801. dmas = <&blsp2_dma 22>, <&blsp2_dma 23>;
  2802. dma-names = "tx", "rx";
  2803. #address-cells = <1>;
  2804. #size-cells = <0>;
  2805. status = "disabled";
  2806. };
  2807. blsp2_spi6: spi@75ba000{
  2808. compatible = "qcom,spi-qup-v2.2.1";
  2809. reg = <0x075ba000 0x600>;
  2810. interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
  2811. clocks = <&gcc GCC_BLSP2_QUP6_SPI_APPS_CLK>,
  2812. <&gcc GCC_BLSP2_AHB_CLK>;
  2813. clock-names = "core", "iface";
  2814. pinctrl-names = "default", "sleep";
  2815. pinctrl-0 = <&blsp2_spi6_default>;
  2816. pinctrl-1 = <&blsp2_spi6_sleep>;
  2817. dmas = <&blsp2_dma 22>, <&blsp2_dma 23>;
  2818. dma-names = "tx", "rx";
  2819. #address-cells = <1>;
  2820. #size-cells = <0>;
  2821. status = "disabled";
  2822. };
  2823. usb2: usb@76f8800 {
  2824. compatible = "qcom,msm8996-dwc3", "qcom,dwc3";
  2825. reg = <0x076f8800 0x400>;
  2826. #address-cells = <1>;
  2827. #size-cells = <1>;
  2828. ranges;
  2829. interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
  2830. interrupt-names = "hs_phy_irq";
  2831. clocks = <&gcc GCC_PERIPH_NOC_USB20_AHB_CLK>,
  2832. <&gcc GCC_USB20_MASTER_CLK>,
  2833. <&gcc GCC_USB20_MOCK_UTMI_CLK>,
  2834. <&gcc GCC_USB20_SLEEP_CLK>,
  2835. <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>;
  2836. clock-names = "cfg_noc",
  2837. "core",
  2838. "iface",
  2839. "sleep",
  2840. "mock_utmi";
  2841. assigned-clocks = <&gcc GCC_USB20_MOCK_UTMI_CLK>,
  2842. <&gcc GCC_USB20_MASTER_CLK>;
  2843. assigned-clock-rates = <19200000>, <60000000>;
  2844. power-domains = <&gcc USB30_GDSC>;
  2845. qcom,select-utmi-as-pipe-clk;
  2846. status = "disabled";
  2847. usb2_dwc3: usb@7600000 {
  2848. compatible = "snps,dwc3";
  2849. reg = <0x07600000 0xcc00>;
  2850. interrupts = <0 138 IRQ_TYPE_LEVEL_HIGH>;
  2851. phys = <&hsusb_phy2>;
  2852. phy-names = "usb2-phy";
  2853. maximum-speed = "high-speed";
  2854. snps,dis_u2_susphy_quirk;
  2855. snps,dis_enblslpm_quirk;
  2856. };
  2857. };
  2858. slimbam: dma-controller@9184000 {
  2859. compatible = "qcom,bam-v1.7.0";
  2860. qcom,controlled-remotely;
  2861. reg = <0x09184000 0x32000>;
  2862. num-channels = <31>;
  2863. interrupts = <0 164 IRQ_TYPE_LEVEL_HIGH>;
  2864. #dma-cells = <1>;
  2865. qcom,ee = <1>;
  2866. qcom,num-ees = <2>;
  2867. };
  2868. slim_msm: slim@91c0000 {
  2869. compatible = "qcom,slim-ngd-v1.5.0";
  2870. reg = <0x091c0000 0x2C000>;
  2871. reg-names = "ctrl";
  2872. interrupts = <0 163 IRQ_TYPE_LEVEL_HIGH>;
  2873. dmas = <&slimbam 3>, <&slimbam 4>,
  2874. <&slimbam 5>, <&slimbam 6>;
  2875. dma-names = "rx", "tx", "tx2", "rx2";
  2876. #address-cells = <1>;
  2877. #size-cells = <0>;
  2878. ngd@1 {
  2879. reg = <1>;
  2880. #address-cells = <1>;
  2881. #size-cells = <1>;
  2882. tasha_ifd: tas-ifd {
  2883. compatible = "slim217,1a0";
  2884. reg = <0 0>;
  2885. };
  2886. wcd9335: codec@1{
  2887. pinctrl-0 = <&cdc_reset_active &wcd_intr_default>;
  2888. pinctrl-names = "default";
  2889. compatible = "slim217,1a0";
  2890. reg = <1 0>;
  2891. interrupt-parent = <&tlmm>;
  2892. interrupts = <54 IRQ_TYPE_LEVEL_HIGH>,
  2893. <53 IRQ_TYPE_LEVEL_HIGH>;
  2894. interrupt-names = "intr1", "intr2";
  2895. interrupt-controller;
  2896. #interrupt-cells = <1>;
  2897. reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
  2898. slim-ifc-dev = <&tasha_ifd>;
  2899. #sound-dai-cells = <1>;
  2900. };
  2901. };
  2902. };
  2903. adsp_pil: remoteproc@9300000 {
  2904. compatible = "qcom,msm8996-adsp-pil";
  2905. reg = <0x09300000 0x80000>;
  2906. interrupts-extended = <&intc 0 162 IRQ_TYPE_EDGE_RISING>,
  2907. <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
  2908. <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
  2909. <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
  2910. <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
  2911. interrupt-names = "wdog", "fatal", "ready",
  2912. "handover", "stop-ack";
  2913. clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
  2914. clock-names = "xo";
  2915. memory-region = <&adsp_mem>;
  2916. qcom,smem-states = <&adsp_smp2p_out 0>;
  2917. qcom,smem-state-names = "stop";
  2918. power-domains = <&rpmpd MSM8996_VDDCX>;
  2919. power-domain-names = "cx";
  2920. status = "disabled";
  2921. smd-edge {
  2922. interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
  2923. label = "lpass";
  2924. mboxes = <&apcs_glb 8>;
  2925. qcom,smd-edge = <1>;
  2926. qcom,remote-pid = <2>;
  2927. #address-cells = <1>;
  2928. #size-cells = <0>;
  2929. apr {
  2930. power-domains = <&gcc HLOS1_VOTE_LPASS_ADSP_GDSC>;
  2931. compatible = "qcom,apr-v2";
  2932. qcom,smd-channels = "apr_audio_svc";
  2933. qcom,domain = <APR_DOMAIN_ADSP>;
  2934. #address-cells = <1>;
  2935. #size-cells = <0>;
  2936. q6core {
  2937. reg = <APR_SVC_ADSP_CORE>;
  2938. compatible = "qcom,q6core";
  2939. };
  2940. q6afe: q6afe {
  2941. compatible = "qcom,q6afe";
  2942. reg = <APR_SVC_AFE>;
  2943. q6afedai: dais {
  2944. compatible = "qcom,q6afe-dais";
  2945. #address-cells = <1>;
  2946. #size-cells = <0>;
  2947. #sound-dai-cells = <1>;
  2948. hdmi@1 {
  2949. reg = <1>;
  2950. };
  2951. };
  2952. };
  2953. q6asm: q6asm {
  2954. compatible = "qcom,q6asm";
  2955. reg = <APR_SVC_ASM>;
  2956. q6asmdai: dais {
  2957. compatible = "qcom,q6asm-dais";
  2958. #address-cells = <1>;
  2959. #size-cells = <0>;
  2960. #sound-dai-cells = <1>;
  2961. iommus = <&lpass_q6_smmu 1>;
  2962. };
  2963. };
  2964. q6adm: q6adm {
  2965. compatible = "qcom,q6adm";
  2966. reg = <APR_SVC_ADM>;
  2967. q6routing: routing {
  2968. compatible = "qcom,q6adm-routing";
  2969. #sound-dai-cells = <0>;
  2970. };
  2971. };
  2972. };
  2973. };
  2974. };
  2975. apcs_glb: mailbox@9820000 {
  2976. compatible = "qcom,msm8996-apcs-hmss-global";
  2977. reg = <0x09820000 0x1000>;
  2978. #mbox-cells = <1>;
  2979. };
  2980. timer@9840000 {
  2981. #address-cells = <1>;
  2982. #size-cells = <1>;
  2983. ranges;
  2984. compatible = "arm,armv7-timer-mem";
  2985. reg = <0x09840000 0x1000>;
  2986. clock-frequency = <19200000>;
  2987. frame@9850000 {
  2988. frame-number = <0>;
  2989. interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
  2990. <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
  2991. reg = <0x09850000 0x1000>,
  2992. <0x09860000 0x1000>;
  2993. };
  2994. frame@9870000 {
  2995. frame-number = <1>;
  2996. interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
  2997. reg = <0x09870000 0x1000>;
  2998. status = "disabled";
  2999. };
  3000. frame@9880000 {
  3001. frame-number = <2>;
  3002. interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
  3003. reg = <0x09880000 0x1000>;
  3004. status = "disabled";
  3005. };
  3006. frame@9890000 {
  3007. frame-number = <3>;
  3008. interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
  3009. reg = <0x09890000 0x1000>;
  3010. status = "disabled";
  3011. };
  3012. frame@98a0000 {
  3013. frame-number = <4>;
  3014. interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
  3015. reg = <0x098a0000 0x1000>;
  3016. status = "disabled";
  3017. };
  3018. frame@98b0000 {
  3019. frame-number = <5>;
  3020. interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  3021. reg = <0x098b0000 0x1000>;
  3022. status = "disabled";
  3023. };
  3024. frame@98c0000 {
  3025. frame-number = <6>;
  3026. interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  3027. reg = <0x098c0000 0x1000>;
  3028. status = "disabled";
  3029. };
  3030. };
  3031. saw3: syscon@9a10000 {
  3032. compatible = "syscon";
  3033. reg = <0x09a10000 0x1000>;
  3034. };
  3035. intc: interrupt-controller@9bc0000 {
  3036. compatible = "qcom,msm8996-gic-v3", "arm,gic-v3";
  3037. #interrupt-cells = <3>;
  3038. interrupt-controller;
  3039. #redistributor-regions = <1>;
  3040. redistributor-stride = <0x0 0x40000>;
  3041. reg = <0x09bc0000 0x10000>,
  3042. <0x09c00000 0x100000>;
  3043. interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
  3044. };
  3045. };
  3046. sound: sound {
  3047. };
  3048. thermal-zones {
  3049. cpu0-thermal {
  3050. polling-delay-passive = <250>;
  3051. polling-delay = <1000>;
  3052. thermal-sensors = <&tsens0 3>;
  3053. trips {
  3054. cpu0_alert0: trip-point0 {
  3055. temperature = <75000>;
  3056. hysteresis = <2000>;
  3057. type = "passive";
  3058. };
  3059. cpu0_crit: cpu_crit {
  3060. temperature = <110000>;
  3061. hysteresis = <2000>;
  3062. type = "critical";
  3063. };
  3064. };
  3065. };
  3066. cpu1-thermal {
  3067. polling-delay-passive = <250>;
  3068. polling-delay = <1000>;
  3069. thermal-sensors = <&tsens0 5>;
  3070. trips {
  3071. cpu1_alert0: trip-point0 {
  3072. temperature = <75000>;
  3073. hysteresis = <2000>;
  3074. type = "passive";
  3075. };
  3076. cpu1_crit: cpu_crit {
  3077. temperature = <110000>;
  3078. hysteresis = <2000>;
  3079. type = "critical";
  3080. };
  3081. };
  3082. };
  3083. cpu2-thermal {
  3084. polling-delay-passive = <250>;
  3085. polling-delay = <1000>;
  3086. thermal-sensors = <&tsens0 8>;
  3087. trips {
  3088. cpu2_alert0: trip-point0 {
  3089. temperature = <75000>;
  3090. hysteresis = <2000>;
  3091. type = "passive";
  3092. };
  3093. cpu2_crit: cpu_crit {
  3094. temperature = <110000>;
  3095. hysteresis = <2000>;
  3096. type = "critical";
  3097. };
  3098. };
  3099. };
  3100. cpu3-thermal {
  3101. polling-delay-passive = <250>;
  3102. polling-delay = <1000>;
  3103. thermal-sensors = <&tsens0 10>;
  3104. trips {
  3105. cpu3_alert0: trip-point0 {
  3106. temperature = <75000>;
  3107. hysteresis = <2000>;
  3108. type = "passive";
  3109. };
  3110. cpu3_crit: cpu_crit {
  3111. temperature = <110000>;
  3112. hysteresis = <2000>;
  3113. type = "critical";
  3114. };
  3115. };
  3116. };
  3117. gpu-top-thermal {
  3118. polling-delay-passive = <250>;
  3119. polling-delay = <1000>;
  3120. thermal-sensors = <&tsens1 6>;
  3121. trips {
  3122. gpu1_alert0: trip-point0 {
  3123. temperature = <90000>;
  3124. hysteresis = <2000>;
  3125. type = "passive";
  3126. };
  3127. };
  3128. cooling-maps {
  3129. map0 {
  3130. trip = <&gpu1_alert0>;
  3131. cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
  3132. };
  3133. };
  3134. };
  3135. gpu-bottom-thermal {
  3136. polling-delay-passive = <250>;
  3137. polling-delay = <1000>;
  3138. thermal-sensors = <&tsens1 7>;
  3139. trips {
  3140. gpu2_alert0: trip-point0 {
  3141. temperature = <90000>;
  3142. hysteresis = <2000>;
  3143. type = "passive";
  3144. };
  3145. };
  3146. cooling-maps {
  3147. map0 {
  3148. trip = <&gpu2_alert0>;
  3149. cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
  3150. };
  3151. };
  3152. };
  3153. m4m-thermal {
  3154. polling-delay-passive = <250>;
  3155. polling-delay = <1000>;
  3156. thermal-sensors = <&tsens0 1>;
  3157. trips {
  3158. m4m_alert0: trip-point0 {
  3159. temperature = <90000>;
  3160. hysteresis = <2000>;
  3161. type = "hot";
  3162. };
  3163. };
  3164. };
  3165. l3-or-venus-thermal {
  3166. polling-delay-passive = <250>;
  3167. polling-delay = <1000>;
  3168. thermal-sensors = <&tsens0 2>;
  3169. trips {
  3170. l3_or_venus_alert0: trip-point0 {
  3171. temperature = <90000>;
  3172. hysteresis = <2000>;
  3173. type = "hot";
  3174. };
  3175. };
  3176. };
  3177. cluster0-l2-thermal {
  3178. polling-delay-passive = <250>;
  3179. polling-delay = <1000>;
  3180. thermal-sensors = <&tsens0 7>;
  3181. trips {
  3182. cluster0_l2_alert0: trip-point0 {
  3183. temperature = <90000>;
  3184. hysteresis = <2000>;
  3185. type = "hot";
  3186. };
  3187. };
  3188. };
  3189. cluster1-l2-thermal {
  3190. polling-delay-passive = <250>;
  3191. polling-delay = <1000>;
  3192. thermal-sensors = <&tsens0 12>;
  3193. trips {
  3194. cluster1_l2_alert0: trip-point0 {
  3195. temperature = <90000>;
  3196. hysteresis = <2000>;
  3197. type = "hot";
  3198. };
  3199. };
  3200. };
  3201. camera-thermal {
  3202. polling-delay-passive = <250>;
  3203. polling-delay = <1000>;
  3204. thermal-sensors = <&tsens1 1>;
  3205. trips {
  3206. camera_alert0: trip-point0 {
  3207. temperature = <90000>;
  3208. hysteresis = <2000>;
  3209. type = "hot";
  3210. };
  3211. };
  3212. };
  3213. q6-dsp-thermal {
  3214. polling-delay-passive = <250>;
  3215. polling-delay = <1000>;
  3216. thermal-sensors = <&tsens1 2>;
  3217. trips {
  3218. q6_dsp_alert0: trip-point0 {
  3219. temperature = <90000>;
  3220. hysteresis = <2000>;
  3221. type = "hot";
  3222. };
  3223. };
  3224. };
  3225. mem-thermal {
  3226. polling-delay-passive = <250>;
  3227. polling-delay = <1000>;
  3228. thermal-sensors = <&tsens1 3>;
  3229. trips {
  3230. mem_alert0: trip-point0 {
  3231. temperature = <90000>;
  3232. hysteresis = <2000>;
  3233. type = "hot";
  3234. };
  3235. };
  3236. };
  3237. modemtx-thermal {
  3238. polling-delay-passive = <250>;
  3239. polling-delay = <1000>;
  3240. thermal-sensors = <&tsens1 4>;
  3241. trips {
  3242. modemtx_alert0: trip-point0 {
  3243. temperature = <90000>;
  3244. hysteresis = <2000>;
  3245. type = "hot";
  3246. };
  3247. };
  3248. };
  3249. };
  3250. timer {
  3251. compatible = "arm,armv8-timer";
  3252. interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
  3253. <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
  3254. <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
  3255. <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
  3256. };
  3257. };