sm8250-mtp.dts 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904
  1. // SPDX-License-Identifier: BSD-3-Clause
  2. /*
  3. * Copyright (c) 2020, The Linux Foundation. All rights reserved.
  4. */
  5. /dts-v1/;
  6. #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
  7. #include <dt-bindings/sound/qcom,q6afe.h>
  8. #include <dt-bindings/sound/qcom,q6asm.h>
  9. #include <dt-bindings/gpio/gpio.h>
  10. #include "sm8250.dtsi"
  11. #include "pm8150.dtsi"
  12. #include "pm8150b.dtsi"
  13. #include "pm8150l.dtsi"
  14. #include "pm8009.dtsi"
  15. / {
  16. model = "Qualcomm Technologies, Inc. SM8250 MTP";
  17. compatible = "qcom,sm8250-mtp", "qcom,sm8250";
  18. aliases {
  19. serial0 = &uart12;
  20. };
  21. chosen {
  22. stdout-path = "serial0:115200n8";
  23. };
  24. thermal-zones {
  25. camera-thermal {
  26. polling-delay-passive = <0>;
  27. polling-delay = <0>;
  28. thermal-sensors = <&pm8150l_adc_tm 0>;
  29. trips {
  30. active-config0 {
  31. temperature = <125000>;
  32. hysteresis = <1000>;
  33. type = "passive";
  34. };
  35. };
  36. };
  37. conn-thermal {
  38. polling-delay-passive = <0>;
  39. polling-delay = <0>;
  40. thermal-sensors = <&pm8150b_adc_tm 0>;
  41. trips {
  42. active-config0 {
  43. temperature = <125000>;
  44. hysteresis = <1000>;
  45. type = "passive";
  46. };
  47. };
  48. };
  49. mmw-pa1-thermal {
  50. polling-delay-passive = <0>;
  51. polling-delay = <0>;
  52. thermal-sensors = <&pm8150_adc_tm 2>;
  53. trips {
  54. active-config0 {
  55. temperature = <125000>;
  56. hysteresis = <1000>;
  57. type = "passive";
  58. };
  59. };
  60. };
  61. mmw-pa2-thermal {
  62. polling-delay-passive = <0>;
  63. polling-delay = <0>;
  64. thermal-sensors = <&pm8150l_adc_tm 2>;
  65. trips {
  66. active-config0 {
  67. temperature = <125000>;
  68. hysteresis = <1000>;
  69. type = "passive";
  70. };
  71. };
  72. };
  73. skin-msm-thermal {
  74. polling-delay-passive = <0>;
  75. polling-delay = <0>;
  76. thermal-sensors = <&pm8150l_adc_tm 1>;
  77. trips {
  78. active-config0 {
  79. temperature = <125000>;
  80. hysteresis = <1000>;
  81. type = "passive";
  82. };
  83. };
  84. };
  85. skin-thermal {
  86. polling-delay-passive = <0>;
  87. polling-delay = <0>;
  88. thermal-sensors = <&pm8150_adc_tm 1>;
  89. trips {
  90. active-config0 {
  91. temperature = <125000>;
  92. hysteresis = <1000>;
  93. type = "passive";
  94. };
  95. };
  96. };
  97. xo-thermal {
  98. polling-delay-passive = <0>;
  99. polling-delay = <0>;
  100. thermal-sensors = <&pm8150_adc_tm 0>;
  101. trips {
  102. active-config0 {
  103. temperature = <125000>;
  104. hysteresis = <1000>;
  105. type = "passive";
  106. };
  107. };
  108. };
  109. };
  110. vph_pwr: vph-pwr-regulator {
  111. compatible = "regulator-fixed";
  112. regulator-name = "vph_pwr";
  113. regulator-min-microvolt = <3700000>;
  114. regulator-max-microvolt = <3700000>;
  115. };
  116. vreg_s4a_1p8: pm8150-s4 {
  117. compatible = "regulator-fixed";
  118. regulator-name = "vreg_s4a_1p8";
  119. regulator-min-microvolt = <1800000>;
  120. regulator-max-microvolt = <1800000>;
  121. regulator-always-on;
  122. regulator-boot-on;
  123. vin-supply = <&vph_pwr>;
  124. };
  125. vreg_s6c_0p88: smpc6-regulator {
  126. compatible = "regulator-fixed";
  127. regulator-name = "vreg_s6c_0p88";
  128. regulator-min-microvolt = <880000>;
  129. regulator-max-microvolt = <880000>;
  130. regulator-always-on;
  131. vin-supply = <&vph_pwr>;
  132. };
  133. };
  134. &adsp {
  135. status = "okay";
  136. firmware-name = "qcom/sm8250/adsp.mbn";
  137. };
  138. &apps_rsc {
  139. pm8150-rpmh-regulators {
  140. compatible = "qcom,pm8150-rpmh-regulators";
  141. qcom,pmic-id = "a";
  142. vdd-s1-supply = <&vph_pwr>;
  143. vdd-s2-supply = <&vph_pwr>;
  144. vdd-s3-supply = <&vph_pwr>;
  145. vdd-s4-supply = <&vph_pwr>;
  146. vdd-s5-supply = <&vph_pwr>;
  147. vdd-s6-supply = <&vph_pwr>;
  148. vdd-s7-supply = <&vph_pwr>;
  149. vdd-s8-supply = <&vph_pwr>;
  150. vdd-s9-supply = <&vph_pwr>;
  151. vdd-s10-supply = <&vph_pwr>;
  152. vdd-l1-l8-l11-supply = <&vreg_s6c_0p88>;
  153. vdd-l2-l10-supply = <&vreg_bob>;
  154. vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>;
  155. vdd-l6-l9-supply = <&vreg_s8c_1p3>;
  156. vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
  157. vdd-l13-l16-l17-supply = <&vreg_bob>;
  158. vreg_s5a_1p9: smps5 {
  159. regulator-name = "vreg_s5a_1p9";
  160. regulator-min-microvolt = <1904000>;
  161. regulator-max-microvolt = <2000000>;
  162. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  163. };
  164. vreg_s6a_0p95: smps6 {
  165. regulator-name = "vreg_s6a_0p95";
  166. regulator-min-microvolt = <920000>;
  167. regulator-max-microvolt = <1128000>;
  168. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  169. };
  170. vreg_l2a_3p1: ldo2 {
  171. regulator-name = "vreg_l2a_3p1";
  172. regulator-min-microvolt = <3072000>;
  173. regulator-max-microvolt = <3072000>;
  174. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  175. };
  176. vreg_l3a_0p9: ldo3 {
  177. regulator-name = "vreg_l3a_0p9";
  178. regulator-min-microvolt = <928000>;
  179. regulator-max-microvolt = <932000>;
  180. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  181. };
  182. vreg_l5a_0p875: ldo5 {
  183. regulator-name = "vreg_l5a_0p875";
  184. regulator-min-microvolt = <880000>;
  185. regulator-max-microvolt = <880000>;
  186. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  187. };
  188. vreg_l6a_1p2: ldo6 {
  189. regulator-name = "vreg_l6a_1p2";
  190. regulator-min-microvolt = <1200000>;
  191. regulator-max-microvolt = <1200000>;
  192. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  193. };
  194. vreg_l7a_1p7: ldo7 {
  195. regulator-name = "vreg_l7a_1p7";
  196. regulator-min-microvolt = <1704000>;
  197. regulator-max-microvolt = <1800000>;
  198. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  199. };
  200. vreg_l9a_1p2: ldo9 {
  201. regulator-name = "vreg_l9a_1p2";
  202. regulator-min-microvolt = <1200000>;
  203. regulator-max-microvolt = <1200000>;
  204. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  205. };
  206. vreg_l10a_1p8: ldo10 {
  207. regulator-name = "vreg_l10a_1p8";
  208. regulator-min-microvolt = <1800000>;
  209. regulator-max-microvolt = <1800000>;
  210. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  211. };
  212. vreg_l12a_1p8: ldo12 {
  213. regulator-name = "vreg_l12a_1p8";
  214. regulator-min-microvolt = <1800000>;
  215. regulator-max-microvolt = <1800000>;
  216. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  217. };
  218. vreg_l13a_ts_3p0: ldo13 {
  219. regulator-name = "vreg_l13a_ts_3p0";
  220. regulator-min-microvolt = <3008000>;
  221. regulator-max-microvolt = <3008000>;
  222. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  223. };
  224. vreg_l14a_1p8: ldo14 {
  225. regulator-name = "vreg_l14a_1p8";
  226. regulator-min-microvolt = <1800000>;
  227. regulator-max-microvolt = <1880000>;
  228. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  229. };
  230. vreg_l15a_11ad_io_1p8: ldo15 {
  231. regulator-name = "vreg_l15a_11ad_io_1p8";
  232. regulator-min-microvolt = <1800000>;
  233. regulator-max-microvolt = <1800000>;
  234. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  235. };
  236. vreg_l16a_2p7: ldo16 {
  237. regulator-name = "vreg_l16a_2p7";
  238. regulator-min-microvolt = <2704000>;
  239. regulator-max-microvolt = <2960000>;
  240. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  241. };
  242. vreg_l17a_3p0: ldo17 {
  243. regulator-name = "vreg_l17a_3p0";
  244. regulator-min-microvolt = <2856000>;
  245. regulator-max-microvolt = <3008000>;
  246. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  247. };
  248. vreg_l18a_0p9: ldo18 {
  249. regulator-name = "vreg_l18a_0p9";
  250. regulator-min-microvolt = <912000>;
  251. regulator-max-microvolt = <912000>;
  252. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  253. };
  254. };
  255. pm8150l-rpmh-regulators {
  256. compatible = "qcom,pm8150l-rpmh-regulators";
  257. qcom,pmic-id = "c";
  258. vdd-s1-supply = <&vph_pwr>;
  259. vdd-s2-supply = <&vph_pwr>;
  260. vdd-s3-supply = <&vph_pwr>;
  261. vdd-s4-supply = <&vph_pwr>;
  262. vdd-s5-supply = <&vph_pwr>;
  263. vdd-s6-supply = <&vph_pwr>;
  264. vdd-s7-supply = <&vph_pwr>;
  265. vdd-s8-supply = <&vph_pwr>;
  266. vdd-l1-l8-supply = <&vreg_s4a_1p8>;
  267. vdd-l2-l3-supply = <&vreg_s8c_1p3>;
  268. vdd-l4-l5-l6-supply = <&vreg_bob>;
  269. vdd-l7-l11-supply = <&vreg_bob>;
  270. vdd-l9-l10-supply = <&vreg_bob>;
  271. vdd-bob-supply = <&vph_pwr>;
  272. vreg_bob: bob {
  273. regulator-name = "vreg_bob";
  274. regulator-min-microvolt = <3008000>;
  275. regulator-max-microvolt = <4000000>;
  276. regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
  277. };
  278. vreg_s8c_1p3: smps8 {
  279. regulator-name = "vreg_s8c_1p3";
  280. regulator-min-microvolt = <1352000>;
  281. regulator-max-microvolt = <1352000>;
  282. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  283. };
  284. vreg_l1c_1p8: ldo1 {
  285. regulator-name = "vreg_l1c_1p8";
  286. regulator-min-microvolt = <1800000>;
  287. regulator-max-microvolt = <1800000>;
  288. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  289. };
  290. vreg_l2c_1p2: ldo2 {
  291. regulator-name = "vreg_l2c_1p2";
  292. regulator-min-microvolt = <1200000>;
  293. regulator-max-microvolt = <1200000>;
  294. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  295. };
  296. vreg_l3c_0p92: ldo3 {
  297. regulator-name = "vreg_l3c_0p92";
  298. regulator-min-microvolt = <920000>;
  299. regulator-max-microvolt = <920000>;
  300. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  301. };
  302. vreg_l4c_1p7: ldo4 {
  303. regulator-name = "vreg_l4c_1p7";
  304. regulator-min-microvolt = <1704000>;
  305. regulator-max-microvolt = <2928000>;
  306. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  307. };
  308. vreg_l5c_1p8: ldo5 {
  309. regulator-name = "vreg_l5c_1p8";
  310. regulator-min-microvolt = <1800000>;
  311. regulator-max-microvolt = <2928000>;
  312. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  313. };
  314. vreg_l6c_2p9: ldo6 {
  315. regulator-name = "vreg_l6c_2p9";
  316. regulator-min-microvolt = <1800000>;
  317. regulator-max-microvolt = <2960000>;
  318. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  319. };
  320. vreg_l7c_cam_vcm0_2p85: ldo7 {
  321. regulator-name = "vreg_l7c_cam_vcm0_2p85";
  322. regulator-min-microvolt = <2856000>;
  323. regulator-max-microvolt = <3104000>;
  324. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  325. };
  326. vreg_l8c_1p8: ldo8 {
  327. regulator-name = "vreg_l8c_1p8";
  328. regulator-min-microvolt = <1800000>;
  329. regulator-max-microvolt = <1800000>;
  330. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  331. };
  332. vreg_l9c_2p9: ldo9 {
  333. regulator-name = "vreg_l9c_2p9";
  334. regulator-min-microvolt = <2704000>;
  335. regulator-max-microvolt = <2960000>;
  336. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  337. };
  338. vreg_l10c_3p0: ldo10 {
  339. regulator-name = "vreg_l10c_3p0";
  340. regulator-min-microvolt = <3000000>;
  341. regulator-max-microvolt = <3000000>;
  342. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  343. };
  344. vreg_l11c_3p3: ldo11 {
  345. regulator-name = "vreg_l11c_3p3";
  346. regulator-min-microvolt = <3000000>;
  347. regulator-max-microvolt = <3312000>;
  348. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  349. };
  350. };
  351. pm8009-rpmh-regulators {
  352. compatible = "qcom,pm8009-rpmh-regulators";
  353. qcom,pmic-id = "f";
  354. vdd-s1-supply = <&vph_pwr>;
  355. vdd-s2-supply = <&vreg_bob>;
  356. vdd-l2-supply = <&vreg_s8c_1p3>;
  357. vdd-l5-l6-supply = <&vreg_bob>;
  358. vdd-l7-supply = <&vreg_s4a_1p8>;
  359. vreg_l1f_cam_dvdd1_1p1: ldo1 {
  360. regulator-name = "vreg_l1f_cam_dvdd1_1p1";
  361. regulator-min-microvolt = <1104000>;
  362. regulator-max-microvolt = <1104000>;
  363. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  364. };
  365. vreg_l2f_cam_dvdd0_1p2: ldo2 {
  366. regulator-name = "vreg_l2f_cam_dvdd0_1p2";
  367. regulator-min-microvolt = <1200000>;
  368. regulator-max-microvolt = <1200000>;
  369. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  370. };
  371. vreg_l3f_cam_dvdd2_1p05: ldo3 {
  372. regulator-name = "vreg_l3f_cam_dvdd2_1p05";
  373. regulator-min-microvolt = <1056000>;
  374. regulator-max-microvolt = <1056000>;
  375. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  376. };
  377. vreg_l5f_cam_avdd0_2p85: ldo5 {
  378. regulator-name = "vreg_l5f_cam_avdd0_2p85";
  379. regulator-min-microvolt = <2800000>;
  380. regulator-max-microvolt = <2800000>;
  381. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  382. };
  383. vreg_l6f_cam_avdd1_2p85: ldo6 {
  384. regulator-name = "vreg_l6f_cam_avdd1_2p85";
  385. regulator-min-microvolt = <2856000>;
  386. regulator-max-microvolt = <2856000>;
  387. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  388. };
  389. vreg_l7f_1p8: ldo7 {
  390. regulator-name = "vreg_l7f_1p8";
  391. regulator-min-microvolt = <1800000>;
  392. regulator-max-microvolt = <1800000>;
  393. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  394. };
  395. };
  396. };
  397. &cdsp {
  398. status = "okay";
  399. firmware-name = "qcom/sm8250/cdsp.mbn";
  400. };
  401. &gmu {
  402. status = "okay";
  403. };
  404. &gpu {
  405. status = "okay";
  406. zap-shader {
  407. memory-region = <&gpu_mem>;
  408. firmware-name = "qcom/sm8250/a650_zap.mbn";
  409. };
  410. };
  411. &i2c1 {
  412. status = "okay";
  413. clock-frequency = <1000000>;
  414. /* NQ NFC chip @28 */
  415. };
  416. &i2c13 {
  417. status = "okay";
  418. /* st,stmfts @ 49 */
  419. };
  420. &i2c15 {
  421. status = "okay";
  422. /* smb1390 @ 10 */
  423. /* rtc6226 @ 64 */
  424. };
  425. &pm8150_adc {
  426. xo-therm@4c {
  427. reg = <ADC5_XO_THERM_100K_PU>;
  428. qcom,ratiometric;
  429. qcom,hw-settle-time = <200>;
  430. };
  431. skin-therm@4d {
  432. reg = <ADC5_AMUX_THM1_100K_PU>;
  433. qcom,ratiometric;
  434. qcom,hw-settle-time = <200>;
  435. };
  436. pa-therm1@4e {
  437. reg = <ADC5_AMUX_THM2_100K_PU>;
  438. qcom,ratiometric;
  439. qcom,hw-settle-time = <200>;
  440. };
  441. };
  442. &pm8150_adc_tm {
  443. status = "okay";
  444. xo-therm@0 {
  445. reg = <0>;
  446. io-channels = <&pm8150_adc ADC5_XO_THERM_100K_PU>;
  447. qcom,ratiometric;
  448. qcom,hw-settle-time-us = <200>;
  449. };
  450. skin-therm@1 {
  451. reg = <1>;
  452. io-channels = <&pm8150_adc ADC5_AMUX_THM1_100K_PU>;
  453. qcom,ratiometric;
  454. qcom,hw-settle-time-us = <200>;
  455. };
  456. pa-therm1@2 {
  457. reg = <2>;
  458. io-channels = <&pm8150_adc ADC5_AMUX_THM2_100K_PU>;
  459. qcom,ratiometric;
  460. qcom,hw-settle-time-us = <200>;
  461. };
  462. };
  463. &pm8150b_adc {
  464. conn-therm@4f {
  465. reg = <ADC5_AMUX_THM3_100K_PU>;
  466. qcom,ratiometric;
  467. qcom,hw-settle-time = <200>;
  468. };
  469. };
  470. &pm8150b_adc_tm {
  471. status = "okay";
  472. conn-therm@0 {
  473. reg = <0>;
  474. io-channels = <&pm8150b_adc ADC5_AMUX_THM3_100K_PU>;
  475. qcom,ratiometric;
  476. qcom,hw-settle-time-us = <200>;
  477. };
  478. };
  479. &pm8150l_adc_tm {
  480. status = "okay";
  481. camera-flash-therm@0 {
  482. reg = <0>;
  483. io-channels = <&pm8150l_adc ADC5_AMUX_THM1_100K_PU>;
  484. qcom,ratiometric;
  485. qcom,hw-settle-time-us = <200>;
  486. };
  487. skin-msm-therm@1 {
  488. reg = <1>;
  489. io-channels = <&pm8150l_adc ADC5_AMUX_THM2_100K_PU>;
  490. qcom,ratiometric;
  491. qcom,hw-settle-time-us = <200>;
  492. };
  493. pa-therm2@2 {
  494. reg = <2>;
  495. io-channels = <&pm8150l_adc ADC5_AMUX_THM3_100K_PU>;
  496. qcom,ratiometric;
  497. qcom,hw-settle-time-us = <200>;
  498. };
  499. };
  500. &pm8150l_adc {
  501. camera-flash-therm@4d {
  502. reg = <ADC5_AMUX_THM1_100K_PU>;
  503. qcom,ratiometric;
  504. qcom,hw-settle-time = <200>;
  505. };
  506. skin-msm-therm@4e {
  507. reg = <ADC5_AMUX_THM2_100K_PU>;
  508. qcom,ratiometric;
  509. qcom,hw-settle-time = <200>;
  510. };
  511. pa-therm2@4f {
  512. reg = <ADC5_AMUX_THM3_100K_PU>;
  513. qcom,ratiometric;
  514. qcom,hw-settle-time = <200>;
  515. };
  516. };
  517. &qupv3_id_0 {
  518. status = "okay";
  519. };
  520. &qupv3_id_1 {
  521. status = "okay";
  522. };
  523. &qupv3_id_2 {
  524. status = "okay";
  525. };
  526. &rxmacro {
  527. status = "okay";
  528. };
  529. &slpi {
  530. status = "okay";
  531. firmware-name = "qcom/sm8250/slpi.mbn";
  532. };
  533. &soc {
  534. wcd938x: codec {
  535. compatible = "qcom,wcd9380-codec";
  536. #sound-dai-cells = <1>;
  537. reset-gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
  538. vdd-buck-supply = <&vreg_s4a_1p8>;
  539. vdd-rxtx-supply = <&vreg_s4a_1p8>;
  540. vdd-io-supply = <&vreg_s4a_1p8>;
  541. vdd-mic-bias-supply = <&vreg_bob>;
  542. qcom,micbias1-microvolt = <1800000>;
  543. qcom,micbias2-microvolt = <1800000>;
  544. qcom,micbias3-microvolt = <1800000>;
  545. qcom,micbias4-microvolt = <1800000>;
  546. qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
  547. qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
  548. qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
  549. qcom,rx-device = <&wcd_rx>;
  550. qcom,tx-device = <&wcd_tx>;
  551. };
  552. };
  553. &sound {
  554. compatible = "qcom,sm8250-sndcard";
  555. model = "SM8250-MTP-WCD9380-WSA8810-VA-DMIC";
  556. audio-routing =
  557. "SpkrLeft IN", "WSA_SPK1 OUT",
  558. "SpkrRight IN", "WSA_SPK2 OUT",
  559. "IN1_HPHL", "HPHL_OUT",
  560. "IN2_HPHR", "HPHR_OUT",
  561. "AMIC1", "MIC BIAS1",
  562. "AMIC2", "MIC BIAS2",
  563. "AMIC3", "MIC BIAS3",
  564. "AMIC4", "MIC BIAS3",
  565. "AMIC5", "MIC BIAS4",
  566. "TX SWR_ADC0", "ADC1_OUTPUT",
  567. "TX SWR_ADC1", "ADC2_OUTPUT",
  568. "TX SWR_ADC2", "ADC3_OUTPUT",
  569. "TX SWR_ADC3", "ADC4_OUTPUT",
  570. "TX SWR_DMIC0", "DMIC1_OUTPUT",
  571. "TX SWR_DMIC1", "DMIC2_OUTPUT",
  572. "TX SWR_DMIC2", "DMIC3_OUTPUT",
  573. "TX SWR_DMIC3", "DMIC4_OUTPUT",
  574. "TX SWR_DMIC4", "DMIC5_OUTPUT",
  575. "TX SWR_DMIC5", "DMIC6_OUTPUT",
  576. "TX SWR_DMIC6", "DMIC7_OUTPUT",
  577. "TX SWR_DMIC7", "DMIC8_OUTPUT";
  578. mm1-dai-link {
  579. link-name = "MultiMedia1";
  580. cpu {
  581. sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
  582. };
  583. };
  584. mm2-dai-link {
  585. link-name = "MultiMedia2";
  586. cpu {
  587. sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
  588. };
  589. };
  590. mm3-dai-link {
  591. link-name = "MultiMedia3";
  592. cpu {
  593. sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
  594. };
  595. };
  596. wcd-playback-dai-link {
  597. link-name = "WCD Playback";
  598. cpu {
  599. sound-dai = <&q6afedai RX_CODEC_DMA_RX_0>;
  600. };
  601. codec {
  602. sound-dai = <&wcd938x 0>, <&swr1 0>, <&rxmacro 0>;
  603. };
  604. platform {
  605. sound-dai = <&q6routing>;
  606. };
  607. };
  608. wcd-capture-dai-link {
  609. link-name = "WCD Capture";
  610. cpu {
  611. sound-dai = <&q6afedai TX_CODEC_DMA_TX_3>;
  612. };
  613. codec {
  614. sound-dai = <&wcd938x 1>, <&swr2 0>, <&txmacro 0>;
  615. };
  616. platform {
  617. sound-dai = <&q6routing>;
  618. };
  619. };
  620. wsa-dai-link {
  621. link-name = "WSA Playback";
  622. cpu {
  623. sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>;
  624. };
  625. codec {
  626. sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro 0>;
  627. };
  628. platform {
  629. sound-dai = <&q6routing>;
  630. };
  631. };
  632. va-dai-link {
  633. link-name = "VA Capture";
  634. cpu {
  635. sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>;
  636. };
  637. platform {
  638. sound-dai = <&q6routing>;
  639. };
  640. codec {
  641. sound-dai = <&vamacro 0>;
  642. };
  643. };
  644. };
  645. &swr0 {
  646. left_spkr: wsa8810-right@0,3{
  647. compatible = "sdw10217211000";
  648. reg = <0 3>;
  649. powerdown-gpios = <&tlmm 26 GPIO_ACTIVE_HIGH>;
  650. #thermal-sensor-cells = <0>;
  651. sound-name-prefix = "SpkrLeft";
  652. #sound-dai-cells = <0>;
  653. };
  654. right_spkr: wsa8810-left@0,4{
  655. compatible = "sdw10217211000";
  656. reg = <0 4>;
  657. powerdown-gpios = <&tlmm 127 GPIO_ACTIVE_HIGH>;
  658. #thermal-sensor-cells = <0>;
  659. sound-name-prefix = "SpkrRight";
  660. #sound-dai-cells = <0>;
  661. };
  662. };
  663. &swr1 {
  664. status = "okay";
  665. wcd_rx: wcd9380-rx@0,4 {
  666. compatible = "sdw20217010d00";
  667. reg = <0 4>;
  668. qcom,rx-port-mapping = <1 2 3 4 5>;
  669. };
  670. };
  671. &swr2 {
  672. status = "okay";
  673. wcd_tx: wcd9380-tx@0,3 {
  674. compatible = "sdw20217010d00";
  675. reg = <0 3>;
  676. qcom,tx-port-mapping = <2 3 4 5>;
  677. };
  678. };
  679. &tlmm {
  680. gpio-reserved-ranges = <28 4>, <40 4>;
  681. wcd938x_reset_default: wcd938x_reset_default {
  682. mux {
  683. pins = "gpio32";
  684. function = "gpio";
  685. };
  686. config {
  687. pins = "gpio32";
  688. drive-strength = <16>;
  689. output-high;
  690. };
  691. };
  692. wcd938x_reset_sleep: wcd938x_reset_sleep {
  693. mux {
  694. pins = "gpio32";
  695. function = "gpio";
  696. };
  697. config {
  698. pins = "gpio32";
  699. drive-strength = <16>;
  700. bias-disable;
  701. output-low;
  702. };
  703. };
  704. };
  705. &txmacro {
  706. status = "okay";
  707. };
  708. &uart12 {
  709. status = "okay";
  710. };
  711. &ufs_mem_hc {
  712. status = "okay";
  713. vcc-supply = <&vreg_l17a_3p0>;
  714. vcc-max-microamp = <750000>;
  715. vccq-supply = <&vreg_l6a_1p2>;
  716. vccq-max-microamp = <700000>;
  717. vccq2-supply = <&vreg_s4a_1p8>;
  718. vccq2-max-microamp = <750000>;
  719. };
  720. &ufs_mem_phy {
  721. status = "okay";
  722. vdda-phy-supply = <&vreg_l5a_0p875>;
  723. vdda-pll-supply = <&vreg_l9a_1p2>;
  724. };
  725. &usb_1 {
  726. status = "okay";
  727. };
  728. &usb_1_dwc3 {
  729. dr_mode = "host";
  730. };
  731. &usb_1_hsphy {
  732. status = "okay";
  733. vdda-pll-supply = <&vreg_l5a_0p875>;
  734. vdda18-supply = <&vreg_l12a_1p8>;
  735. vdda33-supply = <&vreg_l2a_3p1>;
  736. };
  737. &usb_1_qmpphy {
  738. status = "okay";
  739. vdda-phy-supply = <&vreg_l9a_1p2>;
  740. vdda-pll-supply = <&vreg_l18a_0p9>;
  741. };
  742. &usb_2 {
  743. status = "okay";
  744. };
  745. &usb_2_dwc3 {
  746. dr_mode = "host";
  747. };
  748. &usb_2_hsphy {
  749. status = "okay";
  750. vdda-pll-supply = <&vreg_l5a_0p875>;
  751. vdda18-supply = <&vreg_l12a_1p8>;
  752. vdda33-supply = <&vreg_l2a_3p1>;
  753. };
  754. &usb_2_qmpphy {
  755. status = "okay";
  756. vdda-phy-supply = <&vreg_l9a_1p2>;
  757. vdda-pll-supply = <&vreg_l18a_0p9>;
  758. };
  759. &venus {
  760. status = "okay";
  761. };