sdm845.dtsi 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * SDM845 SoC device tree source
  4. *
  5. * Copyright (c) 2018, The Linux Foundation. All rights reserved.
  6. */
  7. #include <dt-bindings/clock/qcom,gcc-sdm845.h>
  8. #include <dt-bindings/clock/qcom,rpmh.h>
  9. #include <dt-bindings/interrupt-controller/arm-gic.h>
  10. #include <dt-bindings/soc/qcom,rpmh-rsc.h>
  11. / {
  12. interrupt-parent = <&intc>;
  13. #address-cells = <2>;
  14. #size-cells = <2>;
  15. aliases {
  16. i2c0 = &i2c0;
  17. i2c1 = &i2c1;
  18. i2c2 = &i2c2;
  19. i2c3 = &i2c3;
  20. i2c4 = &i2c4;
  21. i2c5 = &i2c5;
  22. i2c6 = &i2c6;
  23. i2c7 = &i2c7;
  24. i2c8 = &i2c8;
  25. i2c9 = &i2c9;
  26. i2c10 = &i2c10;
  27. i2c11 = &i2c11;
  28. i2c12 = &i2c12;
  29. i2c13 = &i2c13;
  30. i2c14 = &i2c14;
  31. i2c15 = &i2c15;
  32. spi0 = &spi0;
  33. spi1 = &spi1;
  34. spi2 = &spi2;
  35. spi3 = &spi3;
  36. spi4 = &spi4;
  37. spi5 = &spi5;
  38. spi6 = &spi6;
  39. spi7 = &spi7;
  40. spi8 = &spi8;
  41. spi9 = &spi9;
  42. spi10 = &spi10;
  43. spi11 = &spi11;
  44. spi12 = &spi12;
  45. spi13 = &spi13;
  46. spi14 = &spi14;
  47. spi15 = &spi15;
  48. };
  49. chosen { };
  50. memory@80000000 {
  51. device_type = "memory";
  52. /* We expect the bootloader to fill in the size */
  53. reg = <0 0x80000000 0 0>;
  54. };
  55. reserved-memory {
  56. #address-cells = <2>;
  57. #size-cells = <2>;
  58. ranges;
  59. memory@85fc0000 {
  60. reg = <0 0x85fc0000 0 0x20000>;
  61. no-map;
  62. };
  63. memory@85fe0000 {
  64. compatible = "qcom,cmd-db";
  65. reg = <0x0 0x85fe0000 0x0 0x20000>;
  66. no-map;
  67. };
  68. smem_mem: memory@86000000 {
  69. reg = <0x0 0x86000000 0x0 0x200000>;
  70. no-map;
  71. };
  72. memory@86200000 {
  73. reg = <0 0x86200000 0 0x2d00000>;
  74. no-map;
  75. };
  76. };
  77. cpus {
  78. #address-cells = <2>;
  79. #size-cells = <0>;
  80. CPU0: cpu@0 {
  81. device_type = "cpu";
  82. compatible = "qcom,kryo385";
  83. reg = <0x0 0x0>;
  84. enable-method = "psci";
  85. next-level-cache = <&L2_0>;
  86. L2_0: l2-cache {
  87. compatible = "cache";
  88. next-level-cache = <&L3_0>;
  89. L3_0: l3-cache {
  90. compatible = "cache";
  91. };
  92. };
  93. };
  94. CPU1: cpu@100 {
  95. device_type = "cpu";
  96. compatible = "qcom,kryo385";
  97. reg = <0x0 0x100>;
  98. enable-method = "psci";
  99. next-level-cache = <&L2_100>;
  100. L2_100: l2-cache {
  101. compatible = "cache";
  102. next-level-cache = <&L3_0>;
  103. };
  104. };
  105. CPU2: cpu@200 {
  106. device_type = "cpu";
  107. compatible = "qcom,kryo385";
  108. reg = <0x0 0x200>;
  109. enable-method = "psci";
  110. next-level-cache = <&L2_200>;
  111. L2_200: l2-cache {
  112. compatible = "cache";
  113. next-level-cache = <&L3_0>;
  114. };
  115. };
  116. CPU3: cpu@300 {
  117. device_type = "cpu";
  118. compatible = "qcom,kryo385";
  119. reg = <0x0 0x300>;
  120. enable-method = "psci";
  121. next-level-cache = <&L2_300>;
  122. L2_300: l2-cache {
  123. compatible = "cache";
  124. next-level-cache = <&L3_0>;
  125. };
  126. };
  127. CPU4: cpu@400 {
  128. device_type = "cpu";
  129. compatible = "qcom,kryo385";
  130. reg = <0x0 0x400>;
  131. enable-method = "psci";
  132. next-level-cache = <&L2_400>;
  133. L2_400: l2-cache {
  134. compatible = "cache";
  135. next-level-cache = <&L3_0>;
  136. };
  137. };
  138. CPU5: cpu@500 {
  139. device_type = "cpu";
  140. compatible = "qcom,kryo385";
  141. reg = <0x0 0x500>;
  142. enable-method = "psci";
  143. next-level-cache = <&L2_500>;
  144. L2_500: l2-cache {
  145. compatible = "cache";
  146. next-level-cache = <&L3_0>;
  147. };
  148. };
  149. CPU6: cpu@600 {
  150. device_type = "cpu";
  151. compatible = "qcom,kryo385";
  152. reg = <0x0 0x600>;
  153. enable-method = "psci";
  154. next-level-cache = <&L2_600>;
  155. L2_600: l2-cache {
  156. compatible = "cache";
  157. next-level-cache = <&L3_0>;
  158. };
  159. };
  160. CPU7: cpu@700 {
  161. device_type = "cpu";
  162. compatible = "qcom,kryo385";
  163. reg = <0x0 0x700>;
  164. enable-method = "psci";
  165. next-level-cache = <&L2_700>;
  166. L2_700: l2-cache {
  167. compatible = "cache";
  168. next-level-cache = <&L3_0>;
  169. };
  170. };
  171. };
  172. pmu {
  173. compatible = "arm,armv8-pmuv3";
  174. interrupts = <GIC_PPI 5 IRQ_TYPE_LEVEL_HIGH>;
  175. };
  176. timer {
  177. compatible = "arm,armv8-timer";
  178. interrupts = <GIC_PPI 1 IRQ_TYPE_LEVEL_LOW>,
  179. <GIC_PPI 2 IRQ_TYPE_LEVEL_LOW>,
  180. <GIC_PPI 3 IRQ_TYPE_LEVEL_LOW>,
  181. <GIC_PPI 0 IRQ_TYPE_LEVEL_LOW>;
  182. };
  183. clocks {
  184. xo_board: xo-board {
  185. compatible = "fixed-clock";
  186. #clock-cells = <0>;
  187. clock-frequency = <38400000>;
  188. clock-output-names = "xo_board";
  189. };
  190. sleep_clk: sleep-clk {
  191. compatible = "fixed-clock";
  192. #clock-cells = <0>;
  193. clock-frequency = <32764>;
  194. };
  195. };
  196. tcsr_mutex: hwlock {
  197. compatible = "qcom,tcsr-mutex";
  198. syscon = <&tcsr_mutex_regs 0 0x1000>;
  199. #hwlock-cells = <1>;
  200. };
  201. smem {
  202. compatible = "qcom,smem";
  203. memory-region = <&smem_mem>;
  204. hwlocks = <&tcsr_mutex 3>;
  205. };
  206. psci {
  207. compatible = "arm,psci-1.0";
  208. method = "smc";
  209. };
  210. soc: soc {
  211. #address-cells = <1>;
  212. #size-cells = <1>;
  213. ranges = <0 0 0 0xffffffff>;
  214. compatible = "simple-bus";
  215. gcc: clock-controller@100000 {
  216. compatible = "qcom,gcc-sdm845";
  217. reg = <0x100000 0x1f0000>;
  218. #clock-cells = <1>;
  219. #reset-cells = <1>;
  220. #power-domain-cells = <1>;
  221. };
  222. qupv3_id_0: geniqup@8c0000 {
  223. compatible = "qcom,geni-se-qup";
  224. reg = <0x8c0000 0x6000>;
  225. clock-names = "m-ahb", "s-ahb";
  226. clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
  227. <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
  228. #address-cells = <1>;
  229. #size-cells = <1>;
  230. ranges;
  231. status = "disabled";
  232. i2c0: i2c@880000 {
  233. compatible = "qcom,geni-i2c";
  234. reg = <0x880000 0x4000>;
  235. clock-names = "se";
  236. clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
  237. pinctrl-names = "default";
  238. pinctrl-0 = <&qup_i2c0_default>;
  239. interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
  240. #address-cells = <1>;
  241. #size-cells = <0>;
  242. status = "disabled";
  243. };
  244. spi0: spi@880000 {
  245. compatible = "qcom,geni-spi";
  246. reg = <0x880000 0x4000>;
  247. clock-names = "se";
  248. clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
  249. pinctrl-names = "default";
  250. pinctrl-0 = <&qup_spi0_default>;
  251. interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
  252. #address-cells = <1>;
  253. #size-cells = <0>;
  254. status = "disabled";
  255. };
  256. i2c1: i2c@884000 {
  257. compatible = "qcom,geni-i2c";
  258. reg = <0x884000 0x4000>;
  259. clock-names = "se";
  260. clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
  261. pinctrl-names = "default";
  262. pinctrl-0 = <&qup_i2c1_default>;
  263. interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
  264. #address-cells = <1>;
  265. #size-cells = <0>;
  266. status = "disabled";
  267. };
  268. spi1: spi@884000 {
  269. compatible = "qcom,geni-spi";
  270. reg = <0x884000 0x4000>;
  271. clock-names = "se";
  272. clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
  273. pinctrl-names = "default";
  274. pinctrl-0 = <&qup_spi1_default>;
  275. interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
  276. #address-cells = <1>;
  277. #size-cells = <0>;
  278. status = "disabled";
  279. };
  280. i2c2: i2c@888000 {
  281. compatible = "qcom,geni-i2c";
  282. reg = <0x888000 0x4000>;
  283. clock-names = "se";
  284. clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
  285. pinctrl-names = "default";
  286. pinctrl-0 = <&qup_i2c2_default>;
  287. interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
  288. #address-cells = <1>;
  289. #size-cells = <0>;
  290. status = "disabled";
  291. };
  292. spi2: spi@888000 {
  293. compatible = "qcom,geni-spi";
  294. reg = <0x888000 0x4000>;
  295. clock-names = "se";
  296. clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
  297. pinctrl-names = "default";
  298. pinctrl-0 = <&qup_spi2_default>;
  299. interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
  300. #address-cells = <1>;
  301. #size-cells = <0>;
  302. status = "disabled";
  303. };
  304. i2c3: i2c@88c000 {
  305. compatible = "qcom,geni-i2c";
  306. reg = <0x88c000 0x4000>;
  307. clock-names = "se";
  308. clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
  309. pinctrl-names = "default";
  310. pinctrl-0 = <&qup_i2c3_default>;
  311. interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
  312. #address-cells = <1>;
  313. #size-cells = <0>;
  314. status = "disabled";
  315. };
  316. spi3: spi@88c000 {
  317. compatible = "qcom,geni-spi";
  318. reg = <0x88c000 0x4000>;
  319. clock-names = "se";
  320. clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
  321. pinctrl-names = "default";
  322. pinctrl-0 = <&qup_spi3_default>;
  323. interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
  324. #address-cells = <1>;
  325. #size-cells = <0>;
  326. status = "disabled";
  327. };
  328. i2c4: i2c@890000 {
  329. compatible = "qcom,geni-i2c";
  330. reg = <0x890000 0x4000>;
  331. clock-names = "se";
  332. clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
  333. pinctrl-names = "default";
  334. pinctrl-0 = <&qup_i2c4_default>;
  335. interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
  336. #address-cells = <1>;
  337. #size-cells = <0>;
  338. status = "disabled";
  339. };
  340. spi4: spi@890000 {
  341. compatible = "qcom,geni-spi";
  342. reg = <0x890000 0x4000>;
  343. clock-names = "se";
  344. clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
  345. pinctrl-names = "default";
  346. pinctrl-0 = <&qup_spi4_default>;
  347. interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
  348. #address-cells = <1>;
  349. #size-cells = <0>;
  350. status = "disabled";
  351. };
  352. i2c5: i2c@894000 {
  353. compatible = "qcom,geni-i2c";
  354. reg = <0x894000 0x4000>;
  355. clock-names = "se";
  356. clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
  357. pinctrl-names = "default";
  358. pinctrl-0 = <&qup_i2c5_default>;
  359. interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
  360. #address-cells = <1>;
  361. #size-cells = <0>;
  362. status = "disabled";
  363. };
  364. spi5: spi@894000 {
  365. compatible = "qcom,geni-spi";
  366. reg = <0x894000 0x4000>;
  367. clock-names = "se";
  368. clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
  369. pinctrl-names = "default";
  370. pinctrl-0 = <&qup_spi5_default>;
  371. interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
  372. #address-cells = <1>;
  373. #size-cells = <0>;
  374. status = "disabled";
  375. };
  376. i2c6: i2c@898000 {
  377. compatible = "qcom,geni-i2c";
  378. reg = <0x898000 0x4000>;
  379. clock-names = "se";
  380. clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
  381. pinctrl-names = "default";
  382. pinctrl-0 = <&qup_i2c6_default>;
  383. interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
  384. #address-cells = <1>;
  385. #size-cells = <0>;
  386. status = "disabled";
  387. };
  388. spi6: spi@898000 {
  389. compatible = "qcom,geni-spi";
  390. reg = <0x898000 0x4000>;
  391. clock-names = "se";
  392. clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
  393. pinctrl-names = "default";
  394. pinctrl-0 = <&qup_spi6_default>;
  395. interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
  396. #address-cells = <1>;
  397. #size-cells = <0>;
  398. status = "disabled";
  399. };
  400. i2c7: i2c@89c000 {
  401. compatible = "qcom,geni-i2c";
  402. reg = <0x89c000 0x4000>;
  403. clock-names = "se";
  404. clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
  405. pinctrl-names = "default";
  406. pinctrl-0 = <&qup_i2c7_default>;
  407. interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
  408. #address-cells = <1>;
  409. #size-cells = <0>;
  410. status = "disabled";
  411. };
  412. spi7: spi@89c000 {
  413. compatible = "qcom,geni-spi";
  414. reg = <0x89c000 0x4000>;
  415. clock-names = "se";
  416. clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
  417. pinctrl-names = "default";
  418. pinctrl-0 = <&qup_spi7_default>;
  419. interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
  420. #address-cells = <1>;
  421. #size-cells = <0>;
  422. status = "disabled";
  423. };
  424. };
  425. qupv3_id_1: geniqup@ac0000 {
  426. compatible = "qcom,geni-se-qup";
  427. reg = <0xac0000 0x6000>;
  428. clock-names = "m-ahb", "s-ahb";
  429. clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
  430. <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
  431. #address-cells = <1>;
  432. #size-cells = <1>;
  433. ranges;
  434. status = "disabled";
  435. i2c8: i2c@a80000 {
  436. compatible = "qcom,geni-i2c";
  437. reg = <0xa80000 0x4000>;
  438. clock-names = "se";
  439. clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
  440. pinctrl-names = "default";
  441. pinctrl-0 = <&qup_i2c8_default>;
  442. interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
  443. #address-cells = <1>;
  444. #size-cells = <0>;
  445. status = "disabled";
  446. };
  447. spi8: spi@a80000 {
  448. compatible = "qcom,geni-spi";
  449. reg = <0xa80000 0x4000>;
  450. clock-names = "se";
  451. clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
  452. pinctrl-names = "default";
  453. pinctrl-0 = <&qup_spi8_default>;
  454. interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
  455. #address-cells = <1>;
  456. #size-cells = <0>;
  457. status = "disabled";
  458. };
  459. i2c9: i2c@a84000 {
  460. compatible = "qcom,geni-i2c";
  461. reg = <0xa84000 0x4000>;
  462. clock-names = "se";
  463. clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
  464. pinctrl-names = "default";
  465. pinctrl-0 = <&qup_i2c9_default>;
  466. interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
  467. #address-cells = <1>;
  468. #size-cells = <0>;
  469. status = "disabled";
  470. };
  471. spi9: spi@a84000 {
  472. compatible = "qcom,geni-spi";
  473. reg = <0xa84000 0x4000>;
  474. clock-names = "se";
  475. clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
  476. pinctrl-names = "default";
  477. pinctrl-0 = <&qup_spi9_default>;
  478. interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
  479. #address-cells = <1>;
  480. #size-cells = <0>;
  481. status = "disabled";
  482. };
  483. uart9: serial@a84000 {
  484. compatible = "qcom,geni-debug-uart";
  485. reg = <0xa84000 0x4000>;
  486. clock-names = "se";
  487. clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
  488. pinctrl-names = "default";
  489. pinctrl-0 = <&qup_uart9_default>;
  490. interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
  491. status = "disabled";
  492. };
  493. i2c10: i2c@a88000 {
  494. compatible = "qcom,geni-i2c";
  495. reg = <0xa88000 0x4000>;
  496. clock-names = "se";
  497. clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
  498. pinctrl-names = "default";
  499. pinctrl-0 = <&qup_i2c10_default>;
  500. interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
  501. #address-cells = <1>;
  502. #size-cells = <0>;
  503. status = "disabled";
  504. };
  505. spi10: spi@a88000 {
  506. compatible = "qcom,geni-spi";
  507. reg = <0xa88000 0x4000>;
  508. clock-names = "se";
  509. clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
  510. pinctrl-names = "default";
  511. pinctrl-0 = <&qup_spi10_default>;
  512. interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
  513. #address-cells = <1>;
  514. #size-cells = <0>;
  515. status = "disabled";
  516. };
  517. i2c11: i2c@a8c000 {
  518. compatible = "qcom,geni-i2c";
  519. reg = <0xa8c000 0x4000>;
  520. clock-names = "se";
  521. clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
  522. pinctrl-names = "default";
  523. pinctrl-0 = <&qup_i2c11_default>;
  524. interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
  525. #address-cells = <1>;
  526. #size-cells = <0>;
  527. status = "disabled";
  528. };
  529. spi11: spi@a8c000 {
  530. compatible = "qcom,geni-spi";
  531. reg = <0xa8c000 0x4000>;
  532. clock-names = "se";
  533. clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
  534. pinctrl-names = "default";
  535. pinctrl-0 = <&qup_spi11_default>;
  536. interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
  537. #address-cells = <1>;
  538. #size-cells = <0>;
  539. status = "disabled";
  540. };
  541. i2c12: i2c@a90000 {
  542. compatible = "qcom,geni-i2c";
  543. reg = <0xa90000 0x4000>;
  544. clock-names = "se";
  545. clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
  546. pinctrl-names = "default";
  547. pinctrl-0 = <&qup_i2c12_default>;
  548. interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
  549. #address-cells = <1>;
  550. #size-cells = <0>;
  551. status = "disabled";
  552. };
  553. spi12: spi@a90000 {
  554. compatible = "qcom,geni-spi";
  555. reg = <0xa90000 0x4000>;
  556. clock-names = "se";
  557. clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
  558. pinctrl-names = "default";
  559. pinctrl-0 = <&qup_spi12_default>;
  560. interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
  561. #address-cells = <1>;
  562. #size-cells = <0>;
  563. status = "disabled";
  564. };
  565. i2c13: i2c@a94000 {
  566. compatible = "qcom,geni-i2c";
  567. reg = <0xa94000 0x4000>;
  568. clock-names = "se";
  569. clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
  570. pinctrl-names = "default";
  571. pinctrl-0 = <&qup_i2c13_default>;
  572. interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
  573. #address-cells = <1>;
  574. #size-cells = <0>;
  575. status = "disabled";
  576. };
  577. spi13: spi@a94000 {
  578. compatible = "qcom,geni-spi";
  579. reg = <0xa94000 0x4000>;
  580. clock-names = "se";
  581. clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
  582. pinctrl-names = "default";
  583. pinctrl-0 = <&qup_spi13_default>;
  584. interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
  585. #address-cells = <1>;
  586. #size-cells = <0>;
  587. status = "disabled";
  588. };
  589. i2c14: i2c@a98000 {
  590. compatible = "qcom,geni-i2c";
  591. reg = <0xa98000 0x4000>;
  592. clock-names = "se";
  593. clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>;
  594. pinctrl-names = "default";
  595. pinctrl-0 = <&qup_i2c14_default>;
  596. interrupts = <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>;
  597. #address-cells = <1>;
  598. #size-cells = <0>;
  599. status = "disabled";
  600. };
  601. spi14: spi@a98000 {
  602. compatible = "qcom,geni-spi";
  603. reg = <0xa98000 0x4000>;
  604. clock-names = "se";
  605. clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>;
  606. pinctrl-names = "default";
  607. pinctrl-0 = <&qup_spi14_default>;
  608. interrupts = <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>;
  609. #address-cells = <1>;
  610. #size-cells = <0>;
  611. status = "disabled";
  612. };
  613. i2c15: i2c@a9c000 {
  614. compatible = "qcom,geni-i2c";
  615. reg = <0xa9c000 0x4000>;
  616. clock-names = "se";
  617. clocks = <&gcc GCC_QUPV3_WRAP1_S7_CLK>;
  618. pinctrl-names = "default";
  619. pinctrl-0 = <&qup_i2c15_default>;
  620. interrupts = <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
  621. #address-cells = <1>;
  622. #size-cells = <0>;
  623. status = "disabled";
  624. };
  625. spi15: spi@a9c000 {
  626. compatible = "qcom,geni-spi";
  627. reg = <0xa9c000 0x4000>;
  628. clock-names = "se";
  629. clocks = <&gcc GCC_QUPV3_WRAP1_S7_CLK>;
  630. pinctrl-names = "default";
  631. pinctrl-0 = <&qup_spi15_default>;
  632. interrupts = <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
  633. #address-cells = <1>;
  634. #size-cells = <0>;
  635. status = "disabled";
  636. };
  637. };
  638. tcsr_mutex_regs: syscon@1f40000 {
  639. compatible = "syscon";
  640. reg = <0x1f40000 0x40000>;
  641. };
  642. tlmm: pinctrl@3400000 {
  643. compatible = "qcom,sdm845-pinctrl";
  644. reg = <0x03400000 0xc00000>;
  645. interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
  646. gpio-controller;
  647. #gpio-cells = <2>;
  648. interrupt-controller;
  649. #interrupt-cells = <2>;
  650. qup_i2c0_default: qup-i2c0-default {
  651. pinmux {
  652. pins = "gpio0", "gpio1";
  653. function = "qup0";
  654. };
  655. };
  656. qup_i2c1_default: qup-i2c1-default {
  657. pinmux {
  658. pins = "gpio17", "gpio18";
  659. function = "qup1";
  660. };
  661. };
  662. qup_i2c2_default: qup-i2c2-default {
  663. pinmux {
  664. pins = "gpio27", "gpio28";
  665. function = "qup2";
  666. };
  667. };
  668. qup_i2c3_default: qup-i2c3-default {
  669. pinmux {
  670. pins = "gpio41", "gpio42";
  671. function = "qup3";
  672. };
  673. };
  674. qup_i2c4_default: qup-i2c4-default {
  675. pinmux {
  676. pins = "gpio89", "gpio90";
  677. function = "qup4";
  678. };
  679. };
  680. qup_i2c5_default: qup-i2c5-default {
  681. pinmux {
  682. pins = "gpio85", "gpio86";
  683. function = "qup5";
  684. };
  685. };
  686. qup_i2c6_default: qup-i2c6-default {
  687. pinmux {
  688. pins = "gpio45", "gpio46";
  689. function = "qup6";
  690. };
  691. };
  692. qup_i2c7_default: qup-i2c7-default {
  693. pinmux {
  694. pins = "gpio93", "gpio94";
  695. function = "qup7";
  696. };
  697. };
  698. qup_i2c8_default: qup-i2c8-default {
  699. pinmux {
  700. pins = "gpio65", "gpio66";
  701. function = "qup8";
  702. };
  703. };
  704. qup_i2c9_default: qup-i2c9-default {
  705. pinmux {
  706. pins = "gpio6", "gpio7";
  707. function = "qup9";
  708. };
  709. };
  710. qup_i2c10_default: qup-i2c10-default {
  711. pinmux {
  712. pins = "gpio55", "gpio56";
  713. function = "qup10";
  714. };
  715. };
  716. qup_i2c11_default: qup-i2c11-default {
  717. pinmux {
  718. pins = "gpio31", "gpio32";
  719. function = "qup11";
  720. };
  721. };
  722. qup_i2c12_default: qup-i2c12-default {
  723. pinmux {
  724. pins = "gpio49", "gpio50";
  725. function = "qup12";
  726. };
  727. };
  728. qup_i2c13_default: qup-i2c13-default {
  729. pinmux {
  730. pins = "gpio105", "gpio106";
  731. function = "qup13";
  732. };
  733. };
  734. qup_i2c14_default: qup-i2c14-default {
  735. pinmux {
  736. pins = "gpio33", "gpio34";
  737. function = "qup14";
  738. };
  739. };
  740. qup_i2c15_default: qup-i2c15-default {
  741. pinmux {
  742. pins = "gpio81", "gpio82";
  743. function = "qup15";
  744. };
  745. };
  746. qup_spi0_default: qup-spi0-default {
  747. pinmux {
  748. pins = "gpio0", "gpio1",
  749. "gpio2", "gpio3";
  750. function = "qup0";
  751. };
  752. };
  753. qup_spi1_default: qup-spi1-default {
  754. pinmux {
  755. pins = "gpio17", "gpio18",
  756. "gpio19", "gpio20";
  757. function = "qup1";
  758. };
  759. };
  760. qup_spi2_default: qup-spi2-default {
  761. pinmux {
  762. pins = "gpio27", "gpio28",
  763. "gpio29", "gpio30";
  764. function = "qup2";
  765. };
  766. };
  767. qup_spi3_default: qup-spi3-default {
  768. pinmux {
  769. pins = "gpio41", "gpio42",
  770. "gpio43", "gpio44";
  771. function = "qup3";
  772. };
  773. };
  774. qup_spi4_default: qup-spi4-default {
  775. pinmux {
  776. pins = "gpio89", "gpio90",
  777. "gpio91", "gpio92";
  778. function = "qup4";
  779. };
  780. };
  781. qup_spi5_default: qup-spi5-default {
  782. pinmux {
  783. pins = "gpio85", "gpio86",
  784. "gpio87", "gpio88";
  785. function = "qup5";
  786. };
  787. };
  788. qup_spi6_default: qup-spi6-default {
  789. pinmux {
  790. pins = "gpio45", "gpio46",
  791. "gpio47", "gpio48";
  792. function = "qup6";
  793. };
  794. };
  795. qup_spi7_default: qup-spi7-default {
  796. pinmux {
  797. pins = "gpio93", "gpio94",
  798. "gpio95", "gpio96";
  799. function = "qup7";
  800. };
  801. };
  802. qup_spi8_default: qup-spi8-default {
  803. pinmux {
  804. pins = "gpio65", "gpio66",
  805. "gpio67", "gpio68";
  806. function = "qup8";
  807. };
  808. };
  809. qup_spi9_default: qup-spi9-default {
  810. pinmux {
  811. pins = "gpio6", "gpio7",
  812. "gpio4", "gpio5";
  813. function = "qup9";
  814. };
  815. };
  816. qup_spi10_default: qup-spi10-default {
  817. pinmux {
  818. pins = "gpio55", "gpio56",
  819. "gpio53", "gpio54";
  820. function = "qup10";
  821. };
  822. };
  823. qup_spi11_default: qup-spi11-default {
  824. pinmux {
  825. pins = "gpio31", "gpio32",
  826. "gpio33", "gpio34";
  827. function = "qup11";
  828. };
  829. };
  830. qup_spi12_default: qup-spi12-default {
  831. pinmux {
  832. pins = "gpio49", "gpio50",
  833. "gpio51", "gpio52";
  834. function = "qup12";
  835. };
  836. };
  837. qup_spi13_default: qup-spi13-default {
  838. pinmux {
  839. pins = "gpio105", "gpio106",
  840. "gpio107", "gpio108";
  841. function = "qup13";
  842. };
  843. };
  844. qup_spi14_default: qup-spi14-default {
  845. pinmux {
  846. pins = "gpio33", "gpio34",
  847. "gpio31", "gpio32";
  848. function = "qup14";
  849. };
  850. };
  851. qup_spi15_default: qup-spi15-default {
  852. pinmux {
  853. pins = "gpio81", "gpio82",
  854. "gpio83", "gpio84";
  855. function = "qup15";
  856. };
  857. };
  858. qup_uart9_default: qup-uart9-default {
  859. pinmux {
  860. pins = "gpio4", "gpio5";
  861. function = "qup9";
  862. };
  863. };
  864. };
  865. tsens0: thermal-sensor@c263000 {
  866. compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
  867. reg = <0xc263000 0x1ff>, /* TM */
  868. <0xc222000 0x1ff>; /* SROT */
  869. #qcom,sensors = <13>;
  870. #thermal-sensor-cells = <1>;
  871. };
  872. tsens1: thermal-sensor@c265000 {
  873. compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
  874. reg = <0xc265000 0x1ff>, /* TM */
  875. <0xc223000 0x1ff>; /* SROT */
  876. #qcom,sensors = <8>;
  877. #thermal-sensor-cells = <1>;
  878. };
  879. spmi_bus: spmi@c440000 {
  880. compatible = "qcom,spmi-pmic-arb";
  881. reg = <0xc440000 0x1100>,
  882. <0xc600000 0x2000000>,
  883. <0xe600000 0x100000>,
  884. <0xe700000 0xa0000>,
  885. <0xc40a000 0x26000>;
  886. reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
  887. interrupt-names = "periph_irq";
  888. interrupts = <GIC_SPI 481 IRQ_TYPE_LEVEL_HIGH>;
  889. qcom,ee = <0>;
  890. qcom,channel = <0>;
  891. #address-cells = <2>;
  892. #size-cells = <0>;
  893. interrupt-controller;
  894. #interrupt-cells = <4>;
  895. cell-index = <0>;
  896. };
  897. apss_shared: mailbox@17990000 {
  898. compatible = "qcom,sdm845-apss-shared";
  899. reg = <0x17990000 0x1000>;
  900. #mbox-cells = <1>;
  901. };
  902. apps_rsc: rsc@179c0000 {
  903. label = "apps_rsc";
  904. compatible = "qcom,rpmh-rsc";
  905. reg = <0x179c0000 0x10000>,
  906. <0x179d0000 0x10000>,
  907. <0x179e0000 0x10000>;
  908. reg-names = "drv-0", "drv-1", "drv-2";
  909. interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
  910. <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
  911. <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
  912. qcom,tcs-offset = <0xd00>;
  913. qcom,drv-id = <2>;
  914. qcom,tcs-config = <ACTIVE_TCS 2>,
  915. <SLEEP_TCS 3>,
  916. <WAKE_TCS 3>,
  917. <CONTROL_TCS 1>;
  918. rpmhcc: clock-controller {
  919. compatible = "qcom,sdm845-rpmh-clk";
  920. #clock-cells = <1>;
  921. };
  922. };
  923. intc: interrupt-controller@17a00000 {
  924. compatible = "arm,gic-v3";
  925. #address-cells = <1>;
  926. #size-cells = <1>;
  927. ranges;
  928. #interrupt-cells = <3>;
  929. interrupt-controller;
  930. reg = <0x17a00000 0x10000>, /* GICD */
  931. <0x17a60000 0x100000>; /* GICR * 8 */
  932. interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
  933. gic-its@17a40000 {
  934. compatible = "arm,gic-v3-its";
  935. msi-controller;
  936. #msi-cells = <1>;
  937. reg = <0x17a40000 0x20000>;
  938. status = "disabled";
  939. };
  940. };
  941. timer@17c90000 {
  942. #address-cells = <1>;
  943. #size-cells = <1>;
  944. ranges;
  945. compatible = "arm,armv7-timer-mem";
  946. reg = <0x17c90000 0x1000>;
  947. frame@17ca0000 {
  948. frame-number = <0>;
  949. interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
  950. <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
  951. reg = <0x17ca0000 0x1000>,
  952. <0x17cb0000 0x1000>;
  953. };
  954. frame@17cc0000 {
  955. frame-number = <1>;
  956. interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
  957. reg = <0x17cc0000 0x1000>;
  958. status = "disabled";
  959. };
  960. frame@17cd0000 {
  961. frame-number = <2>;
  962. interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
  963. reg = <0x17cd0000 0x1000>;
  964. status = "disabled";
  965. };
  966. frame@17ce0000 {
  967. frame-number = <3>;
  968. interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
  969. reg = <0x17ce0000 0x1000>;
  970. status = "disabled";
  971. };
  972. frame@17cf0000 {
  973. frame-number = <4>;
  974. interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
  975. reg = <0x17cf0000 0x1000>;
  976. status = "disabled";
  977. };
  978. frame@17d00000 {
  979. frame-number = <5>;
  980. interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
  981. reg = <0x17d00000 0x1000>;
  982. status = "disabled";
  983. };
  984. frame@17d10000 {
  985. frame-number = <6>;
  986. interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
  987. reg = <0x17d10000 0x1000>;
  988. status = "disabled";
  989. };
  990. };
  991. };
  992. };