msm8996.dtsi 28 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225
  1. /* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
  2. *
  3. * This program is free software; you can redistribute it and/or modify
  4. * it under the terms of the GNU General Public License version 2 and
  5. * only version 2 as published by the Free Software Foundation.
  6. *
  7. * This program is distributed in the hope that it will be useful,
  8. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. * GNU General Public License for more details.
  11. */
  12. #include <dt-bindings/interrupt-controller/arm-gic.h>
  13. #include <dt-bindings/clock/qcom,gcc-msm8996.h>
  14. #include <dt-bindings/clock/qcom,mmcc-msm8996.h>
  15. #include <dt-bindings/clock/qcom,rpmcc.h>
  16. / {
  17. model = "Qualcomm Technologies, Inc. MSM8996";
  18. interrupt-parent = <&intc>;
  19. #address-cells = <2>;
  20. #size-cells = <2>;
  21. chosen { };
  22. memory {
  23. device_type = "memory";
  24. /* We expect the bootloader to fill in the reg */
  25. reg = <0 0 0 0>;
  26. };
  27. reserved-memory {
  28. #address-cells = <2>;
  29. #size-cells = <2>;
  30. ranges;
  31. mba_region: mba@91500000 {
  32. reg = <0x0 0x91500000 0x0 0x200000>;
  33. no-map;
  34. };
  35. slpi_region: slpi@90b00000 {
  36. reg = <0x0 0x90b00000 0x0 0xa00000>;
  37. no-map;
  38. };
  39. venus_region: venus@90400000 {
  40. reg = <0x0 0x90400000 0x0 0x700000>;
  41. no-map;
  42. };
  43. adsp_region: adsp@8ea00000 {
  44. reg = <0x0 0x8ea00000 0x0 0x1a00000>;
  45. no-map;
  46. };
  47. mpss_region: mpss@88800000 {
  48. reg = <0x0 0x88800000 0x0 0x6200000>;
  49. no-map;
  50. };
  51. smem_mem: smem-mem@86000000 {
  52. reg = <0x0 0x86000000 0x0 0x200000>;
  53. no-map;
  54. };
  55. memory@85800000 {
  56. reg = <0x0 0x85800000 0x0 0x800000>;
  57. no-map;
  58. };
  59. memory@86200000 {
  60. reg = <0x0 0x86200000 0x0 0x2600000>;
  61. no-map;
  62. };
  63. rmtfs@86700000 {
  64. compatible = "qcom,rmtfs-mem";
  65. size = <0x0 0x200000>;
  66. alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
  67. no-map;
  68. qcom,client-id = <1>;
  69. qcom,vmid = <15>;
  70. };
  71. };
  72. cpus {
  73. #address-cells = <2>;
  74. #size-cells = <0>;
  75. CPU0: cpu@0 {
  76. device_type = "cpu";
  77. compatible = "qcom,kryo";
  78. reg = <0x0 0x0>;
  79. enable-method = "psci";
  80. next-level-cache = <&L2_0>;
  81. L2_0: l2-cache {
  82. compatible = "cache";
  83. cache-level = <2>;
  84. };
  85. };
  86. CPU1: cpu@1 {
  87. device_type = "cpu";
  88. compatible = "qcom,kryo";
  89. reg = <0x0 0x1>;
  90. enable-method = "psci";
  91. next-level-cache = <&L2_0>;
  92. };
  93. CPU2: cpu@100 {
  94. device_type = "cpu";
  95. compatible = "qcom,kryo";
  96. reg = <0x0 0x100>;
  97. enable-method = "psci";
  98. next-level-cache = <&L2_1>;
  99. L2_1: l2-cache {
  100. compatible = "cache";
  101. cache-level = <2>;
  102. };
  103. };
  104. CPU3: cpu@101 {
  105. device_type = "cpu";
  106. compatible = "qcom,kryo";
  107. reg = <0x0 0x101>;
  108. enable-method = "psci";
  109. next-level-cache = <&L2_1>;
  110. };
  111. cpu-map {
  112. cluster0 {
  113. core0 {
  114. cpu = <&CPU0>;
  115. };
  116. core1 {
  117. cpu = <&CPU1>;
  118. };
  119. };
  120. cluster1 {
  121. core0 {
  122. cpu = <&CPU2>;
  123. };
  124. core1 {
  125. cpu = <&CPU3>;
  126. };
  127. };
  128. };
  129. };
  130. thermal-zones {
  131. cpu-thermal0 {
  132. polling-delay-passive = <250>;
  133. polling-delay = <1000>;
  134. thermal-sensors = <&tsens0 3>;
  135. trips {
  136. cpu_alert0: trip0 {
  137. temperature = <75000>;
  138. hysteresis = <2000>;
  139. type = "passive";
  140. };
  141. cpu_crit0: trip1 {
  142. temperature = <110000>;
  143. hysteresis = <2000>;
  144. type = "critical";
  145. };
  146. };
  147. };
  148. cpu-thermal1 {
  149. polling-delay-passive = <250>;
  150. polling-delay = <1000>;
  151. thermal-sensors = <&tsens0 5>;
  152. trips {
  153. cpu_alert1: trip0 {
  154. temperature = <75000>;
  155. hysteresis = <2000>;
  156. type = "passive";
  157. };
  158. cpu_crit1: trip1 {
  159. temperature = <110000>;
  160. hysteresis = <2000>;
  161. type = "critical";
  162. };
  163. };
  164. };
  165. cpu-thermal2 {
  166. polling-delay-passive = <250>;
  167. polling-delay = <1000>;
  168. thermal-sensors = <&tsens0 8>;
  169. trips {
  170. cpu_alert2: trip0 {
  171. temperature = <75000>;
  172. hysteresis = <2000>;
  173. type = "passive";
  174. };
  175. cpu_crit2: trip1 {
  176. temperature = <110000>;
  177. hysteresis = <2000>;
  178. type = "critical";
  179. };
  180. };
  181. };
  182. cpu-thermal3 {
  183. polling-delay-passive = <250>;
  184. polling-delay = <1000>;
  185. thermal-sensors = <&tsens0 10>;
  186. trips {
  187. cpu_alert3: trip0 {
  188. temperature = <75000>;
  189. hysteresis = <2000>;
  190. type = "passive";
  191. };
  192. cpu_crit3: trip1 {
  193. temperature = <110000>;
  194. hysteresis = <2000>;
  195. type = "critical";
  196. };
  197. };
  198. };
  199. };
  200. timer {
  201. compatible = "arm,armv8-timer";
  202. interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
  203. <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
  204. <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
  205. <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
  206. };
  207. clocks {
  208. xo_board: xo_board {
  209. compatible = "fixed-clock";
  210. #clock-cells = <0>;
  211. clock-frequency = <19200000>;
  212. clock-output-names = "xo_board";
  213. };
  214. sleep_clk: sleep_clk {
  215. compatible = "fixed-clock";
  216. #clock-cells = <0>;
  217. clock-frequency = <32764>;
  218. clock-output-names = "sleep_clk";
  219. };
  220. };
  221. psci {
  222. compatible = "arm,psci-1.0";
  223. method = "smc";
  224. };
  225. firmware {
  226. scm {
  227. compatible = "qcom,scm-msm8996";
  228. qcom,dload-mode = <&tcsr 0x13000>;
  229. };
  230. };
  231. tcsr_mutex: hwlock {
  232. compatible = "qcom,tcsr-mutex";
  233. syscon = <&tcsr_mutex_regs 0 0x1000>;
  234. #hwlock-cells = <1>;
  235. };
  236. smem {
  237. compatible = "qcom,smem";
  238. memory-region = <&smem_mem>;
  239. hwlocks = <&tcsr_mutex 3>;
  240. };
  241. rpm-glink {
  242. compatible = "qcom,glink-rpm";
  243. interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
  244. qcom,rpm-msg-ram = <&rpm_msg_ram>;
  245. mboxes = <&apcs_glb 0>;
  246. rpm_requests {
  247. compatible = "qcom,rpm-msm8996";
  248. qcom,glink-channels = "rpm_requests";
  249. rpmcc: qcom,rpmcc {
  250. compatible = "qcom,rpmcc-msm8996";
  251. #clock-cells = <1>;
  252. };
  253. pm8994-regulators {
  254. compatible = "qcom,rpm-pm8994-regulators";
  255. pm8994_s1: s1 {};
  256. pm8994_s2: s2 {};
  257. pm8994_s3: s3 {};
  258. pm8994_s4: s4 {};
  259. pm8994_s5: s5 {};
  260. pm8994_s6: s6 {};
  261. pm8994_s7: s7 {};
  262. pm8994_s8: s8 {};
  263. pm8994_s9: s9 {};
  264. pm8994_s10: s10 {};
  265. pm8994_s11: s11 {};
  266. pm8994_s12: s12 {};
  267. pm8994_l1: l1 {};
  268. pm8994_l2: l2 {};
  269. pm8994_l3: l3 {};
  270. pm8994_l4: l4 {};
  271. pm8994_l5: l5 {};
  272. pm8994_l6: l6 {};
  273. pm8994_l7: l7 {};
  274. pm8994_l8: l8 {};
  275. pm8994_l9: l9 {};
  276. pm8994_l10: l10 {};
  277. pm8994_l11: l11 {};
  278. pm8994_l12: l12 {};
  279. pm8994_l13: l13 {};
  280. pm8994_l14: l14 {};
  281. pm8994_l15: l15 {};
  282. pm8994_l16: l16 {};
  283. pm8994_l17: l17 {};
  284. pm8994_l18: l18 {};
  285. pm8994_l19: l19 {};
  286. pm8994_l20: l20 {};
  287. pm8994_l21: l21 {};
  288. pm8994_l22: l22 {};
  289. pm8994_l23: l23 {};
  290. pm8994_l24: l24 {};
  291. pm8994_l25: l25 {};
  292. pm8994_l26: l26 {};
  293. pm8994_l27: l27 {};
  294. pm8994_l28: l28 {};
  295. pm8994_l29: l29 {};
  296. pm8994_l30: l30 {};
  297. pm8994_l31: l31 {};
  298. pm8994_l32: l32 {};
  299. };
  300. };
  301. };
  302. soc: soc {
  303. #address-cells = <1>;
  304. #size-cells = <1>;
  305. ranges = <0 0 0 0xffffffff>;
  306. compatible = "simple-bus";
  307. rpm_msg_ram: memory@68000 {
  308. compatible = "qcom,rpm-msg-ram";
  309. reg = <0x68000 0x6000>;
  310. };
  311. tcsr_mutex_regs: syscon@740000 {
  312. compatible = "syscon";
  313. reg = <0x740000 0x20000>;
  314. };
  315. tsens0: thermal-sensor@4a9000 {
  316. compatible = "qcom,msm8996-tsens";
  317. reg = <0x4a9000 0x1000>, /* TM */
  318. <0x4a8000 0x1000>; /* SROT */
  319. #qcom,sensors = <13>;
  320. #thermal-sensor-cells = <1>;
  321. };
  322. tsens1: thermal-sensor@4ad000 {
  323. compatible = "qcom,msm8996-tsens";
  324. reg = <0x4ad000 0x1000>, /* TM */
  325. <0x4ac000 0x1000>; /* SROT */
  326. #qcom,sensors = <8>;
  327. #thermal-sensor-cells = <1>;
  328. };
  329. tcsr: syscon@7a0000 {
  330. compatible = "qcom,tcsr-msm8996", "syscon";
  331. reg = <0x7a0000 0x18000>;
  332. };
  333. intc: interrupt-controller@9bc0000 {
  334. compatible = "qcom,msm8996-gic-v3", "arm,gic-v3";
  335. #interrupt-cells = <3>;
  336. interrupt-controller;
  337. #redistributor-regions = <1>;
  338. redistributor-stride = <0x0 0x40000>;
  339. reg = <0x09bc0000 0x10000>,
  340. <0x09c00000 0x100000>;
  341. interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
  342. };
  343. apcs: syscon@9820000 {
  344. compatible = "syscon";
  345. reg = <0x9820000 0x1000>;
  346. };
  347. apcs_glb: mailbox@9820000 {
  348. compatible = "qcom,msm8996-apcs-hmss-global";
  349. reg = <0x9820000 0x1000>;
  350. #mbox-cells = <1>;
  351. };
  352. gcc: clock-controller@300000 {
  353. compatible = "qcom,gcc-msm8996";
  354. #clock-cells = <1>;
  355. #reset-cells = <1>;
  356. #power-domain-cells = <1>;
  357. reg = <0x300000 0x90000>;
  358. };
  359. kryocc: clock-controller@6400000 {
  360. compatible = "qcom,apcc-msm8996";
  361. reg = <0x6400000 0x90000>;
  362. #clock-cells = <1>;
  363. };
  364. blsp1_uart1: serial@7570000 {
  365. compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
  366. reg = <0x07570000 0x1000>;
  367. interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
  368. clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
  369. <&gcc GCC_BLSP1_AHB_CLK>;
  370. clock-names = "core", "iface";
  371. status = "disabled";
  372. };
  373. blsp1_spi0: spi@7575000 {
  374. compatible = "qcom,spi-qup-v2.2.1";
  375. reg = <0x07575000 0x600>;
  376. interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
  377. clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
  378. <&gcc GCC_BLSP1_AHB_CLK>;
  379. clock-names = "core", "iface";
  380. pinctrl-names = "default", "sleep";
  381. pinctrl-0 = <&blsp1_spi0_default>;
  382. pinctrl-1 = <&blsp1_spi0_sleep>;
  383. #address-cells = <1>;
  384. #size-cells = <0>;
  385. status = "disabled";
  386. };
  387. blsp2_i2c0: i2c@75b5000 {
  388. compatible = "qcom,i2c-qup-v2.2.1";
  389. reg = <0x075b5000 0x1000>;
  390. interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
  391. clocks = <&gcc GCC_BLSP2_AHB_CLK>,
  392. <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>;
  393. clock-names = "iface", "core";
  394. pinctrl-names = "default", "sleep";
  395. pinctrl-0 = <&blsp2_i2c0_default>;
  396. pinctrl-1 = <&blsp2_i2c0_sleep>;
  397. #address-cells = <1>;
  398. #size-cells = <0>;
  399. status = "disabled";
  400. };
  401. blsp2_uart1: serial@75b0000 {
  402. compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
  403. reg = <0x75b0000 0x1000>;
  404. interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
  405. clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
  406. <&gcc GCC_BLSP2_AHB_CLK>;
  407. clock-names = "core", "iface";
  408. status = "disabled";
  409. };
  410. blsp2_i2c1: i2c@75b6000 {
  411. compatible = "qcom,i2c-qup-v2.2.1";
  412. reg = <0x075b6000 0x1000>;
  413. interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
  414. clocks = <&gcc GCC_BLSP2_AHB_CLK>,
  415. <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>;
  416. clock-names = "iface", "core";
  417. pinctrl-names = "default", "sleep";
  418. pinctrl-0 = <&blsp2_i2c1_default>;
  419. pinctrl-1 = <&blsp2_i2c1_sleep>;
  420. #address-cells = <1>;
  421. #size-cells = <0>;
  422. status = "disabled";
  423. };
  424. blsp2_uart2: serial@75b1000 {
  425. compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
  426. reg = <0x075b1000 0x1000>;
  427. interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
  428. clocks = <&gcc GCC_BLSP2_UART3_APPS_CLK>,
  429. <&gcc GCC_BLSP2_AHB_CLK>;
  430. clock-names = "core", "iface";
  431. status = "disabled";
  432. };
  433. blsp1_i2c2: i2c@7577000 {
  434. compatible = "qcom,i2c-qup-v2.2.1";
  435. reg = <0x07577000 0x1000>;
  436. interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
  437. clocks = <&gcc GCC_BLSP1_AHB_CLK>,
  438. <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>;
  439. clock-names = "iface", "core";
  440. pinctrl-names = "default", "sleep";
  441. pinctrl-0 = <&blsp1_i2c2_default>;
  442. pinctrl-1 = <&blsp1_i2c2_sleep>;
  443. #address-cells = <1>;
  444. #size-cells = <0>;
  445. status = "disabled";
  446. };
  447. blsp2_spi5: spi@75ba000{
  448. compatible = "qcom,spi-qup-v2.2.1";
  449. reg = <0x075ba000 0x600>;
  450. interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
  451. clocks = <&gcc GCC_BLSP2_QUP6_SPI_APPS_CLK>,
  452. <&gcc GCC_BLSP2_AHB_CLK>;
  453. clock-names = "core", "iface";
  454. pinctrl-names = "default", "sleep";
  455. pinctrl-0 = <&blsp2_spi5_default>;
  456. pinctrl-1 = <&blsp2_spi5_sleep>;
  457. #address-cells = <1>;
  458. #size-cells = <0>;
  459. status = "disabled";
  460. };
  461. sdhc2: sdhci@74a4900 {
  462. status = "disabled";
  463. compatible = "qcom,sdhci-msm-v4";
  464. reg = <0x74a4900 0x314>, <0x74a4000 0x800>;
  465. reg-names = "hc_mem", "core_mem";
  466. interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH>,
  467. <0 221 IRQ_TYPE_LEVEL_HIGH>;
  468. interrupt-names = "hc_irq", "pwr_irq";
  469. clock-names = "iface", "core", "xo";
  470. clocks = <&gcc GCC_SDCC2_AHB_CLK>,
  471. <&gcc GCC_SDCC2_APPS_CLK>,
  472. <&xo_board>;
  473. bus-width = <4>;
  474. };
  475. msmgpio: pinctrl@1010000 {
  476. compatible = "qcom,msm8996-pinctrl";
  477. reg = <0x01010000 0x300000>;
  478. interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
  479. gpio-controller;
  480. #gpio-cells = <2>;
  481. interrupt-controller;
  482. #interrupt-cells = <2>;
  483. };
  484. timer@9840000 {
  485. #address-cells = <1>;
  486. #size-cells = <1>;
  487. ranges;
  488. compatible = "arm,armv7-timer-mem";
  489. reg = <0x09840000 0x1000>;
  490. clock-frequency = <19200000>;
  491. frame@9850000 {
  492. frame-number = <0>;
  493. interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
  494. <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
  495. reg = <0x09850000 0x1000>,
  496. <0x09860000 0x1000>;
  497. };
  498. frame@9870000 {
  499. frame-number = <1>;
  500. interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
  501. reg = <0x09870000 0x1000>;
  502. status = "disabled";
  503. };
  504. frame@9880000 {
  505. frame-number = <2>;
  506. interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
  507. reg = <0x09880000 0x1000>;
  508. status = "disabled";
  509. };
  510. frame@9890000 {
  511. frame-number = <3>;
  512. interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
  513. reg = <0x09890000 0x1000>;
  514. status = "disabled";
  515. };
  516. frame@98a0000 {
  517. frame-number = <4>;
  518. interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
  519. reg = <0x098a0000 0x1000>;
  520. status = "disabled";
  521. };
  522. frame@98b0000 {
  523. frame-number = <5>;
  524. interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  525. reg = <0x098b0000 0x1000>;
  526. status = "disabled";
  527. };
  528. frame@98c0000 {
  529. frame-number = <6>;
  530. interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  531. reg = <0x098c0000 0x1000>;
  532. status = "disabled";
  533. };
  534. };
  535. spmi_bus: qcom,spmi@400f000 {
  536. compatible = "qcom,spmi-pmic-arb";
  537. reg = <0x400f000 0x1000>,
  538. <0x4400000 0x800000>,
  539. <0x4c00000 0x800000>,
  540. <0x5800000 0x200000>,
  541. <0x400a000 0x002100>;
  542. reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
  543. interrupt-names = "periph_irq";
  544. interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>;
  545. qcom,ee = <0>;
  546. qcom,channel = <0>;
  547. #address-cells = <2>;
  548. #size-cells = <0>;
  549. interrupt-controller;
  550. #interrupt-cells = <4>;
  551. };
  552. ufsphy: phy@627000 {
  553. compatible = "qcom,msm8996-ufs-phy-qmp-14nm";
  554. reg = <0x627000 0xda8>;
  555. reg-names = "phy_mem";
  556. #phy-cells = <0>;
  557. vdda-phy-supply = <&pm8994_l28>;
  558. vdda-pll-supply = <&pm8994_l12>;
  559. vdda-phy-max-microamp = <18380>;
  560. vdda-pll-max-microamp = <9440>;
  561. vddp-ref-clk-supply = <&pm8994_l25>;
  562. vddp-ref-clk-max-microamp = <100>;
  563. vddp-ref-clk-always-on;
  564. clock-names = "ref_clk_src", "ref_clk";
  565. clocks = <&rpmcc RPM_SMD_LN_BB_CLK>,
  566. <&gcc GCC_UFS_CLKREF_CLK>;
  567. status = "disabled";
  568. };
  569. ufshc@624000 {
  570. compatible = "qcom,ufshc";
  571. reg = <0x624000 0x2500>;
  572. interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
  573. phys = <&ufsphy>;
  574. phy-names = "ufsphy";
  575. vcc-supply = <&pm8994_l20>;
  576. vccq-supply = <&pm8994_l25>;
  577. vccq2-supply = <&pm8994_s4>;
  578. vcc-max-microamp = <600000>;
  579. vccq-max-microamp = <450000>;
  580. vccq2-max-microamp = <450000>;
  581. power-domains = <&gcc UFS_GDSC>;
  582. clock-names =
  583. "core_clk_src",
  584. "core_clk",
  585. "bus_clk",
  586. "bus_aggr_clk",
  587. "iface_clk",
  588. "core_clk_unipro_src",
  589. "core_clk_unipro",
  590. "core_clk_ice",
  591. "ref_clk",
  592. "tx_lane0_sync_clk",
  593. "rx_lane0_sync_clk";
  594. clocks =
  595. <&gcc UFS_AXI_CLK_SRC>,
  596. <&gcc GCC_UFS_AXI_CLK>,
  597. <&gcc GCC_SYS_NOC_UFS_AXI_CLK>,
  598. <&gcc GCC_AGGRE2_UFS_AXI_CLK>,
  599. <&gcc GCC_UFS_AHB_CLK>,
  600. <&gcc UFS_ICE_CORE_CLK_SRC>,
  601. <&gcc GCC_UFS_UNIPRO_CORE_CLK>,
  602. <&gcc GCC_UFS_ICE_CORE_CLK>,
  603. <&rpmcc RPM_SMD_LN_BB_CLK>,
  604. <&gcc GCC_UFS_TX_SYMBOL_0_CLK>,
  605. <&gcc GCC_UFS_RX_SYMBOL_0_CLK>;
  606. freq-table-hz =
  607. <100000000 200000000>,
  608. <0 0>,
  609. <0 0>,
  610. <0 0>,
  611. <0 0>,
  612. <150000000 300000000>,
  613. <0 0>,
  614. <0 0>,
  615. <0 0>,
  616. <0 0>,
  617. <0 0>;
  618. lanes-per-direction = <1>;
  619. status = "disabled";
  620. ufs_variant {
  621. compatible = "qcom,ufs_variant";
  622. };
  623. };
  624. mmcc: clock-controller@8c0000 {
  625. compatible = "qcom,mmcc-msm8996";
  626. #clock-cells = <1>;
  627. #reset-cells = <1>;
  628. #power-domain-cells = <1>;
  629. reg = <0x8c0000 0x40000>;
  630. assigned-clocks = <&mmcc MMPLL9_PLL>,
  631. <&mmcc MMPLL1_PLL>,
  632. <&mmcc MMPLL3_PLL>,
  633. <&mmcc MMPLL4_PLL>,
  634. <&mmcc MMPLL5_PLL>;
  635. assigned-clock-rates = <624000000>,
  636. <810000000>,
  637. <980000000>,
  638. <960000000>,
  639. <825000000>;
  640. };
  641. qfprom@74000 {
  642. compatible = "qcom,qfprom";
  643. reg = <0x74000 0x8ff>;
  644. #address-cells = <1>;
  645. #size-cells = <1>;
  646. qusb2p_hstx_trim: hstx_trim@24e {
  647. reg = <0x24e 0x2>;
  648. bits = <5 4>;
  649. };
  650. qusb2s_hstx_trim: hstx_trim@24f {
  651. reg = <0x24f 0x1>;
  652. bits = <1 4>;
  653. };
  654. };
  655. phy@34000 {
  656. compatible = "qcom,msm8996-qmp-pcie-phy";
  657. reg = <0x34000 0x488>;
  658. #clock-cells = <1>;
  659. #address-cells = <1>;
  660. #size-cells = <1>;
  661. ranges;
  662. clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
  663. <&gcc GCC_PCIE_PHY_CFG_AHB_CLK>,
  664. <&gcc GCC_PCIE_CLKREF_CLK>;
  665. clock-names = "aux", "cfg_ahb", "ref";
  666. vdda-phy-supply = <&pm8994_l28>;
  667. vdda-pll-supply = <&pm8994_l12>;
  668. resets = <&gcc GCC_PCIE_PHY_BCR>,
  669. <&gcc GCC_PCIE_PHY_COM_BCR>,
  670. <&gcc GCC_PCIE_PHY_COM_NOCSR_BCR>;
  671. reset-names = "phy", "common", "cfg";
  672. status = "disabled";
  673. pciephy_0: lane@35000 {
  674. reg = <0x035000 0x130>,
  675. <0x035200 0x200>,
  676. <0x035400 0x1dc>;
  677. #phy-cells = <0>;
  678. clock-output-names = "pcie_0_pipe_clk_src";
  679. clocks = <&gcc GCC_PCIE_0_PIPE_CLK>;
  680. clock-names = "pipe0";
  681. resets = <&gcc GCC_PCIE_0_PHY_BCR>;
  682. reset-names = "lane0";
  683. };
  684. pciephy_1: lane@36000 {
  685. reg = <0x036000 0x130>,
  686. <0x036200 0x200>,
  687. <0x036400 0x1dc>;
  688. #phy-cells = <0>;
  689. clock-output-names = "pcie_1_pipe_clk_src";
  690. clocks = <&gcc GCC_PCIE_1_PIPE_CLK>;
  691. clock-names = "pipe1";
  692. resets = <&gcc GCC_PCIE_1_PHY_BCR>;
  693. reset-names = "lane1";
  694. };
  695. pciephy_2: lane@37000 {
  696. reg = <0x037000 0x130>,
  697. <0x037200 0x200>,
  698. <0x037400 0x1dc>;
  699. #phy-cells = <0>;
  700. clock-output-names = "pcie_2_pipe_clk_src";
  701. clocks = <&gcc GCC_PCIE_2_PIPE_CLK>;
  702. clock-names = "pipe2";
  703. resets = <&gcc GCC_PCIE_2_PHY_BCR>;
  704. reset-names = "lane2";
  705. };
  706. };
  707. phy@7410000 {
  708. compatible = "qcom,msm8996-qmp-usb3-phy";
  709. reg = <0x7410000 0x1c4>;
  710. #clock-cells = <1>;
  711. #address-cells = <1>;
  712. #size-cells = <1>;
  713. ranges;
  714. clocks = <&gcc GCC_USB3_PHY_AUX_CLK>,
  715. <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
  716. <&gcc GCC_USB3_CLKREF_CLK>;
  717. clock-names = "aux", "cfg_ahb", "ref";
  718. vdda-phy-supply = <&pm8994_l28>;
  719. vdda-pll-supply = <&pm8994_l12>;
  720. resets = <&gcc GCC_USB3_PHY_BCR>,
  721. <&gcc GCC_USB3PHY_PHY_BCR>;
  722. reset-names = "phy", "common";
  723. status = "disabled";
  724. ssusb_phy_0: lane@7410200 {
  725. reg = <0x7410200 0x200>,
  726. <0x7410400 0x130>,
  727. <0x7410600 0x1a8>;
  728. #phy-cells = <0>;
  729. clock-output-names = "usb3_phy_pipe_clk_src";
  730. clocks = <&gcc GCC_USB3_PHY_PIPE_CLK>;
  731. clock-names = "pipe0";
  732. };
  733. };
  734. hsusb_phy1: phy@7411000 {
  735. compatible = "qcom,msm8996-qusb2-phy";
  736. reg = <0x7411000 0x180>;
  737. #phy-cells = <0>;
  738. clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
  739. <&gcc GCC_RX1_USB2_CLKREF_CLK>;
  740. clock-names = "cfg_ahb", "ref";
  741. vdda-pll-supply = <&pm8994_l12>;
  742. vdda-phy-dpdm-supply = <&pm8994_l24>;
  743. resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
  744. nvmem-cells = <&qusb2p_hstx_trim>;
  745. status = "disabled";
  746. };
  747. hsusb_phy2: phy@7412000 {
  748. compatible = "qcom,msm8996-qusb2-phy";
  749. reg = <0x7412000 0x180>;
  750. #phy-cells = <0>;
  751. clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
  752. <&gcc GCC_RX2_USB2_CLKREF_CLK>;
  753. clock-names = "cfg_ahb", "ref";
  754. vdda-pll-supply = <&pm8994_l12>;
  755. vdda-phy-dpdm-supply = <&pm8994_l24>;
  756. resets = <&gcc GCC_QUSB2PHY_SEC_BCR>;
  757. nvmem-cells = <&qusb2s_hstx_trim>;
  758. status = "disabled";
  759. };
  760. usb2: usb@7600000 {
  761. compatible = "qcom,dwc3";
  762. #address-cells = <1>;
  763. #size-cells = <1>;
  764. ranges;
  765. clocks = <&gcc GCC_PERIPH_NOC_USB20_AHB_CLK>,
  766. <&gcc GCC_USB20_MASTER_CLK>,
  767. <&gcc GCC_USB20_MOCK_UTMI_CLK>,
  768. <&gcc GCC_USB20_SLEEP_CLK>,
  769. <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>;
  770. assigned-clocks = <&gcc GCC_USB20_MOCK_UTMI_CLK>,
  771. <&gcc GCC_USB20_MASTER_CLK>;
  772. assigned-clock-rates = <19200000>, <60000000>;
  773. power-domains = <&gcc USB30_GDSC>;
  774. status = "disabled";
  775. dwc3@7600000 {
  776. compatible = "snps,dwc3";
  777. reg = <0x7600000 0xcc00>;
  778. interrupts = <0 138 IRQ_TYPE_LEVEL_HIGH>;
  779. phys = <&hsusb_phy2>;
  780. phy-names = "usb2-phy";
  781. snps,dis_u2_susphy_quirk;
  782. snps,dis_enblslpm_quirk;
  783. };
  784. };
  785. usb3: usb@6a00000 {
  786. compatible = "qcom,dwc3";
  787. #address-cells = <1>;
  788. #size-cells = <1>;
  789. ranges;
  790. clocks = <&gcc GCC_SYS_NOC_USB3_AXI_CLK>,
  791. <&gcc GCC_USB30_MASTER_CLK>,
  792. <&gcc GCC_AGGRE2_USB3_AXI_CLK>,
  793. <&gcc GCC_USB30_MOCK_UTMI_CLK>,
  794. <&gcc GCC_USB30_SLEEP_CLK>,
  795. <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>;
  796. assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>,
  797. <&gcc GCC_USB30_MASTER_CLK>;
  798. assigned-clock-rates = <19200000>, <120000000>;
  799. power-domains = <&gcc USB30_GDSC>;
  800. status = "disabled";
  801. dwc3@6a00000 {
  802. compatible = "snps,dwc3";
  803. reg = <0x6a00000 0xcc00>;
  804. interrupts = <0 131 IRQ_TYPE_LEVEL_HIGH>;
  805. phys = <&hsusb_phy1>, <&ssusb_phy_0>;
  806. phy-names = "usb2-phy", "usb3-phy";
  807. snps,dis_u2_susphy_quirk;
  808. snps,dis_enblslpm_quirk;
  809. };
  810. };
  811. agnoc@0 {
  812. power-domains = <&gcc AGGRE0_NOC_GDSC>;
  813. compatible = "simple-pm-bus";
  814. #address-cells = <1>;
  815. #size-cells = <1>;
  816. ranges;
  817. pcie0: pcie@600000 {
  818. compatible = "qcom,pcie-msm8996", "snps,dw-pcie";
  819. status = "disabled";
  820. power-domains = <&gcc PCIE0_GDSC>;
  821. bus-range = <0x00 0xff>;
  822. num-lanes = <1>;
  823. reg = <0x00600000 0x2000>,
  824. <0x0c000000 0xf1d>,
  825. <0x0c000f20 0xa8>,
  826. <0x0c100000 0x100000>;
  827. reg-names = "parf", "dbi", "elbi","config";
  828. phys = <&pciephy_0>;
  829. phy-names = "pciephy";
  830. #address-cells = <3>;
  831. #size-cells = <2>;
  832. ranges = <0x01000000 0x0 0x0c200000 0x0c200000 0x0 0x100000>,
  833. <0x02000000 0x0 0x0c300000 0x0c300000 0x0 0xd00000>;
  834. interrupts = <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>;
  835. interrupt-names = "msi";
  836. #interrupt-cells = <1>;
  837. interrupt-map-mask = <0 0 0 0x7>;
  838. interrupt-map = <0 0 0 1 &intc 0 244 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
  839. <0 0 0 2 &intc 0 245 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
  840. <0 0 0 3 &intc 0 247 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
  841. <0 0 0 4 &intc 0 248 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
  842. pinctrl-names = "default", "sleep";
  843. pinctrl-0 = <&pcie0_clkreq_default &pcie0_perst_default &pcie0_wake_default>;
  844. pinctrl-1 = <&pcie0_clkreq_sleep &pcie0_perst_default &pcie0_wake_sleep>;
  845. vdda-supply = <&pm8994_l28>;
  846. linux,pci-domain = <0>;
  847. clocks = <&gcc GCC_PCIE_0_PIPE_CLK>,
  848. <&gcc GCC_PCIE_0_AUX_CLK>,
  849. <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
  850. <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
  851. <&gcc GCC_PCIE_0_SLV_AXI_CLK>;
  852. clock-names = "pipe",
  853. "aux",
  854. "cfg",
  855. "bus_master",
  856. "bus_slave";
  857. };
  858. pcie1: pcie@608000 {
  859. compatible = "qcom,pcie-msm8996", "snps,dw-pcie";
  860. power-domains = <&gcc PCIE1_GDSC>;
  861. bus-range = <0x00 0xff>;
  862. num-lanes = <1>;
  863. status = "disabled";
  864. reg = <0x00608000 0x2000>,
  865. <0x0d000000 0xf1d>,
  866. <0x0d000f20 0xa8>,
  867. <0x0d100000 0x100000>;
  868. reg-names = "parf", "dbi", "elbi","config";
  869. phys = <&pciephy_1>;
  870. phy-names = "pciephy";
  871. #address-cells = <3>;
  872. #size-cells = <2>;
  873. ranges = <0x01000000 0x0 0x0d200000 0x0d200000 0x0 0x100000>,
  874. <0x02000000 0x0 0x0d300000 0x0d300000 0x0 0xd00000>;
  875. interrupts = <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>;
  876. interrupt-names = "msi";
  877. #interrupt-cells = <1>;
  878. interrupt-map-mask = <0 0 0 0x7>;
  879. interrupt-map = <0 0 0 1 &intc 0 272 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
  880. <0 0 0 2 &intc 0 273 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
  881. <0 0 0 3 &intc 0 274 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
  882. <0 0 0 4 &intc 0 275 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
  883. pinctrl-names = "default", "sleep";
  884. pinctrl-0 = <&pcie1_clkreq_default &pcie1_perst_default &pcie1_wake_default>;
  885. pinctrl-1 = <&pcie1_clkreq_sleep &pcie1_perst_default &pcie1_wake_sleep>;
  886. vdda-supply = <&pm8994_l28>;
  887. linux,pci-domain = <1>;
  888. clocks = <&gcc GCC_PCIE_1_PIPE_CLK>,
  889. <&gcc GCC_PCIE_1_AUX_CLK>,
  890. <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
  891. <&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
  892. <&gcc GCC_PCIE_1_SLV_AXI_CLK>;
  893. clock-names = "pipe",
  894. "aux",
  895. "cfg",
  896. "bus_master",
  897. "bus_slave";
  898. };
  899. pcie2: pcie@610000 {
  900. compatible = "qcom,pcie-msm8996", "snps,dw-pcie";
  901. power-domains = <&gcc PCIE2_GDSC>;
  902. bus-range = <0x00 0xff>;
  903. num-lanes = <1>;
  904. status = "disabled";
  905. reg = <0x00610000 0x2000>,
  906. <0x0e000000 0xf1d>,
  907. <0x0e000f20 0xa8>,
  908. <0x0e100000 0x100000>;
  909. reg-names = "parf", "dbi", "elbi","config";
  910. phys = <&pciephy_2>;
  911. phy-names = "pciephy";
  912. #address-cells = <3>;
  913. #size-cells = <2>;
  914. ranges = <0x01000000 0x0 0x0e200000 0x0e200000 0x0 0x100000>,
  915. <0x02000000 0x0 0x0e300000 0x0e300000 0x0 0x1d00000>;
  916. device_type = "pci";
  917. interrupts = <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>;
  918. interrupt-names = "msi";
  919. #interrupt-cells = <1>;
  920. interrupt-map-mask = <0 0 0 0x7>;
  921. interrupt-map = <0 0 0 1 &intc 0 142 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
  922. <0 0 0 2 &intc 0 143 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
  923. <0 0 0 3 &intc 0 144 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
  924. <0 0 0 4 &intc 0 145 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
  925. pinctrl-names = "default", "sleep";
  926. pinctrl-0 = <&pcie2_clkreq_default &pcie2_perst_default &pcie2_wake_default>;
  927. pinctrl-1 = <&pcie2_clkreq_sleep &pcie2_perst_default &pcie2_wake_sleep >;
  928. vdda-supply = <&pm8994_l28>;
  929. linux,pci-domain = <2>;
  930. clocks = <&gcc GCC_PCIE_2_PIPE_CLK>,
  931. <&gcc GCC_PCIE_2_AUX_CLK>,
  932. <&gcc GCC_PCIE_2_CFG_AHB_CLK>,
  933. <&gcc GCC_PCIE_2_MSTR_AXI_CLK>,
  934. <&gcc GCC_PCIE_2_SLV_AXI_CLK>;
  935. clock-names = "pipe",
  936. "aux",
  937. "cfg",
  938. "bus_master",
  939. "bus_slave";
  940. };
  941. };
  942. };
  943. adsp-pil {
  944. compatible = "qcom,msm8996-adsp-pil";
  945. interrupts-extended = <&intc 0 162 IRQ_TYPE_EDGE_RISING>,
  946. <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
  947. <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
  948. <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
  949. <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
  950. interrupt-names = "wdog", "fatal", "ready",
  951. "handover", "stop-ack";
  952. clocks = <&xo_board>;
  953. clock-names = "xo";
  954. memory-region = <&adsp_region>;
  955. qcom,smem-states = <&adsp_smp2p_out 0>;
  956. qcom,smem-state-names = "stop";
  957. smd-edge {
  958. interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
  959. label = "lpass";
  960. qcom,ipc = <&apcs 16 8>;
  961. qcom,smd-edge = <1>;
  962. qcom,remote-pid = <2>;
  963. };
  964. };
  965. adsp-smp2p {
  966. compatible = "qcom,smp2p";
  967. qcom,smem = <443>, <429>;
  968. interrupts = <0 158 IRQ_TYPE_EDGE_RISING>;
  969. qcom,ipc = <&apcs 16 10>;
  970. qcom,local-pid = <0>;
  971. qcom,remote-pid = <2>;
  972. adsp_smp2p_out: master-kernel {
  973. qcom,entry-name = "master-kernel";
  974. #qcom,smem-state-cells = <1>;
  975. };
  976. adsp_smp2p_in: slave-kernel {
  977. qcom,entry-name = "slave-kernel";
  978. interrupt-controller;
  979. #interrupt-cells = <2>;
  980. };
  981. };
  982. modem-smp2p {
  983. compatible = "qcom,smp2p";
  984. qcom,smem = <435>, <428>;
  985. interrupts = <GIC_SPI 451 IRQ_TYPE_EDGE_RISING>;
  986. qcom,ipc = <&apcs 16 14>;
  987. qcom,local-pid = <0>;
  988. qcom,remote-pid = <1>;
  989. modem_smp2p_out: master-kernel {
  990. qcom,entry-name = "master-kernel";
  991. #qcom,smem-state-cells = <1>;
  992. };
  993. modem_smp2p_in: slave-kernel {
  994. qcom,entry-name = "slave-kernel";
  995. interrupt-controller;
  996. #interrupt-cells = <2>;
  997. };
  998. };
  999. smp2p-slpi {
  1000. compatible = "qcom,smp2p";
  1001. qcom,smem = <481>, <430>;
  1002. interrupts = <GIC_SPI 178 IRQ_TYPE_EDGE_RISING>;
  1003. qcom,ipc = <&apcs 16 26>;
  1004. qcom,local-pid = <0>;
  1005. qcom,remote-pid = <3>;
  1006. slpi_smp2p_in: slave-kernel {
  1007. qcom,entry-name = "slave-kernel";
  1008. interrupt-controller;
  1009. #interrupt-cells = <2>;
  1010. };
  1011. slpi_smp2p_out: master-kernel {
  1012. qcom,entry-name = "master-kernel";
  1013. #qcom,smem-state-cells = <1>;
  1014. };
  1015. };
  1016. };
  1017. #include "msm8996-pins.dtsi"