tegra186.dtsi 62 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206
  1. // SPDX-License-Identifier: GPL-2.0
  2. #include <dt-bindings/clock/tegra186-clock.h>
  3. #include <dt-bindings/gpio/tegra186-gpio.h>
  4. #include <dt-bindings/interrupt-controller/arm-gic.h>
  5. #include <dt-bindings/mailbox/tegra186-hsp.h>
  6. #include <dt-bindings/memory/tegra186-mc.h>
  7. #include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h>
  8. #include <dt-bindings/power/tegra186-powergate.h>
  9. #include <dt-bindings/reset/tegra186-reset.h>
  10. #include <dt-bindings/thermal/tegra186-bpmp-thermal.h>
  11. / {
  12. compatible = "nvidia,tegra186";
  13. interrupt-parent = <&gic>;
  14. #address-cells = <2>;
  15. #size-cells = <2>;
  16. misc@100000 {
  17. compatible = "nvidia,tegra186-misc";
  18. reg = <0x0 0x00100000 0x0 0xf000>,
  19. <0x0 0x0010f000 0x0 0x1000>;
  20. };
  21. gpio: gpio@2200000 {
  22. compatible = "nvidia,tegra186-gpio";
  23. reg-names = "security", "gpio";
  24. reg = <0x0 0x2200000 0x0 0x10000>,
  25. <0x0 0x2210000 0x0 0x10000>;
  26. interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
  27. <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
  28. <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
  29. <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
  30. <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
  31. <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
  32. #interrupt-cells = <2>;
  33. interrupt-controller;
  34. #gpio-cells = <2>;
  35. gpio-controller;
  36. };
  37. ethernet@2490000 {
  38. compatible = "nvidia,tegra186-eqos",
  39. "snps,dwc-qos-ethernet-4.10";
  40. reg = <0x0 0x02490000 0x0 0x10000>;
  41. interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>, /* common */
  42. <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>, /* power */
  43. <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>, /* rx0 */
  44. <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>, /* tx0 */
  45. <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>, /* rx1 */
  46. <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>, /* tx1 */
  47. <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>, /* rx2 */
  48. <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, /* tx2 */
  49. <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>, /* rx3 */
  50. <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; /* tx3 */
  51. clocks = <&bpmp TEGRA186_CLK_AXI_CBB>,
  52. <&bpmp TEGRA186_CLK_EQOS_AXI>,
  53. <&bpmp TEGRA186_CLK_EQOS_RX>,
  54. <&bpmp TEGRA186_CLK_EQOS_TX>,
  55. <&bpmp TEGRA186_CLK_EQOS_PTP_REF>;
  56. clock-names = "master_bus", "slave_bus", "rx", "tx", "ptp_ref";
  57. resets = <&bpmp TEGRA186_RESET_EQOS>;
  58. reset-names = "eqos";
  59. interconnects = <&mc TEGRA186_MEMORY_CLIENT_EQOSR &emc>,
  60. <&mc TEGRA186_MEMORY_CLIENT_EQOSW &emc>;
  61. interconnect-names = "dma-mem", "write";
  62. iommus = <&smmu TEGRA186_SID_EQOS>;
  63. status = "disabled";
  64. snps,write-requests = <1>;
  65. snps,read-requests = <3>;
  66. snps,burst-map = <0x7>;
  67. snps,txpbl = <32>;
  68. snps,rxpbl = <8>;
  69. };
  70. gpcdma: dma-controller@2600000 {
  71. compatible = "nvidia,tegra186-gpcdma";
  72. reg = <0x0 0x2600000 0x0 0x210000>;
  73. resets = <&bpmp TEGRA186_RESET_GPCDMA>;
  74. reset-names = "gpcdma";
  75. interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
  76. <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
  77. <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
  78. <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,
  79. <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
  80. <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
  81. <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
  82. <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
  83. <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
  84. <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
  85. <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
  86. <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
  87. <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
  88. <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
  89. <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
  90. <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
  91. <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
  92. <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
  93. <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
  94. <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
  95. <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
  96. <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
  97. <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
  98. <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
  99. <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
  100. <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
  101. <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
  102. <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
  103. <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
  104. <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
  105. <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
  106. #dma-cells = <1>;
  107. iommus = <&smmu TEGRA186_SID_GPCDMA_0>;
  108. dma-coherent;
  109. status = "okay";
  110. };
  111. aconnect@2900000 {
  112. compatible = "nvidia,tegra186-aconnect",
  113. "nvidia,tegra210-aconnect";
  114. clocks = <&bpmp TEGRA186_CLK_APE>,
  115. <&bpmp TEGRA186_CLK_APB2APE>;
  116. clock-names = "ape", "apb2ape";
  117. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_AUD>;
  118. #address-cells = <1>;
  119. #size-cells = <1>;
  120. ranges = <0x02900000 0x0 0x02900000 0x200000>;
  121. status = "disabled";
  122. adma: dma-controller@2930000 {
  123. compatible = "nvidia,tegra186-adma";
  124. reg = <0x02930000 0x20000>;
  125. interrupt-parent = <&agic>;
  126. interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
  127. <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
  128. <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
  129. <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
  130. <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
  131. <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
  132. <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
  133. <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
  134. <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
  135. <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
  136. <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
  137. <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
  138. <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
  139. <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
  140. <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
  141. <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
  142. <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
  143. <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
  144. <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
  145. <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
  146. <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
  147. <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
  148. <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
  149. <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
  150. <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
  151. <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
  152. <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
  153. <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
  154. <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
  155. <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
  156. <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
  157. <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
  158. #dma-cells = <1>;
  159. clocks = <&bpmp TEGRA186_CLK_AHUB>;
  160. clock-names = "d_audio";
  161. status = "disabled";
  162. };
  163. agic: interrupt-controller@2a40000 {
  164. compatible = "nvidia,tegra186-agic",
  165. "nvidia,tegra210-agic";
  166. #interrupt-cells = <3>;
  167. interrupt-controller;
  168. reg = <0x02a41000 0x1000>,
  169. <0x02a42000 0x2000>;
  170. interrupts = <GIC_SPI 145
  171. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
  172. clocks = <&bpmp TEGRA186_CLK_APE>;
  173. clock-names = "clk";
  174. status = "disabled";
  175. };
  176. tegra_ahub: ahub@2900800 {
  177. compatible = "nvidia,tegra186-ahub";
  178. reg = <0x02900800 0x800>;
  179. clocks = <&bpmp TEGRA186_CLK_AHUB>;
  180. clock-names = "ahub";
  181. assigned-clocks = <&bpmp TEGRA186_CLK_AHUB>;
  182. assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
  183. #address-cells = <1>;
  184. #size-cells = <1>;
  185. ranges = <0x02900800 0x02900800 0x11800>;
  186. status = "disabled";
  187. tegra_admaif: admaif@290f000 {
  188. compatible = "nvidia,tegra186-admaif";
  189. reg = <0x0290f000 0x1000>;
  190. dmas = <&adma 1>, <&adma 1>,
  191. <&adma 2>, <&adma 2>,
  192. <&adma 3>, <&adma 3>,
  193. <&adma 4>, <&adma 4>,
  194. <&adma 5>, <&adma 5>,
  195. <&adma 6>, <&adma 6>,
  196. <&adma 7>, <&adma 7>,
  197. <&adma 8>, <&adma 8>,
  198. <&adma 9>, <&adma 9>,
  199. <&adma 10>, <&adma 10>,
  200. <&adma 11>, <&adma 11>,
  201. <&adma 12>, <&adma 12>,
  202. <&adma 13>, <&adma 13>,
  203. <&adma 14>, <&adma 14>,
  204. <&adma 15>, <&adma 15>,
  205. <&adma 16>, <&adma 16>,
  206. <&adma 17>, <&adma 17>,
  207. <&adma 18>, <&adma 18>,
  208. <&adma 19>, <&adma 19>,
  209. <&adma 20>, <&adma 20>;
  210. dma-names = "rx1", "tx1",
  211. "rx2", "tx2",
  212. "rx3", "tx3",
  213. "rx4", "tx4",
  214. "rx5", "tx5",
  215. "rx6", "tx6",
  216. "rx7", "tx7",
  217. "rx8", "tx8",
  218. "rx9", "tx9",
  219. "rx10", "tx10",
  220. "rx11", "tx11",
  221. "rx12", "tx12",
  222. "rx13", "tx13",
  223. "rx14", "tx14",
  224. "rx15", "tx15",
  225. "rx16", "tx16",
  226. "rx17", "tx17",
  227. "rx18", "tx18",
  228. "rx19", "tx19",
  229. "rx20", "tx20";
  230. status = "disabled";
  231. };
  232. tegra_i2s1: i2s@2901000 {
  233. compatible = "nvidia,tegra186-i2s",
  234. "nvidia,tegra210-i2s";
  235. reg = <0x2901000 0x100>;
  236. clocks = <&bpmp TEGRA186_CLK_I2S1>,
  237. <&bpmp TEGRA186_CLK_I2S1_SYNC_INPUT>;
  238. clock-names = "i2s", "sync_input";
  239. assigned-clocks = <&bpmp TEGRA186_CLK_I2S1>;
  240. assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
  241. assigned-clock-rates = <1536000>;
  242. sound-name-prefix = "I2S1";
  243. status = "disabled";
  244. };
  245. tegra_i2s2: i2s@2901100 {
  246. compatible = "nvidia,tegra186-i2s",
  247. "nvidia,tegra210-i2s";
  248. reg = <0x2901100 0x100>;
  249. clocks = <&bpmp TEGRA186_CLK_I2S2>,
  250. <&bpmp TEGRA186_CLK_I2S2_SYNC_INPUT>;
  251. clock-names = "i2s", "sync_input";
  252. assigned-clocks = <&bpmp TEGRA186_CLK_I2S2>;
  253. assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
  254. assigned-clock-rates = <1536000>;
  255. sound-name-prefix = "I2S2";
  256. status = "disabled";
  257. };
  258. tegra_i2s3: i2s@2901200 {
  259. compatible = "nvidia,tegra186-i2s",
  260. "nvidia,tegra210-i2s";
  261. reg = <0x2901200 0x100>;
  262. clocks = <&bpmp TEGRA186_CLK_I2S3>,
  263. <&bpmp TEGRA186_CLK_I2S3_SYNC_INPUT>;
  264. clock-names = "i2s", "sync_input";
  265. assigned-clocks = <&bpmp TEGRA186_CLK_I2S3>;
  266. assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
  267. assigned-clock-rates = <1536000>;
  268. sound-name-prefix = "I2S3";
  269. status = "disabled";
  270. };
  271. tegra_i2s4: i2s@2901300 {
  272. compatible = "nvidia,tegra186-i2s",
  273. "nvidia,tegra210-i2s";
  274. reg = <0x2901300 0x100>;
  275. clocks = <&bpmp TEGRA186_CLK_I2S4>,
  276. <&bpmp TEGRA186_CLK_I2S4_SYNC_INPUT>;
  277. clock-names = "i2s", "sync_input";
  278. assigned-clocks = <&bpmp TEGRA186_CLK_I2S4>;
  279. assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
  280. assigned-clock-rates = <1536000>;
  281. sound-name-prefix = "I2S4";
  282. status = "disabled";
  283. };
  284. tegra_i2s5: i2s@2901400 {
  285. compatible = "nvidia,tegra186-i2s",
  286. "nvidia,tegra210-i2s";
  287. reg = <0x2901400 0x100>;
  288. clocks = <&bpmp TEGRA186_CLK_I2S5>,
  289. <&bpmp TEGRA186_CLK_I2S5_SYNC_INPUT>;
  290. clock-names = "i2s", "sync_input";
  291. assigned-clocks = <&bpmp TEGRA186_CLK_I2S5>;
  292. assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
  293. assigned-clock-rates = <1536000>;
  294. sound-name-prefix = "I2S5";
  295. status = "disabled";
  296. };
  297. tegra_i2s6: i2s@2901500 {
  298. compatible = "nvidia,tegra186-i2s",
  299. "nvidia,tegra210-i2s";
  300. reg = <0x2901500 0x100>;
  301. clocks = <&bpmp TEGRA186_CLK_I2S6>,
  302. <&bpmp TEGRA186_CLK_I2S6_SYNC_INPUT>;
  303. clock-names = "i2s", "sync_input";
  304. assigned-clocks = <&bpmp TEGRA186_CLK_I2S6>;
  305. assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
  306. assigned-clock-rates = <1536000>;
  307. sound-name-prefix = "I2S6";
  308. status = "disabled";
  309. };
  310. tegra_dmic1: dmic@2904000 {
  311. compatible = "nvidia,tegra210-dmic";
  312. reg = <0x2904000 0x100>;
  313. clocks = <&bpmp TEGRA186_CLK_DMIC1>;
  314. clock-names = "dmic";
  315. assigned-clocks = <&bpmp TEGRA186_CLK_DMIC1>;
  316. assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
  317. assigned-clock-rates = <3072000>;
  318. sound-name-prefix = "DMIC1";
  319. status = "disabled";
  320. };
  321. tegra_dmic2: dmic@2904100 {
  322. compatible = "nvidia,tegra210-dmic";
  323. reg = <0x2904100 0x100>;
  324. clocks = <&bpmp TEGRA186_CLK_DMIC2>;
  325. clock-names = "dmic";
  326. assigned-clocks = <&bpmp TEGRA186_CLK_DMIC2>;
  327. assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
  328. assigned-clock-rates = <3072000>;
  329. sound-name-prefix = "DMIC2";
  330. status = "disabled";
  331. };
  332. tegra_dmic3: dmic@2904200 {
  333. compatible = "nvidia,tegra210-dmic";
  334. reg = <0x2904200 0x100>;
  335. clocks = <&bpmp TEGRA186_CLK_DMIC3>;
  336. clock-names = "dmic";
  337. assigned-clocks = <&bpmp TEGRA186_CLK_DMIC3>;
  338. assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
  339. assigned-clock-rates = <3072000>;
  340. sound-name-prefix = "DMIC3";
  341. status = "disabled";
  342. };
  343. tegra_dmic4: dmic@2904300 {
  344. compatible = "nvidia,tegra210-dmic";
  345. reg = <0x2904300 0x100>;
  346. clocks = <&bpmp TEGRA186_CLK_DMIC4>;
  347. clock-names = "dmic";
  348. assigned-clocks = <&bpmp TEGRA186_CLK_DMIC4>;
  349. assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
  350. assigned-clock-rates = <3072000>;
  351. sound-name-prefix = "DMIC4";
  352. status = "disabled";
  353. };
  354. tegra_dspk1: dspk@2905000 {
  355. compatible = "nvidia,tegra186-dspk";
  356. reg = <0x2905000 0x100>;
  357. clocks = <&bpmp TEGRA186_CLK_DSPK1>;
  358. clock-names = "dspk";
  359. assigned-clocks = <&bpmp TEGRA186_CLK_DSPK1>;
  360. assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
  361. assigned-clock-rates = <12288000>;
  362. sound-name-prefix = "DSPK1";
  363. status = "disabled";
  364. };
  365. tegra_dspk2: dspk@2905100 {
  366. compatible = "nvidia,tegra186-dspk";
  367. reg = <0x2905100 0x100>;
  368. clocks = <&bpmp TEGRA186_CLK_DSPK2>;
  369. clock-names = "dspk";
  370. assigned-clocks = <&bpmp TEGRA186_CLK_DSPK2>;
  371. assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
  372. assigned-clock-rates = <12288000>;
  373. sound-name-prefix = "DSPK2";
  374. status = "disabled";
  375. };
  376. tegra_sfc1: sfc@2902000 {
  377. compatible = "nvidia,tegra186-sfc",
  378. "nvidia,tegra210-sfc";
  379. reg = <0x2902000 0x200>;
  380. sound-name-prefix = "SFC1";
  381. status = "disabled";
  382. };
  383. tegra_sfc2: sfc@2902200 {
  384. compatible = "nvidia,tegra186-sfc",
  385. "nvidia,tegra210-sfc";
  386. reg = <0x2902200 0x200>;
  387. sound-name-prefix = "SFC2";
  388. status = "disabled";
  389. };
  390. tegra_sfc3: sfc@2902400 {
  391. compatible = "nvidia,tegra186-sfc",
  392. "nvidia,tegra210-sfc";
  393. reg = <0x2902400 0x200>;
  394. sound-name-prefix = "SFC3";
  395. status = "disabled";
  396. };
  397. tegra_sfc4: sfc@2902600 {
  398. compatible = "nvidia,tegra186-sfc",
  399. "nvidia,tegra210-sfc";
  400. reg = <0x2902600 0x200>;
  401. sound-name-prefix = "SFC4";
  402. status = "disabled";
  403. };
  404. tegra_mvc1: mvc@290a000 {
  405. compatible = "nvidia,tegra186-mvc",
  406. "nvidia,tegra210-mvc";
  407. reg = <0x290a000 0x200>;
  408. sound-name-prefix = "MVC1";
  409. status = "disabled";
  410. };
  411. tegra_mvc2: mvc@290a200 {
  412. compatible = "nvidia,tegra186-mvc",
  413. "nvidia,tegra210-mvc";
  414. reg = <0x290a200 0x200>;
  415. sound-name-prefix = "MVC2";
  416. status = "disabled";
  417. };
  418. tegra_amx1: amx@2903000 {
  419. compatible = "nvidia,tegra186-amx",
  420. "nvidia,tegra210-amx";
  421. reg = <0x2903000 0x100>;
  422. sound-name-prefix = "AMX1";
  423. status = "disabled";
  424. };
  425. tegra_amx2: amx@2903100 {
  426. compatible = "nvidia,tegra186-amx",
  427. "nvidia,tegra210-amx";
  428. reg = <0x2903100 0x100>;
  429. sound-name-prefix = "AMX2";
  430. status = "disabled";
  431. };
  432. tegra_amx3: amx@2903200 {
  433. compatible = "nvidia,tegra186-amx",
  434. "nvidia,tegra210-amx";
  435. reg = <0x2903200 0x100>;
  436. sound-name-prefix = "AMX3";
  437. status = "disabled";
  438. };
  439. tegra_amx4: amx@2903300 {
  440. compatible = "nvidia,tegra186-amx",
  441. "nvidia,tegra210-amx";
  442. reg = <0x2903300 0x100>;
  443. sound-name-prefix = "AMX4";
  444. status = "disabled";
  445. };
  446. tegra_adx1: adx@2903800 {
  447. compatible = "nvidia,tegra186-adx",
  448. "nvidia,tegra210-adx";
  449. reg = <0x2903800 0x100>;
  450. sound-name-prefix = "ADX1";
  451. status = "disabled";
  452. };
  453. tegra_adx2: adx@2903900 {
  454. compatible = "nvidia,tegra186-adx",
  455. "nvidia,tegra210-adx";
  456. reg = <0x2903900 0x100>;
  457. sound-name-prefix = "ADX2";
  458. status = "disabled";
  459. };
  460. tegra_adx3: adx@2903a00 {
  461. compatible = "nvidia,tegra186-adx",
  462. "nvidia,tegra210-adx";
  463. reg = <0x2903a00 0x100>;
  464. sound-name-prefix = "ADX3";
  465. status = "disabled";
  466. };
  467. tegra_adx4: adx@2903b00 {
  468. compatible = "nvidia,tegra186-adx",
  469. "nvidia,tegra210-adx";
  470. reg = <0x2903b00 0x100>;
  471. sound-name-prefix = "ADX4";
  472. status = "disabled";
  473. };
  474. tegra_ope1: processing-engine@2908000 {
  475. compatible = "nvidia,tegra186-ope",
  476. "nvidia,tegra210-ope";
  477. reg = <0x2908000 0x100>;
  478. #address-cells = <1>;
  479. #size-cells = <1>;
  480. ranges;
  481. sound-name-prefix = "OPE1";
  482. status = "disabled";
  483. equalizer@2908100 {
  484. compatible = "nvidia,tegra186-peq",
  485. "nvidia,tegra210-peq";
  486. reg = <0x2908100 0x100>;
  487. };
  488. dynamic-range-compressor@2908200 {
  489. compatible = "nvidia,tegra186-mbdrc",
  490. "nvidia,tegra210-mbdrc";
  491. reg = <0x2908200 0x200>;
  492. };
  493. };
  494. tegra_amixer: amixer@290bb00 {
  495. compatible = "nvidia,tegra186-amixer",
  496. "nvidia,tegra210-amixer";
  497. reg = <0x290bb00 0x800>;
  498. sound-name-prefix = "MIXER1";
  499. status = "disabled";
  500. };
  501. tegra_asrc: asrc@2910000 {
  502. compatible = "nvidia,tegra186-asrc";
  503. reg = <0x2910000 0x2000>;
  504. sound-name-prefix = "ASRC1";
  505. status = "disabled";
  506. };
  507. };
  508. };
  509. mc: memory-controller@2c00000 {
  510. compatible = "nvidia,tegra186-mc";
  511. reg = <0x0 0x02c00000 0x0 0x10000>, /* MC-SID */
  512. <0x0 0x02c10000 0x0 0x10000>, /* Broadcast channel */
  513. <0x0 0x02c20000 0x0 0x10000>, /* MC0 */
  514. <0x0 0x02c30000 0x0 0x10000>, /* MC1 */
  515. <0x0 0x02c40000 0x0 0x10000>, /* MC2 */
  516. <0x0 0x02c50000 0x0 0x10000>; /* MC3 */
  517. reg-names = "sid", "broadcast", "ch0", "ch1", "ch2", "ch3";
  518. interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
  519. status = "disabled";
  520. #interconnect-cells = <1>;
  521. #address-cells = <2>;
  522. #size-cells = <2>;
  523. ranges = <0x0 0x02c00000 0x0 0x02c00000 0x0 0xb0000>;
  524. /*
  525. * Memory clients have access to all 40 bits that the memory
  526. * controller can address.
  527. */
  528. dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x0>;
  529. emc: external-memory-controller@2c60000 {
  530. compatible = "nvidia,tegra186-emc";
  531. reg = <0x0 0x02c60000 0x0 0x50000>;
  532. interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
  533. clocks = <&bpmp TEGRA186_CLK_EMC>;
  534. clock-names = "emc";
  535. #interconnect-cells = <0>;
  536. nvidia,bpmp = <&bpmp>;
  537. };
  538. };
  539. timer@3010000 {
  540. compatible = "nvidia,tegra186-timer";
  541. reg = <0x0 0x03010000 0x0 0x000e0000>;
  542. interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
  543. <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
  544. <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
  545. <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
  546. <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
  547. <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
  548. <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
  549. <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
  550. <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
  551. <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
  552. status = "okay";
  553. };
  554. uarta: serial@3100000 {
  555. compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
  556. reg = <0x0 0x03100000 0x0 0x40>;
  557. reg-shift = <2>;
  558. interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
  559. clocks = <&bpmp TEGRA186_CLK_UARTA>;
  560. clock-names = "serial";
  561. resets = <&bpmp TEGRA186_RESET_UARTA>;
  562. reset-names = "serial";
  563. status = "disabled";
  564. };
  565. uartb: serial@3110000 {
  566. compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
  567. reg = <0x0 0x03110000 0x0 0x40>;
  568. reg-shift = <2>;
  569. interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
  570. clocks = <&bpmp TEGRA186_CLK_UARTB>;
  571. clock-names = "serial";
  572. resets = <&bpmp TEGRA186_RESET_UARTB>;
  573. reset-names = "serial";
  574. status = "disabled";
  575. };
  576. uartd: serial@3130000 {
  577. compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
  578. reg = <0x0 0x03130000 0x0 0x40>;
  579. reg-shift = <2>;
  580. interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
  581. clocks = <&bpmp TEGRA186_CLK_UARTD>;
  582. clock-names = "serial";
  583. resets = <&bpmp TEGRA186_RESET_UARTD>;
  584. reset-names = "serial";
  585. status = "disabled";
  586. };
  587. uarte: serial@3140000 {
  588. compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
  589. reg = <0x0 0x03140000 0x0 0x40>;
  590. reg-shift = <2>;
  591. interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
  592. clocks = <&bpmp TEGRA186_CLK_UARTE>;
  593. clock-names = "serial";
  594. resets = <&bpmp TEGRA186_RESET_UARTE>;
  595. reset-names = "serial";
  596. status = "disabled";
  597. };
  598. uartf: serial@3150000 {
  599. compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
  600. reg = <0x0 0x03150000 0x0 0x40>;
  601. reg-shift = <2>;
  602. interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
  603. clocks = <&bpmp TEGRA186_CLK_UARTF>;
  604. clock-names = "serial";
  605. resets = <&bpmp TEGRA186_RESET_UARTF>;
  606. reset-names = "serial";
  607. status = "disabled";
  608. };
  609. gen1_i2c: i2c@3160000 {
  610. compatible = "nvidia,tegra186-i2c";
  611. reg = <0x0 0x03160000 0x0 0x10000>;
  612. interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
  613. #address-cells = <1>;
  614. #size-cells = <0>;
  615. clocks = <&bpmp TEGRA186_CLK_I2C1>;
  616. clock-names = "div-clk";
  617. resets = <&bpmp TEGRA186_RESET_I2C1>;
  618. reset-names = "i2c";
  619. iommus = <&smmu TEGRA186_SID_GPCDMA_0>;
  620. dma-coherent;
  621. dmas = <&gpcdma 21>, <&gpcdma 21>;
  622. dma-names = "rx", "tx";
  623. status = "disabled";
  624. };
  625. cam_i2c: i2c@3180000 {
  626. compatible = "nvidia,tegra186-i2c";
  627. reg = <0x0 0x03180000 0x0 0x10000>;
  628. interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
  629. #address-cells = <1>;
  630. #size-cells = <0>;
  631. clocks = <&bpmp TEGRA186_CLK_I2C3>;
  632. clock-names = "div-clk";
  633. resets = <&bpmp TEGRA186_RESET_I2C3>;
  634. reset-names = "i2c";
  635. iommus = <&smmu TEGRA186_SID_GPCDMA_0>;
  636. dma-coherent;
  637. dmas = <&gpcdma 23>, <&gpcdma 23>;
  638. dma-names = "rx", "tx";
  639. status = "disabled";
  640. };
  641. /* shares pads with dpaux1 */
  642. dp_aux_ch1_i2c: i2c@3190000 {
  643. compatible = "nvidia,tegra186-i2c";
  644. reg = <0x0 0x03190000 0x0 0x10000>;
  645. interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
  646. #address-cells = <1>;
  647. #size-cells = <0>;
  648. clocks = <&bpmp TEGRA186_CLK_I2C4>;
  649. clock-names = "div-clk";
  650. resets = <&bpmp TEGRA186_RESET_I2C4>;
  651. reset-names = "i2c";
  652. pinctrl-names = "default", "idle";
  653. pinctrl-0 = <&state_dpaux1_i2c>;
  654. pinctrl-1 = <&state_dpaux1_off>;
  655. iommus = <&smmu TEGRA186_SID_GPCDMA_0>;
  656. dma-coherent;
  657. dmas = <&gpcdma 26>, <&gpcdma 26>;
  658. dma-names = "rx", "tx";
  659. status = "disabled";
  660. };
  661. /* controlled by BPMP, should not be enabled */
  662. pwr_i2c: i2c@31a0000 {
  663. compatible = "nvidia,tegra186-i2c";
  664. reg = <0x0 0x031a0000 0x0 0x10000>;
  665. interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
  666. #address-cells = <1>;
  667. #size-cells = <0>;
  668. clocks = <&bpmp TEGRA186_CLK_I2C5>;
  669. clock-names = "div-clk";
  670. resets = <&bpmp TEGRA186_RESET_I2C5>;
  671. reset-names = "i2c";
  672. status = "disabled";
  673. };
  674. /* shares pads with dpaux0 */
  675. dp_aux_ch0_i2c: i2c@31b0000 {
  676. compatible = "nvidia,tegra186-i2c";
  677. reg = <0x0 0x031b0000 0x0 0x10000>;
  678. interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
  679. #address-cells = <1>;
  680. #size-cells = <0>;
  681. clocks = <&bpmp TEGRA186_CLK_I2C6>;
  682. clock-names = "div-clk";
  683. resets = <&bpmp TEGRA186_RESET_I2C6>;
  684. reset-names = "i2c";
  685. pinctrl-names = "default", "idle";
  686. pinctrl-0 = <&state_dpaux_i2c>;
  687. pinctrl-1 = <&state_dpaux_off>;
  688. iommus = <&smmu TEGRA186_SID_GPCDMA_0>;
  689. dma-coherent;
  690. dmas = <&gpcdma 30>, <&gpcdma 30>;
  691. dma-names = "rx", "tx";
  692. status = "disabled";
  693. };
  694. gen7_i2c: i2c@31c0000 {
  695. compatible = "nvidia,tegra186-i2c";
  696. reg = <0x0 0x031c0000 0x0 0x10000>;
  697. interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
  698. #address-cells = <1>;
  699. #size-cells = <0>;
  700. clocks = <&bpmp TEGRA186_CLK_I2C7>;
  701. clock-names = "div-clk";
  702. resets = <&bpmp TEGRA186_RESET_I2C7>;
  703. reset-names = "i2c";
  704. iommus = <&smmu TEGRA186_SID_GPCDMA_0>;
  705. dma-coherent;
  706. dmas = <&gpcdma 27>, <&gpcdma 27>;
  707. dma-names = "rx", "tx";
  708. status = "disabled";
  709. };
  710. gen9_i2c: i2c@31e0000 {
  711. compatible = "nvidia,tegra186-i2c";
  712. reg = <0x0 0x031e0000 0x0 0x10000>;
  713. interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
  714. #address-cells = <1>;
  715. #size-cells = <0>;
  716. clocks = <&bpmp TEGRA186_CLK_I2C9>;
  717. clock-names = "div-clk";
  718. resets = <&bpmp TEGRA186_RESET_I2C9>;
  719. reset-names = "i2c";
  720. iommus = <&smmu TEGRA186_SID_GPCDMA_0>;
  721. dma-coherent;
  722. dmas = <&gpcdma 31>, <&gpcdma 31>;
  723. dma-names = "rx", "tx";
  724. status = "disabled";
  725. };
  726. pwm1: pwm@3280000 {
  727. compatible = "nvidia,tegra186-pwm";
  728. reg = <0x0 0x3280000 0x0 0x10000>;
  729. clocks = <&bpmp TEGRA186_CLK_PWM1>;
  730. clock-names = "pwm";
  731. resets = <&bpmp TEGRA186_RESET_PWM1>;
  732. reset-names = "pwm";
  733. status = "disabled";
  734. #pwm-cells = <2>;
  735. };
  736. pwm2: pwm@3290000 {
  737. compatible = "nvidia,tegra186-pwm";
  738. reg = <0x0 0x3290000 0x0 0x10000>;
  739. clocks = <&bpmp TEGRA186_CLK_PWM2>;
  740. clock-names = "pwm";
  741. resets = <&bpmp TEGRA186_RESET_PWM2>;
  742. reset-names = "pwm";
  743. status = "disabled";
  744. #pwm-cells = <2>;
  745. };
  746. pwm3: pwm@32a0000 {
  747. compatible = "nvidia,tegra186-pwm";
  748. reg = <0x0 0x32a0000 0x0 0x10000>;
  749. clocks = <&bpmp TEGRA186_CLK_PWM3>;
  750. clock-names = "pwm";
  751. resets = <&bpmp TEGRA186_RESET_PWM3>;
  752. reset-names = "pwm";
  753. status = "disabled";
  754. #pwm-cells = <2>;
  755. };
  756. pwm5: pwm@32c0000 {
  757. compatible = "nvidia,tegra186-pwm";
  758. reg = <0x0 0x32c0000 0x0 0x10000>;
  759. clocks = <&bpmp TEGRA186_CLK_PWM5>;
  760. clock-names = "pwm";
  761. resets = <&bpmp TEGRA186_RESET_PWM5>;
  762. reset-names = "pwm";
  763. status = "disabled";
  764. #pwm-cells = <2>;
  765. };
  766. pwm6: pwm@32d0000 {
  767. compatible = "nvidia,tegra186-pwm";
  768. reg = <0x0 0x32d0000 0x0 0x10000>;
  769. clocks = <&bpmp TEGRA186_CLK_PWM6>;
  770. clock-names = "pwm";
  771. resets = <&bpmp TEGRA186_RESET_PWM6>;
  772. reset-names = "pwm";
  773. status = "disabled";
  774. #pwm-cells = <2>;
  775. };
  776. pwm7: pwm@32e0000 {
  777. compatible = "nvidia,tegra186-pwm";
  778. reg = <0x0 0x32e0000 0x0 0x10000>;
  779. clocks = <&bpmp TEGRA186_CLK_PWM7>;
  780. clock-names = "pwm";
  781. resets = <&bpmp TEGRA186_RESET_PWM7>;
  782. reset-names = "pwm";
  783. status = "disabled";
  784. #pwm-cells = <2>;
  785. };
  786. pwm8: pwm@32f0000 {
  787. compatible = "nvidia,tegra186-pwm";
  788. reg = <0x0 0x32f0000 0x0 0x10000>;
  789. clocks = <&bpmp TEGRA186_CLK_PWM8>;
  790. clock-names = "pwm";
  791. resets = <&bpmp TEGRA186_RESET_PWM8>;
  792. reset-names = "pwm";
  793. status = "disabled";
  794. #pwm-cells = <2>;
  795. };
  796. sdmmc1: mmc@3400000 {
  797. compatible = "nvidia,tegra186-sdhci";
  798. reg = <0x0 0x03400000 0x0 0x10000>;
  799. interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
  800. clocks = <&bpmp TEGRA186_CLK_SDMMC1>,
  801. <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>;
  802. clock-names = "sdhci", "tmclk";
  803. resets = <&bpmp TEGRA186_RESET_SDMMC1>;
  804. reset-names = "sdhci";
  805. interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCRA &emc>,
  806. <&mc TEGRA186_MEMORY_CLIENT_SDMMCWA &emc>;
  807. interconnect-names = "dma-mem", "write";
  808. iommus = <&smmu TEGRA186_SID_SDMMC1>;
  809. pinctrl-names = "sdmmc-3v3", "sdmmc-1v8";
  810. pinctrl-0 = <&sdmmc1_3v3>;
  811. pinctrl-1 = <&sdmmc1_1v8>;
  812. nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>;
  813. nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x06>;
  814. nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x07>;
  815. nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>;
  816. nvidia,pad-autocal-pull-up-offset-sdr104 = <0x03>;
  817. nvidia,pad-autocal-pull-down-offset-sdr104 = <0x05>;
  818. nvidia,default-tap = <0x5>;
  819. nvidia,default-trim = <0xb>;
  820. assigned-clocks = <&bpmp TEGRA186_CLK_SDMMC1>,
  821. <&bpmp TEGRA186_CLK_PLLP_OUT0>;
  822. assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLP_OUT0>;
  823. status = "disabled";
  824. };
  825. sdmmc2: mmc@3420000 {
  826. compatible = "nvidia,tegra186-sdhci";
  827. reg = <0x0 0x03420000 0x0 0x10000>;
  828. interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
  829. clocks = <&bpmp TEGRA186_CLK_SDMMC2>,
  830. <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>;
  831. clock-names = "sdhci", "tmclk";
  832. resets = <&bpmp TEGRA186_RESET_SDMMC2>;
  833. reset-names = "sdhci";
  834. interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCRAA &emc>,
  835. <&mc TEGRA186_MEMORY_CLIENT_SDMMCWAA &emc>;
  836. interconnect-names = "dma-mem", "write";
  837. iommus = <&smmu TEGRA186_SID_SDMMC2>;
  838. pinctrl-names = "sdmmc-3v3", "sdmmc-1v8";
  839. pinctrl-0 = <&sdmmc2_3v3>;
  840. pinctrl-1 = <&sdmmc2_1v8>;
  841. nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>;
  842. nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x06>;
  843. nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x07>;
  844. nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>;
  845. nvidia,default-tap = <0x5>;
  846. nvidia,default-trim = <0xb>;
  847. status = "disabled";
  848. };
  849. sdmmc3: mmc@3440000 {
  850. compatible = "nvidia,tegra186-sdhci";
  851. reg = <0x0 0x03440000 0x0 0x10000>;
  852. interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
  853. clocks = <&bpmp TEGRA186_CLK_SDMMC3>,
  854. <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>;
  855. clock-names = "sdhci", "tmclk";
  856. resets = <&bpmp TEGRA186_RESET_SDMMC3>;
  857. reset-names = "sdhci";
  858. interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCR &emc>,
  859. <&mc TEGRA186_MEMORY_CLIENT_SDMMCW &emc>;
  860. interconnect-names = "dma-mem", "write";
  861. iommus = <&smmu TEGRA186_SID_SDMMC3>;
  862. pinctrl-names = "sdmmc-3v3", "sdmmc-1v8";
  863. pinctrl-0 = <&sdmmc3_3v3>;
  864. pinctrl-1 = <&sdmmc3_1v8>;
  865. nvidia,pad-autocal-pull-up-offset-1v8 = <0x00>;
  866. nvidia,pad-autocal-pull-down-offset-1v8 = <0x7a>;
  867. nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>;
  868. nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x06>;
  869. nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x07>;
  870. nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>;
  871. nvidia,default-tap = <0x5>;
  872. nvidia,default-trim = <0xb>;
  873. status = "disabled";
  874. };
  875. sdmmc4: mmc@3460000 {
  876. compatible = "nvidia,tegra186-sdhci";
  877. reg = <0x0 0x03460000 0x0 0x10000>;
  878. interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
  879. clocks = <&bpmp TEGRA186_CLK_SDMMC4>,
  880. <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>;
  881. clock-names = "sdhci", "tmclk";
  882. assigned-clocks = <&bpmp TEGRA186_CLK_SDMMC4>,
  883. <&bpmp TEGRA186_CLK_PLLC4_VCO>;
  884. assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLC4_VCO>;
  885. resets = <&bpmp TEGRA186_RESET_SDMMC4>;
  886. reset-names = "sdhci";
  887. interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCRAB &emc>,
  888. <&mc TEGRA186_MEMORY_CLIENT_SDMMCWAB &emc>;
  889. interconnect-names = "dma-mem", "write";
  890. iommus = <&smmu TEGRA186_SID_SDMMC4>;
  891. nvidia,pad-autocal-pull-up-offset-hs400 = <0x05>;
  892. nvidia,pad-autocal-pull-down-offset-hs400 = <0x05>;
  893. nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x0a>;
  894. nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x0a>;
  895. nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x0a>;
  896. nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x0a>;
  897. nvidia,default-tap = <0x9>;
  898. nvidia,default-trim = <0x5>;
  899. nvidia,dqs-trim = <63>;
  900. mmc-hs400-1_8v;
  901. supports-cqe;
  902. status = "disabled";
  903. };
  904. hda@3510000 {
  905. compatible = "nvidia,tegra186-hda", "nvidia,tegra30-hda";
  906. reg = <0x0 0x03510000 0x0 0x10000>;
  907. interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
  908. clocks = <&bpmp TEGRA186_CLK_HDA>,
  909. <&bpmp TEGRA186_CLK_HDA2HDMICODEC>,
  910. <&bpmp TEGRA186_CLK_HDA2CODEC_2X>;
  911. clock-names = "hda", "hda2hdmi", "hda2codec_2x";
  912. resets = <&bpmp TEGRA186_RESET_HDA>,
  913. <&bpmp TEGRA186_RESET_HDA2HDMICODEC>,
  914. <&bpmp TEGRA186_RESET_HDA2CODEC_2X>;
  915. reset-names = "hda", "hda2hdmi", "hda2codec_2x";
  916. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
  917. interconnects = <&mc TEGRA186_MEMORY_CLIENT_HDAR &emc>,
  918. <&mc TEGRA186_MEMORY_CLIENT_HDAW &emc>;
  919. interconnect-names = "dma-mem", "write";
  920. iommus = <&smmu TEGRA186_SID_HDA>;
  921. status = "disabled";
  922. };
  923. padctl: padctl@3520000 {
  924. compatible = "nvidia,tegra186-xusb-padctl";
  925. reg = <0x0 0x03520000 0x0 0x1000>,
  926. <0x0 0x03540000 0x0 0x1000>;
  927. reg-names = "padctl", "ao";
  928. interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
  929. resets = <&bpmp TEGRA186_RESET_XUSB_PADCTL>;
  930. reset-names = "padctl";
  931. status = "disabled";
  932. pads {
  933. usb2 {
  934. clocks = <&bpmp TEGRA186_CLK_USB2_TRK>;
  935. clock-names = "trk";
  936. status = "disabled";
  937. lanes {
  938. usb2-0 {
  939. status = "disabled";
  940. #phy-cells = <0>;
  941. };
  942. usb2-1 {
  943. status = "disabled";
  944. #phy-cells = <0>;
  945. };
  946. usb2-2 {
  947. status = "disabled";
  948. #phy-cells = <0>;
  949. };
  950. };
  951. };
  952. hsic {
  953. clocks = <&bpmp TEGRA186_CLK_HSIC_TRK>;
  954. clock-names = "trk";
  955. status = "disabled";
  956. lanes {
  957. hsic-0 {
  958. status = "disabled";
  959. #phy-cells = <0>;
  960. };
  961. };
  962. };
  963. usb3 {
  964. status = "disabled";
  965. lanes {
  966. usb3-0 {
  967. status = "disabled";
  968. #phy-cells = <0>;
  969. };
  970. usb3-1 {
  971. status = "disabled";
  972. #phy-cells = <0>;
  973. };
  974. usb3-2 {
  975. status = "disabled";
  976. #phy-cells = <0>;
  977. };
  978. };
  979. };
  980. };
  981. ports {
  982. usb2-0 {
  983. status = "disabled";
  984. };
  985. usb2-1 {
  986. status = "disabled";
  987. };
  988. usb2-2 {
  989. status = "disabled";
  990. };
  991. hsic-0 {
  992. status = "disabled";
  993. };
  994. usb3-0 {
  995. status = "disabled";
  996. };
  997. usb3-1 {
  998. status = "disabled";
  999. };
  1000. usb3-2 {
  1001. status = "disabled";
  1002. };
  1003. };
  1004. };
  1005. usb@3530000 {
  1006. compatible = "nvidia,tegra186-xusb";
  1007. reg = <0x0 0x03530000 0x0 0x8000>,
  1008. <0x0 0x03538000 0x0 0x1000>;
  1009. reg-names = "hcd", "fpci";
  1010. interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
  1011. <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
  1012. clocks = <&bpmp TEGRA186_CLK_XUSB_HOST>,
  1013. <&bpmp TEGRA186_CLK_XUSB_FALCON>,
  1014. <&bpmp TEGRA186_CLK_XUSB_SS>,
  1015. <&bpmp TEGRA186_CLK_XUSB_CORE_SS>,
  1016. <&bpmp TEGRA186_CLK_CLK_M>,
  1017. <&bpmp TEGRA186_CLK_XUSB_FS>,
  1018. <&bpmp TEGRA186_CLK_PLLU>,
  1019. <&bpmp TEGRA186_CLK_CLK_M>,
  1020. <&bpmp TEGRA186_CLK_PLLE>;
  1021. clock-names = "xusb_host", "xusb_falcon_src", "xusb_ss",
  1022. "xusb_ss_src", "xusb_hs_src", "xusb_fs_src",
  1023. "pll_u_480m", "clk_m", "pll_e";
  1024. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_XUSBC>,
  1025. <&bpmp TEGRA186_POWER_DOMAIN_XUSBA>;
  1026. power-domain-names = "xusb_host", "xusb_ss";
  1027. interconnects = <&mc TEGRA186_MEMORY_CLIENT_XUSB_HOSTR &emc>,
  1028. <&mc TEGRA186_MEMORY_CLIENT_XUSB_HOSTW &emc>;
  1029. interconnect-names = "dma-mem", "write";
  1030. iommus = <&smmu TEGRA186_SID_XUSB_HOST>;
  1031. #address-cells = <1>;
  1032. #size-cells = <0>;
  1033. status = "disabled";
  1034. nvidia,xusb-padctl = <&padctl>;
  1035. };
  1036. usb@3550000 {
  1037. compatible = "nvidia,tegra186-xudc";
  1038. reg = <0x0 0x03550000 0x0 0x8000>,
  1039. <0x0 0x03558000 0x0 0x1000>;
  1040. reg-names = "base", "fpci";
  1041. interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
  1042. clocks = <&bpmp TEGRA186_CLK_XUSB_CORE_DEV>,
  1043. <&bpmp TEGRA186_CLK_XUSB_SS>,
  1044. <&bpmp TEGRA186_CLK_XUSB_CORE_SS>,
  1045. <&bpmp TEGRA186_CLK_XUSB_FS>;
  1046. clock-names = "dev", "ss", "ss_src", "fs_src";
  1047. interconnects = <&mc TEGRA186_MEMORY_CLIENT_XUSB_DEVR &emc>,
  1048. <&mc TEGRA186_MEMORY_CLIENT_XUSB_DEVW &emc>;
  1049. interconnect-names = "dma-mem", "write";
  1050. iommus = <&smmu TEGRA186_SID_XUSB_DEV>;
  1051. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_XUSBB>,
  1052. <&bpmp TEGRA186_POWER_DOMAIN_XUSBA>;
  1053. power-domain-names = "dev", "ss";
  1054. nvidia,xusb-padctl = <&padctl>;
  1055. status = "disabled";
  1056. };
  1057. fuse@3820000 {
  1058. compatible = "nvidia,tegra186-efuse";
  1059. reg = <0x0 0x03820000 0x0 0x10000>;
  1060. clocks = <&bpmp TEGRA186_CLK_FUSE>;
  1061. clock-names = "fuse";
  1062. };
  1063. gic: interrupt-controller@3881000 {
  1064. compatible = "arm,gic-400";
  1065. #interrupt-cells = <3>;
  1066. interrupt-controller;
  1067. reg = <0x0 0x03881000 0x0 0x1000>,
  1068. <0x0 0x03882000 0x0 0x2000>,
  1069. <0x0 0x03884000 0x0 0x2000>,
  1070. <0x0 0x03886000 0x0 0x2000>;
  1071. interrupts = <GIC_PPI 9
  1072. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
  1073. interrupt-parent = <&gic>;
  1074. };
  1075. cec@3960000 {
  1076. compatible = "nvidia,tegra186-cec";
  1077. reg = <0x0 0x03960000 0x0 0x10000>;
  1078. interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
  1079. clocks = <&bpmp TEGRA186_CLK_CEC>;
  1080. clock-names = "cec";
  1081. status = "disabled";
  1082. };
  1083. hsp_top0: hsp@3c00000 {
  1084. compatible = "nvidia,tegra186-hsp";
  1085. reg = <0x0 0x03c00000 0x0 0xa0000>;
  1086. interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
  1087. interrupt-names = "doorbell";
  1088. #mbox-cells = <2>;
  1089. status = "disabled";
  1090. };
  1091. gen2_i2c: i2c@c240000 {
  1092. compatible = "nvidia,tegra186-i2c";
  1093. reg = <0x0 0x0c240000 0x0 0x10000>;
  1094. interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
  1095. #address-cells = <1>;
  1096. #size-cells = <0>;
  1097. clocks = <&bpmp TEGRA186_CLK_I2C2>;
  1098. clock-names = "div-clk";
  1099. resets = <&bpmp TEGRA186_RESET_I2C2>;
  1100. reset-names = "i2c";
  1101. iommus = <&smmu TEGRA186_SID_GPCDMA_0>;
  1102. dma-coherent;
  1103. dmas = <&gpcdma 22>, <&gpcdma 22>;
  1104. dma-names = "rx", "tx";
  1105. status = "disabled";
  1106. };
  1107. gen8_i2c: i2c@c250000 {
  1108. compatible = "nvidia,tegra186-i2c";
  1109. reg = <0x0 0x0c250000 0x0 0x10000>;
  1110. interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
  1111. #address-cells = <1>;
  1112. #size-cells = <0>;
  1113. clocks = <&bpmp TEGRA186_CLK_I2C8>;
  1114. clock-names = "div-clk";
  1115. resets = <&bpmp TEGRA186_RESET_I2C8>;
  1116. reset-names = "i2c";
  1117. iommus = <&smmu TEGRA186_SID_GPCDMA_0>;
  1118. dma-coherent;
  1119. dmas = <&gpcdma 0>, <&gpcdma 0>;
  1120. dma-names = "rx", "tx";
  1121. status = "disabled";
  1122. };
  1123. uartc: serial@c280000 {
  1124. compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
  1125. reg = <0x0 0x0c280000 0x0 0x40>;
  1126. reg-shift = <2>;
  1127. interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
  1128. clocks = <&bpmp TEGRA186_CLK_UARTC>;
  1129. clock-names = "serial";
  1130. resets = <&bpmp TEGRA186_RESET_UARTC>;
  1131. reset-names = "serial";
  1132. status = "disabled";
  1133. };
  1134. uartg: serial@c290000 {
  1135. compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
  1136. reg = <0x0 0x0c290000 0x0 0x40>;
  1137. reg-shift = <2>;
  1138. interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
  1139. clocks = <&bpmp TEGRA186_CLK_UARTG>;
  1140. clock-names = "serial";
  1141. resets = <&bpmp TEGRA186_RESET_UARTG>;
  1142. reset-names = "serial";
  1143. status = "disabled";
  1144. };
  1145. rtc: rtc@c2a0000 {
  1146. compatible = "nvidia,tegra186-rtc", "nvidia,tegra20-rtc";
  1147. reg = <0 0x0c2a0000 0 0x10000>;
  1148. interrupt-parent = <&pmc>;
  1149. interrupts = <73 IRQ_TYPE_LEVEL_HIGH>;
  1150. clocks = <&bpmp TEGRA186_CLK_CLK_32K>;
  1151. clock-names = "rtc";
  1152. status = "disabled";
  1153. };
  1154. gpio_aon: gpio@c2f0000 {
  1155. compatible = "nvidia,tegra186-gpio-aon";
  1156. reg-names = "security", "gpio";
  1157. reg = <0x0 0xc2f0000 0x0 0x1000>,
  1158. <0x0 0xc2f1000 0x0 0x1000>;
  1159. interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
  1160. gpio-controller;
  1161. #gpio-cells = <2>;
  1162. interrupt-controller;
  1163. #interrupt-cells = <2>;
  1164. };
  1165. pwm4: pwm@c340000 {
  1166. compatible = "nvidia,tegra186-pwm";
  1167. reg = <0x0 0xc340000 0x0 0x10000>;
  1168. clocks = <&bpmp TEGRA186_CLK_PWM4>;
  1169. clock-names = "pwm";
  1170. resets = <&bpmp TEGRA186_RESET_PWM4>;
  1171. reset-names = "pwm";
  1172. status = "disabled";
  1173. #pwm-cells = <2>;
  1174. };
  1175. pmc: pmc@c360000 {
  1176. compatible = "nvidia,tegra186-pmc";
  1177. reg = <0 0x0c360000 0 0x10000>,
  1178. <0 0x0c370000 0 0x10000>,
  1179. <0 0x0c380000 0 0x10000>,
  1180. <0 0x0c390000 0 0x10000>;
  1181. reg-names = "pmc", "wake", "aotag", "scratch";
  1182. #interrupt-cells = <2>;
  1183. interrupt-controller;
  1184. sdmmc1_3v3: sdmmc1-3v3 {
  1185. pins = "sdmmc1-hv";
  1186. power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>;
  1187. };
  1188. sdmmc1_1v8: sdmmc1-1v8 {
  1189. pins = "sdmmc1-hv";
  1190. power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
  1191. };
  1192. sdmmc2_3v3: sdmmc2-3v3 {
  1193. pins = "sdmmc2-hv";
  1194. power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>;
  1195. };
  1196. sdmmc2_1v8: sdmmc2-1v8 {
  1197. pins = "sdmmc2-hv";
  1198. power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
  1199. };
  1200. sdmmc3_3v3: sdmmc3-3v3 {
  1201. pins = "sdmmc3-hv";
  1202. power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>;
  1203. };
  1204. sdmmc3_1v8: sdmmc3-1v8 {
  1205. pins = "sdmmc3-hv";
  1206. power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
  1207. };
  1208. };
  1209. ccplex@e000000 {
  1210. compatible = "nvidia,tegra186-ccplex-cluster";
  1211. reg = <0x0 0x0e000000 0x0 0x400000>;
  1212. nvidia,bpmp = <&bpmp>;
  1213. };
  1214. pcie@10003000 {
  1215. compatible = "nvidia,tegra186-pcie";
  1216. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_PCX>;
  1217. device_type = "pci";
  1218. reg = <0x0 0x10003000 0x0 0x00000800>, /* PADS registers */
  1219. <0x0 0x10003800 0x0 0x00000800>, /* AFI registers */
  1220. <0x0 0x40000000 0x0 0x10000000>; /* configuration space */
  1221. reg-names = "pads", "afi", "cs";
  1222. interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
  1223. <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
  1224. interrupt-names = "intr", "msi";
  1225. #interrupt-cells = <1>;
  1226. interrupt-map-mask = <0 0 0 0>;
  1227. interrupt-map = <0 0 0 0 &gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
  1228. bus-range = <0x00 0xff>;
  1229. #address-cells = <3>;
  1230. #size-cells = <2>;
  1231. ranges = <0x02000000 0 0x10000000 0x0 0x10000000 0 0x00001000>, /* port 0 configuration space */
  1232. <0x02000000 0 0x10001000 0x0 0x10001000 0 0x00001000>,/* port 1 configuration space */
  1233. <0x02000000 0 0x10004000 0x0 0x10004000 0 0x00001000>, /* port 2 configuration space */
  1234. <0x01000000 0 0x0 0x0 0x50000000 0 0x00010000>, /* downstream I/O (64 KiB) */
  1235. <0x02000000 0 0x50100000 0x0 0x50100000 0 0x07f00000>, /* non-prefetchable memory (127 MiB) */
  1236. <0x42000000 0 0x58000000 0x0 0x58000000 0 0x28000000>; /* prefetchable memory (640 MiB) */
  1237. clocks = <&bpmp TEGRA186_CLK_PCIE>,
  1238. <&bpmp TEGRA186_CLK_AFI>,
  1239. <&bpmp TEGRA186_CLK_PLLE>;
  1240. clock-names = "pex", "afi", "pll_e";
  1241. resets = <&bpmp TEGRA186_RESET_PCIE>,
  1242. <&bpmp TEGRA186_RESET_AFI>,
  1243. <&bpmp TEGRA186_RESET_PCIEXCLK>;
  1244. reset-names = "pex", "afi", "pcie_x";
  1245. interconnects = <&mc TEGRA186_MEMORY_CLIENT_AFIR &emc>,
  1246. <&mc TEGRA186_MEMORY_CLIENT_AFIW &emc>;
  1247. interconnect-names = "dma-mem", "write";
  1248. iommus = <&smmu TEGRA186_SID_AFI>;
  1249. iommu-map = <0x0 &smmu TEGRA186_SID_AFI 0x1000>;
  1250. iommu-map-mask = <0x0>;
  1251. status = "disabled";
  1252. pci@1,0 {
  1253. device_type = "pci";
  1254. assigned-addresses = <0x82000800 0 0x10000000 0 0x1000>;
  1255. reg = <0x000800 0 0 0 0>;
  1256. status = "disabled";
  1257. #address-cells = <3>;
  1258. #size-cells = <2>;
  1259. ranges;
  1260. nvidia,num-lanes = <2>;
  1261. };
  1262. pci@2,0 {
  1263. device_type = "pci";
  1264. assigned-addresses = <0x82001000 0 0x10001000 0 0x1000>;
  1265. reg = <0x001000 0 0 0 0>;
  1266. status = "disabled";
  1267. #address-cells = <3>;
  1268. #size-cells = <2>;
  1269. ranges;
  1270. nvidia,num-lanes = <1>;
  1271. };
  1272. pci@3,0 {
  1273. device_type = "pci";
  1274. assigned-addresses = <0x82001800 0 0x10004000 0 0x1000>;
  1275. reg = <0x001800 0 0 0 0>;
  1276. status = "disabled";
  1277. #address-cells = <3>;
  1278. #size-cells = <2>;
  1279. ranges;
  1280. nvidia,num-lanes = <1>;
  1281. };
  1282. };
  1283. smmu: iommu@12000000 {
  1284. compatible = "nvidia,tegra186-smmu", "nvidia,smmu-500";
  1285. reg = <0 0x12000000 0 0x800000>;
  1286. interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1287. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1288. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1289. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1290. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1291. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1292. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1293. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1294. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1295. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1296. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1297. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1298. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1299. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1300. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1301. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1302. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1303. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1304. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1305. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1306. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1307. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1308. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1309. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1310. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1311. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1312. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1313. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1314. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1315. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1316. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1317. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1318. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1319. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1320. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1321. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1322. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1323. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1324. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1325. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1326. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1327. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1328. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1329. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1330. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1331. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1332. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1333. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1334. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1335. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1336. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1337. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1338. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1339. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1340. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1341. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1342. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1343. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1344. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1345. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1346. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1347. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1348. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1349. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
  1350. <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
  1351. stream-match-mask = <0x7f80>;
  1352. #global-interrupts = <1>;
  1353. #iommu-cells = <1>;
  1354. nvidia,memory-controller = <&mc>;
  1355. };
  1356. host1x@13e00000 {
  1357. compatible = "nvidia,tegra186-host1x";
  1358. reg = <0x0 0x13e00000 0x0 0x10000>,
  1359. <0x0 0x13e10000 0x0 0x10000>;
  1360. reg-names = "hypervisor", "vm";
  1361. interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>,
  1362. <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
  1363. interrupt-names = "syncpt", "host1x";
  1364. clocks = <&bpmp TEGRA186_CLK_HOST1X>;
  1365. clock-names = "host1x";
  1366. resets = <&bpmp TEGRA186_RESET_HOST1X>;
  1367. reset-names = "host1x";
  1368. #address-cells = <1>;
  1369. #size-cells = <1>;
  1370. ranges = <0x15000000 0x0 0x15000000 0x01000000>;
  1371. interconnects = <&mc TEGRA186_MEMORY_CLIENT_HOST1XDMAR &emc>;
  1372. interconnect-names = "dma-mem";
  1373. iommus = <&smmu TEGRA186_SID_HOST1X>;
  1374. /* Context isolation domains */
  1375. iommu-map = <0 &smmu TEGRA186_SID_HOST1X_CTX0 1>,
  1376. <1 &smmu TEGRA186_SID_HOST1X_CTX1 1>,
  1377. <2 &smmu TEGRA186_SID_HOST1X_CTX2 1>,
  1378. <3 &smmu TEGRA186_SID_HOST1X_CTX3 1>,
  1379. <4 &smmu TEGRA186_SID_HOST1X_CTX4 1>,
  1380. <5 &smmu TEGRA186_SID_HOST1X_CTX5 1>,
  1381. <6 &smmu TEGRA186_SID_HOST1X_CTX6 1>,
  1382. <7 &smmu TEGRA186_SID_HOST1X_CTX7 1>;
  1383. dpaux1: dpaux@15040000 {
  1384. compatible = "nvidia,tegra186-dpaux";
  1385. reg = <0x15040000 0x10000>;
  1386. interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
  1387. clocks = <&bpmp TEGRA186_CLK_DPAUX1>,
  1388. <&bpmp TEGRA186_CLK_PLLDP>;
  1389. clock-names = "dpaux", "parent";
  1390. resets = <&bpmp TEGRA186_RESET_DPAUX1>;
  1391. reset-names = "dpaux";
  1392. status = "disabled";
  1393. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
  1394. state_dpaux1_aux: pinmux-aux {
  1395. groups = "dpaux-io";
  1396. function = "aux";
  1397. };
  1398. state_dpaux1_i2c: pinmux-i2c {
  1399. groups = "dpaux-io";
  1400. function = "i2c";
  1401. };
  1402. state_dpaux1_off: pinmux-off {
  1403. groups = "dpaux-io";
  1404. function = "off";
  1405. };
  1406. i2c-bus {
  1407. #address-cells = <1>;
  1408. #size-cells = <0>;
  1409. };
  1410. };
  1411. display-hub@15200000 {
  1412. compatible = "nvidia,tegra186-display";
  1413. reg = <0x15200000 0x00040000>;
  1414. resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_MISC>,
  1415. <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP0>,
  1416. <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP1>,
  1417. <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP2>,
  1418. <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP3>,
  1419. <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP4>,
  1420. <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP5>;
  1421. reset-names = "misc", "wgrp0", "wgrp1", "wgrp2",
  1422. "wgrp3", "wgrp4", "wgrp5";
  1423. clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_DISP>,
  1424. <&bpmp TEGRA186_CLK_NVDISPLAY_DSC>,
  1425. <&bpmp TEGRA186_CLK_NVDISPLAYHUB>;
  1426. clock-names = "disp", "dsc", "hub";
  1427. status = "disabled";
  1428. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
  1429. #address-cells = <1>;
  1430. #size-cells = <1>;
  1431. ranges = <0x15200000 0x15200000 0x40000>;
  1432. display@15200000 {
  1433. compatible = "nvidia,tegra186-dc";
  1434. reg = <0x15200000 0x10000>;
  1435. interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
  1436. clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P0>;
  1437. clock-names = "dc";
  1438. resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD0>;
  1439. reset-names = "dc";
  1440. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
  1441. interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR &emc>,
  1442. <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 &emc>;
  1443. interconnect-names = "dma-mem", "read-1";
  1444. iommus = <&smmu TEGRA186_SID_NVDISPLAY>;
  1445. nvidia,outputs = <&dsia &dsib &sor0 &sor1>;
  1446. nvidia,head = <0>;
  1447. };
  1448. display@15210000 {
  1449. compatible = "nvidia,tegra186-dc";
  1450. reg = <0x15210000 0x10000>;
  1451. interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
  1452. clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P1>;
  1453. clock-names = "dc";
  1454. resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD1>;
  1455. reset-names = "dc";
  1456. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISPB>;
  1457. interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR &emc>,
  1458. <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 &emc>;
  1459. interconnect-names = "dma-mem", "read-1";
  1460. iommus = <&smmu TEGRA186_SID_NVDISPLAY>;
  1461. nvidia,outputs = <&dsia &dsib &sor0 &sor1>;
  1462. nvidia,head = <1>;
  1463. };
  1464. display@15220000 {
  1465. compatible = "nvidia,tegra186-dc";
  1466. reg = <0x15220000 0x10000>;
  1467. interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
  1468. clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P2>;
  1469. clock-names = "dc";
  1470. resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD2>;
  1471. reset-names = "dc";
  1472. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISPC>;
  1473. interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR &emc>,
  1474. <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 &emc>;
  1475. interconnect-names = "dma-mem", "read-1";
  1476. iommus = <&smmu TEGRA186_SID_NVDISPLAY>;
  1477. nvidia,outputs = <&sor0 &sor1>;
  1478. nvidia,head = <2>;
  1479. };
  1480. };
  1481. dsia: dsi@15300000 {
  1482. compatible = "nvidia,tegra186-dsi";
  1483. reg = <0x15300000 0x10000>;
  1484. interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
  1485. clocks = <&bpmp TEGRA186_CLK_DSI>,
  1486. <&bpmp TEGRA186_CLK_DSIA_LP>,
  1487. <&bpmp TEGRA186_CLK_PLLD>;
  1488. clock-names = "dsi", "lp", "parent";
  1489. resets = <&bpmp TEGRA186_RESET_DSI>;
  1490. reset-names = "dsi";
  1491. status = "disabled";
  1492. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
  1493. };
  1494. vic@15340000 {
  1495. compatible = "nvidia,tegra186-vic";
  1496. reg = <0x15340000 0x40000>;
  1497. interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>;
  1498. clocks = <&bpmp TEGRA186_CLK_VIC>;
  1499. clock-names = "vic";
  1500. resets = <&bpmp TEGRA186_RESET_VIC>;
  1501. reset-names = "vic";
  1502. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_VIC>;
  1503. interconnects = <&mc TEGRA186_MEMORY_CLIENT_VICSRD &emc>,
  1504. <&mc TEGRA186_MEMORY_CLIENT_VICSWR &emc>;
  1505. interconnect-names = "dma-mem", "write";
  1506. iommus = <&smmu TEGRA186_SID_VIC>;
  1507. };
  1508. nvjpg@15380000 {
  1509. compatible = "nvidia,tegra186-nvjpg";
  1510. reg = <0x15380000 0x40000>;
  1511. clocks = <&bpmp TEGRA186_CLK_NVJPG>;
  1512. clock-names = "nvjpg";
  1513. resets = <&bpmp TEGRA186_RESET_NVJPG>;
  1514. reset-names = "nvjpg";
  1515. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_NVJPG>;
  1516. interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVJPGSRD &emc>,
  1517. <&mc TEGRA186_MEMORY_CLIENT_NVJPGSWR &emc>;
  1518. interconnect-names = "dma-mem", "write";
  1519. iommus = <&smmu TEGRA186_SID_NVJPG>;
  1520. };
  1521. dsib: dsi@15400000 {
  1522. compatible = "nvidia,tegra186-dsi";
  1523. reg = <0x15400000 0x10000>;
  1524. interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
  1525. clocks = <&bpmp TEGRA186_CLK_DSIB>,
  1526. <&bpmp TEGRA186_CLK_DSIB_LP>,
  1527. <&bpmp TEGRA186_CLK_PLLD>;
  1528. clock-names = "dsi", "lp", "parent";
  1529. resets = <&bpmp TEGRA186_RESET_DSIB>;
  1530. reset-names = "dsi";
  1531. status = "disabled";
  1532. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
  1533. };
  1534. nvdec@15480000 {
  1535. compatible = "nvidia,tegra186-nvdec";
  1536. reg = <0x15480000 0x40000>;
  1537. clocks = <&bpmp TEGRA186_CLK_NVDEC>;
  1538. clock-names = "nvdec";
  1539. resets = <&bpmp TEGRA186_RESET_NVDEC>;
  1540. reset-names = "nvdec";
  1541. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_NVDEC>;
  1542. interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDECSRD &emc>,
  1543. <&mc TEGRA186_MEMORY_CLIENT_NVDECSRD1 &emc>,
  1544. <&mc TEGRA186_MEMORY_CLIENT_NVDECSWR &emc>;
  1545. interconnect-names = "dma-mem", "read-1", "write";
  1546. iommus = <&smmu TEGRA186_SID_NVDEC>;
  1547. };
  1548. nvenc@154c0000 {
  1549. compatible = "nvidia,tegra186-nvenc";
  1550. reg = <0x154c0000 0x40000>;
  1551. clocks = <&bpmp TEGRA186_CLK_NVENC>;
  1552. clock-names = "nvenc";
  1553. resets = <&bpmp TEGRA186_RESET_NVENC>;
  1554. reset-names = "nvenc";
  1555. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_MPE>;
  1556. interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVENCSRD &emc>,
  1557. <&mc TEGRA186_MEMORY_CLIENT_NVENCSWR &emc>;
  1558. interconnect-names = "dma-mem", "write";
  1559. iommus = <&smmu TEGRA186_SID_NVENC>;
  1560. };
  1561. sor0: sor@15540000 {
  1562. compatible = "nvidia,tegra186-sor";
  1563. reg = <0x15540000 0x10000>;
  1564. interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
  1565. clocks = <&bpmp TEGRA186_CLK_SOR0>,
  1566. <&bpmp TEGRA186_CLK_SOR0_OUT>,
  1567. <&bpmp TEGRA186_CLK_PLLD2>,
  1568. <&bpmp TEGRA186_CLK_PLLDP>,
  1569. <&bpmp TEGRA186_CLK_SOR_SAFE>,
  1570. <&bpmp TEGRA186_CLK_SOR0_PAD_CLKOUT>;
  1571. clock-names = "sor", "out", "parent", "dp", "safe",
  1572. "pad";
  1573. resets = <&bpmp TEGRA186_RESET_SOR0>;
  1574. reset-names = "sor";
  1575. pinctrl-0 = <&state_dpaux_aux>;
  1576. pinctrl-1 = <&state_dpaux_i2c>;
  1577. pinctrl-2 = <&state_dpaux_off>;
  1578. pinctrl-names = "aux", "i2c", "off";
  1579. status = "disabled";
  1580. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
  1581. nvidia,interface = <0>;
  1582. };
  1583. sor1: sor@15580000 {
  1584. compatible = "nvidia,tegra186-sor";
  1585. reg = <0x15580000 0x10000>;
  1586. interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
  1587. clocks = <&bpmp TEGRA186_CLK_SOR1>,
  1588. <&bpmp TEGRA186_CLK_SOR1_OUT>,
  1589. <&bpmp TEGRA186_CLK_PLLD3>,
  1590. <&bpmp TEGRA186_CLK_PLLDP>,
  1591. <&bpmp TEGRA186_CLK_SOR_SAFE>,
  1592. <&bpmp TEGRA186_CLK_SOR1_PAD_CLKOUT>;
  1593. clock-names = "sor", "out", "parent", "dp", "safe",
  1594. "pad";
  1595. resets = <&bpmp TEGRA186_RESET_SOR1>;
  1596. reset-names = "sor";
  1597. pinctrl-0 = <&state_dpaux1_aux>;
  1598. pinctrl-1 = <&state_dpaux1_i2c>;
  1599. pinctrl-2 = <&state_dpaux1_off>;
  1600. pinctrl-names = "aux", "i2c", "off";
  1601. status = "disabled";
  1602. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
  1603. nvidia,interface = <1>;
  1604. };
  1605. dpaux: dpaux@155c0000 {
  1606. compatible = "nvidia,tegra186-dpaux";
  1607. reg = <0x155c0000 0x10000>;
  1608. interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
  1609. clocks = <&bpmp TEGRA186_CLK_DPAUX>,
  1610. <&bpmp TEGRA186_CLK_PLLDP>;
  1611. clock-names = "dpaux", "parent";
  1612. resets = <&bpmp TEGRA186_RESET_DPAUX>;
  1613. reset-names = "dpaux";
  1614. status = "disabled";
  1615. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
  1616. state_dpaux_aux: pinmux-aux {
  1617. groups = "dpaux-io";
  1618. function = "aux";
  1619. };
  1620. state_dpaux_i2c: pinmux-i2c {
  1621. groups = "dpaux-io";
  1622. function = "i2c";
  1623. };
  1624. state_dpaux_off: pinmux-off {
  1625. groups = "dpaux-io";
  1626. function = "off";
  1627. };
  1628. i2c-bus {
  1629. #address-cells = <1>;
  1630. #size-cells = <0>;
  1631. };
  1632. };
  1633. padctl@15880000 {
  1634. compatible = "nvidia,tegra186-dsi-padctl";
  1635. reg = <0x15880000 0x10000>;
  1636. resets = <&bpmp TEGRA186_RESET_DSI>;
  1637. reset-names = "dsi";
  1638. status = "disabled";
  1639. };
  1640. dsic: dsi@15900000 {
  1641. compatible = "nvidia,tegra186-dsi";
  1642. reg = <0x15900000 0x10000>;
  1643. interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
  1644. clocks = <&bpmp TEGRA186_CLK_DSIC>,
  1645. <&bpmp TEGRA186_CLK_DSIC_LP>,
  1646. <&bpmp TEGRA186_CLK_PLLD>;
  1647. clock-names = "dsi", "lp", "parent";
  1648. resets = <&bpmp TEGRA186_RESET_DSIC>;
  1649. reset-names = "dsi";
  1650. status = "disabled";
  1651. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
  1652. };
  1653. dsid: dsi@15940000 {
  1654. compatible = "nvidia,tegra186-dsi";
  1655. reg = <0x15940000 0x10000>;
  1656. interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
  1657. clocks = <&bpmp TEGRA186_CLK_DSID>,
  1658. <&bpmp TEGRA186_CLK_DSID_LP>,
  1659. <&bpmp TEGRA186_CLK_PLLD>;
  1660. clock-names = "dsi", "lp", "parent";
  1661. resets = <&bpmp TEGRA186_RESET_DSID>;
  1662. reset-names = "dsi";
  1663. status = "disabled";
  1664. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
  1665. };
  1666. };
  1667. gpu@17000000 {
  1668. compatible = "nvidia,gp10b";
  1669. reg = <0x0 0x17000000 0x0 0x1000000>,
  1670. <0x0 0x18000000 0x0 0x1000000>;
  1671. interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
  1672. <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
  1673. interrupt-names = "stall", "nonstall";
  1674. clocks = <&bpmp TEGRA186_CLK_GPCCLK>,
  1675. <&bpmp TEGRA186_CLK_GPU>;
  1676. clock-names = "gpu", "pwr";
  1677. resets = <&bpmp TEGRA186_RESET_GPU>;
  1678. reset-names = "gpu";
  1679. status = "disabled";
  1680. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_GPU>;
  1681. interconnects = <&mc TEGRA186_MEMORY_CLIENT_GPUSRD &emc>,
  1682. <&mc TEGRA186_MEMORY_CLIENT_GPUSWR &emc>,
  1683. <&mc TEGRA186_MEMORY_CLIENT_GPUSRD2 &emc>,
  1684. <&mc TEGRA186_MEMORY_CLIENT_GPUSWR2 &emc>;
  1685. interconnect-names = "dma-mem", "write-0", "read-1", "write-1";
  1686. };
  1687. sram@30000000 {
  1688. compatible = "nvidia,tegra186-sysram", "mmio-sram";
  1689. reg = <0x0 0x30000000 0x0 0x50000>;
  1690. #address-cells = <1>;
  1691. #size-cells = <1>;
  1692. ranges = <0x0 0x0 0x30000000 0x50000>;
  1693. no-memory-wc;
  1694. cpu_bpmp_tx: sram@4e000 {
  1695. reg = <0x4e000 0x1000>;
  1696. label = "cpu-bpmp-tx";
  1697. pool;
  1698. };
  1699. cpu_bpmp_rx: sram@4f000 {
  1700. reg = <0x4f000 0x1000>;
  1701. label = "cpu-bpmp-rx";
  1702. pool;
  1703. };
  1704. };
  1705. sata@3507000 {
  1706. compatible = "nvidia,tegra186-ahci";
  1707. reg = <0x0 0x03507000 0x0 0x00002000>, /* AHCI */
  1708. <0x0 0x03500000 0x0 0x00007000>, /* SATA */
  1709. <0x0 0x03A90000 0x0 0x00010000>; /* SATA AUX */
  1710. interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
  1711. power-domains = <&bpmp TEGRA186_POWER_DOMAIN_SAX>;
  1712. interconnects = <&mc TEGRA186_MEMORY_CLIENT_SATAR &emc>,
  1713. <&mc TEGRA186_MEMORY_CLIENT_SATAW &emc>;
  1714. interconnect-names = "dma-mem", "write";
  1715. iommus = <&smmu TEGRA186_SID_SATA>;
  1716. clocks = <&bpmp TEGRA186_CLK_SATA>,
  1717. <&bpmp TEGRA186_CLK_SATA_OOB>;
  1718. clock-names = "sata", "sata-oob";
  1719. assigned-clocks = <&bpmp TEGRA186_CLK_SATA>,
  1720. <&bpmp TEGRA186_CLK_SATA_OOB>;
  1721. assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLP_OUT0>,
  1722. <&bpmp TEGRA186_CLK_PLLP>;
  1723. assigned-clock-rates = <102000000>,
  1724. <204000000>;
  1725. resets = <&bpmp TEGRA186_RESET_SATA>,
  1726. <&bpmp TEGRA186_RESET_SATACOLD>;
  1727. reset-names = "sata", "sata-cold";
  1728. status = "disabled";
  1729. };
  1730. bpmp: bpmp {
  1731. compatible = "nvidia,tegra186-bpmp";
  1732. interconnects = <&mc TEGRA186_MEMORY_CLIENT_BPMPR &emc>,
  1733. <&mc TEGRA186_MEMORY_CLIENT_BPMPW &emc>,
  1734. <&mc TEGRA186_MEMORY_CLIENT_BPMPDMAR &emc>,
  1735. <&mc TEGRA186_MEMORY_CLIENT_BPMPDMAW &emc>;
  1736. interconnect-names = "read", "write", "dma-mem", "dma-write";
  1737. iommus = <&smmu TEGRA186_SID_BPMP>;
  1738. mboxes = <&hsp_top0 TEGRA_HSP_MBOX_TYPE_DB
  1739. TEGRA_HSP_DB_MASTER_BPMP>;
  1740. shmem = <&cpu_bpmp_tx>, <&cpu_bpmp_rx>;
  1741. #clock-cells = <1>;
  1742. #reset-cells = <1>;
  1743. #power-domain-cells = <1>;
  1744. bpmp_i2c: i2c {
  1745. compatible = "nvidia,tegra186-bpmp-i2c";
  1746. nvidia,bpmp-bus-id = <5>;
  1747. #address-cells = <1>;
  1748. #size-cells = <0>;
  1749. status = "disabled";
  1750. };
  1751. bpmp_thermal: thermal {
  1752. compatible = "nvidia,tegra186-bpmp-thermal";
  1753. #thermal-sensor-cells = <1>;
  1754. };
  1755. };
  1756. cpus {
  1757. #address-cells = <1>;
  1758. #size-cells = <0>;
  1759. denver_0: cpu@0 {
  1760. compatible = "nvidia,tegra186-denver";
  1761. device_type = "cpu";
  1762. i-cache-size = <0x20000>;
  1763. i-cache-line-size = <64>;
  1764. i-cache-sets = <512>;
  1765. d-cache-size = <0x10000>;
  1766. d-cache-line-size = <64>;
  1767. d-cache-sets = <256>;
  1768. next-level-cache = <&L2_DENVER>;
  1769. reg = <0x000>;
  1770. };
  1771. denver_1: cpu@1 {
  1772. compatible = "nvidia,tegra186-denver";
  1773. device_type = "cpu";
  1774. i-cache-size = <0x20000>;
  1775. i-cache-line-size = <64>;
  1776. i-cache-sets = <512>;
  1777. d-cache-size = <0x10000>;
  1778. d-cache-line-size = <64>;
  1779. d-cache-sets = <256>;
  1780. next-level-cache = <&L2_DENVER>;
  1781. reg = <0x001>;
  1782. };
  1783. ca57_0: cpu@2 {
  1784. compatible = "arm,cortex-a57";
  1785. device_type = "cpu";
  1786. i-cache-size = <0xC000>;
  1787. i-cache-line-size = <64>;
  1788. i-cache-sets = <256>;
  1789. d-cache-size = <0x8000>;
  1790. d-cache-line-size = <64>;
  1791. d-cache-sets = <256>;
  1792. next-level-cache = <&L2_A57>;
  1793. reg = <0x100>;
  1794. };
  1795. ca57_1: cpu@3 {
  1796. compatible = "arm,cortex-a57";
  1797. device_type = "cpu";
  1798. i-cache-size = <0xC000>;
  1799. i-cache-line-size = <64>;
  1800. i-cache-sets = <256>;
  1801. d-cache-size = <0x8000>;
  1802. d-cache-line-size = <64>;
  1803. d-cache-sets = <256>;
  1804. next-level-cache = <&L2_A57>;
  1805. reg = <0x101>;
  1806. };
  1807. ca57_2: cpu@4 {
  1808. compatible = "arm,cortex-a57";
  1809. device_type = "cpu";
  1810. i-cache-size = <0xC000>;
  1811. i-cache-line-size = <64>;
  1812. i-cache-sets = <256>;
  1813. d-cache-size = <0x8000>;
  1814. d-cache-line-size = <64>;
  1815. d-cache-sets = <256>;
  1816. next-level-cache = <&L2_A57>;
  1817. reg = <0x102>;
  1818. };
  1819. ca57_3: cpu@5 {
  1820. compatible = "arm,cortex-a57";
  1821. device_type = "cpu";
  1822. i-cache-size = <0xC000>;
  1823. i-cache-line-size = <64>;
  1824. i-cache-sets = <256>;
  1825. d-cache-size = <0x8000>;
  1826. d-cache-line-size = <64>;
  1827. d-cache-sets = <256>;
  1828. next-level-cache = <&L2_A57>;
  1829. reg = <0x103>;
  1830. };
  1831. L2_DENVER: l2-cache0 {
  1832. compatible = "cache";
  1833. cache-unified;
  1834. cache-level = <2>;
  1835. cache-size = <0x200000>;
  1836. cache-line-size = <64>;
  1837. cache-sets = <2048>;
  1838. };
  1839. L2_A57: l2-cache1 {
  1840. compatible = "cache";
  1841. cache-unified;
  1842. cache-level = <2>;
  1843. cache-size = <0x200000>;
  1844. cache-line-size = <64>;
  1845. cache-sets = <2048>;
  1846. };
  1847. };
  1848. pmu_denver {
  1849. compatible = "nvidia,denver-pmu";
  1850. interrupts = <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
  1851. <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>;
  1852. interrupt-affinity = <&denver_0 &denver_1>;
  1853. };
  1854. pmu_a57 {
  1855. compatible = "arm,cortex-a57-pmu";
  1856. interrupts = <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
  1857. <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
  1858. <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>,
  1859. <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
  1860. interrupt-affinity = <&ca57_0 &ca57_1 &ca57_2 &ca57_3>;
  1861. };
  1862. sound {
  1863. status = "disabled";
  1864. clocks = <&bpmp TEGRA186_CLK_PLLA>,
  1865. <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
  1866. clock-names = "pll_a", "plla_out0";
  1867. assigned-clocks = <&bpmp TEGRA186_CLK_PLLA>,
  1868. <&bpmp TEGRA186_CLK_PLL_A_OUT0>,
  1869. <&bpmp TEGRA186_CLK_AUD_MCLK>;
  1870. assigned-clock-parents = <0>,
  1871. <&bpmp TEGRA186_CLK_PLLA>,
  1872. <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
  1873. /*
  1874. * PLLA supports dynamic ramp. Below initial rate is chosen
  1875. * for this to work and oscillate between base rates required
  1876. * for 8x and 11.025x sample rate streams.
  1877. */
  1878. assigned-clock-rates = <258000000>;
  1879. iommus = <&smmu TEGRA186_SID_APE>;
  1880. };
  1881. thermal-zones {
  1882. /* Cortex-A57 cluster */
  1883. cpu-thermal {
  1884. polling-delay = <0>;
  1885. polling-delay-passive = <1000>;
  1886. thermal-sensors = <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_CPU>;
  1887. trips {
  1888. critical {
  1889. temperature = <101000>;
  1890. hysteresis = <0>;
  1891. type = "critical";
  1892. };
  1893. };
  1894. cooling-maps {
  1895. };
  1896. };
  1897. /* Denver cluster */
  1898. aux-thermal {
  1899. polling-delay = <0>;
  1900. polling-delay-passive = <1000>;
  1901. thermal-sensors = <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_AUX>;
  1902. trips {
  1903. critical {
  1904. temperature = <101000>;
  1905. hysteresis = <0>;
  1906. type = "critical";
  1907. };
  1908. };
  1909. cooling-maps {
  1910. };
  1911. };
  1912. gpu-thermal {
  1913. polling-delay = <0>;
  1914. polling-delay-passive = <1000>;
  1915. thermal-sensors = <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_GPU>;
  1916. trips {
  1917. critical {
  1918. temperature = <101000>;
  1919. hysteresis = <0>;
  1920. type = "critical";
  1921. };
  1922. };
  1923. cooling-maps {
  1924. };
  1925. };
  1926. pll-thermal {
  1927. polling-delay = <0>;
  1928. polling-delay-passive = <1000>;
  1929. thermal-sensors = <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_PLLX>;
  1930. trips {
  1931. critical {
  1932. temperature = <101000>;
  1933. hysteresis = <0>;
  1934. type = "critical";
  1935. };
  1936. };
  1937. cooling-maps {
  1938. };
  1939. };
  1940. ao-thermal {
  1941. polling-delay = <0>;
  1942. polling-delay-passive = <1000>;
  1943. thermal-sensors = <&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_AO>;
  1944. trips {
  1945. critical {
  1946. temperature = <101000>;
  1947. hysteresis = <0>;
  1948. type = "critical";
  1949. };
  1950. };
  1951. cooling-maps {
  1952. };
  1953. };
  1954. };
  1955. timer {
  1956. compatible = "arm,armv8-timer";
  1957. interrupts = <GIC_PPI 13
  1958. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  1959. <GIC_PPI 14
  1960. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  1961. <GIC_PPI 11
  1962. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  1963. <GIC_PPI 10
  1964. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
  1965. interrupt-parent = <&gic>;
  1966. always-on;
  1967. };
  1968. };