msm8996-sony-xperia-tone.dtsi 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959
  1. // SPDX-License-Identifier: BSD-3-Clause
  2. /*
  3. * Copyright (c) 2021, AngeloGioacchino Del Regno
  4. * <[email protected]>
  5. * Copyright (c) 2021, Konrad Dybcio <[email protected]>
  6. */
  7. #include "msm8996.dtsi"
  8. #include "pm8994.dtsi"
  9. #include "pmi8994.dtsi"
  10. #include "pmi8996.dtsi"
  11. #include <dt-bindings/input/input.h>
  12. #include <dt-bindings/gpio/gpio.h>
  13. #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
  14. #include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
  15. /delete-node/ &adsp_mem;
  16. /delete-node/ &slpi_mem;
  17. /delete-node/ &venus_mem;
  18. /delete-node/ &gpu_mem;
  19. / {
  20. qcom,msm-id = <246 0x30001>; /* MSM8996 V3.1 (Final) */
  21. qcom,board-id = <8 0>;
  22. chosen {
  23. /*
  24. * Due to an unknown-for-a-few-years regression,
  25. * SDHCI only works on MSM8996 in PIO (lame) mode.
  26. */
  27. bootargs = "sdhci.debug_quirks=0x40 sdhci.debug_quirks2=0x4 maxcpus=2";
  28. };
  29. reserved-memory {
  30. ramoops@a7f00000 {
  31. compatible = "ramoops";
  32. reg = <0 0xa7f00000 0 0x100000>;
  33. record-size = <0x20000>;
  34. console-size = <0x40000>;
  35. ftrace-size = <0x20000>;
  36. pmsg-size = <0x20000>;
  37. ecc-size = <16>;
  38. };
  39. adsp_mem: adsp@8ea00000 {
  40. reg = <0x0 0x8ea00000 0x0 0x1a00000>;
  41. no-map;
  42. };
  43. gpu_mem: gpu@90400000 {
  44. compatible = "shared-dma-pool";
  45. reg = <0x0 0x90400000 0x0 0x2000>;
  46. no-map;
  47. };
  48. slpi_mem: memory@90500000 {
  49. reg = <0 0x90500000 0 0xa00000>;
  50. no-map;
  51. };
  52. venus_mem: memory@90f00000 {
  53. reg = <0 0x90f00000 0 0x500000>;
  54. no-map;
  55. };
  56. };
  57. panel_tvdd: tvdd-regulator {
  58. compatible = "regulator-fixed";
  59. regulator-name = "panel_tvdd";
  60. gpio = <&tlmm 50 GPIO_ACTIVE_LOW>;
  61. pinctrl-0 = <&tp_vddio_en>;
  62. pinctrl-names = "default";
  63. };
  64. usb3_id: usb3-id {
  65. compatible = "linux,extcon-usb-gpio";
  66. id-gpio = <&tlmm 25 GPIO_ACTIVE_LOW>;
  67. pinctrl-names = "default";
  68. pinctrl-0 = <&usb_detect>;
  69. };
  70. vph_pwr: vph-pwr-regulator {
  71. compatible = "regulator-fixed";
  72. regulator-min-microvolt = <3700000>;
  73. regulator-max-microvolt = <3700000>;
  74. regulator-name = "vph_pwr";
  75. regulator-always-on;
  76. regulator-boot-on;
  77. };
  78. wlan_en: wlan-en-1-8v {
  79. compatible = "regulator-fixed";
  80. regulator-name = "wlan-en-regulator";
  81. regulator-min-microvolt = <1800000>;
  82. regulator-max-microvolt = <1800000>;
  83. gpio = <&tlmm 84 GPIO_ACTIVE_HIGH>;
  84. pinctrl-names = "default";
  85. pinctrl-0 = <&wl_reg_on>;
  86. /* WLAN card specific delay */
  87. startup-delay-us = <70000>;
  88. enable-active-high;
  89. };
  90. };
  91. &blsp1_i2c3 {
  92. status = "okay";
  93. clock-frequency = <355000>;
  94. tof_sensor: vl53l0x@29 {
  95. compatible = "st,vl53l0x";
  96. reg = <0x29>;
  97. };
  98. };
  99. &blsp1_uart2 {
  100. status = "okay";
  101. };
  102. &blsp2_i2c5 {
  103. status = "okay";
  104. clock-frequency = <355000>;
  105. /* FUSB301 USB-C controller */
  106. };
  107. &blsp2_i2c6 {
  108. status = "okay";
  109. clock-frequency = <355000>;
  110. synaptics@2c {
  111. compatible = "syna,rmi4-i2c";
  112. reg = <0x2c>;
  113. interrupt-parent = <&tlmm>;
  114. interrupts = <125 IRQ_TYPE_EDGE_FALLING>;
  115. vdd-supply = <&panel_tvdd>;
  116. syna,reset-delay-ms = <220>;
  117. syna,startup-delay-ms = <220>;
  118. #address-cells = <1>;
  119. #size-cells = <0>;
  120. rmi4-f01@1 {
  121. reg = <0x1>;
  122. syna,nosleep-mode = <1>;
  123. };
  124. rmi4-f11@11 {
  125. reg = <0x11>;
  126. syna,sensor-type = <1>;
  127. };
  128. };
  129. };
  130. &blsp2_uart2 {
  131. status = "okay";
  132. };
  133. &camera0_mclk {
  134. drive-strength = <2>;
  135. output-low;
  136. };
  137. &camera0_pwdn {
  138. drive-strength = <2>;
  139. output-low;
  140. };
  141. &camera0_rst {
  142. pins = "gpio30";
  143. drive-strength = <2>;
  144. output-low;
  145. };
  146. &camera2_mclk {
  147. drive-strength = <2>;
  148. output-low;
  149. };
  150. &camera2_rst {
  151. drive-strength = <2>;
  152. output-low;
  153. };
  154. &hsusb_phy1 {
  155. status = "okay";
  156. vdd-supply = <&pm8994_l28>;
  157. vdda-pll-supply = <&pm8994_l12>;
  158. vdda-phy-dpdm-supply = <&pm8994_l24>;
  159. };
  160. &mmcc {
  161. vdd-gfx-supply = <&vdd_gfx>;
  162. };
  163. &pcie0 {
  164. status = "okay";
  165. perst-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
  166. wake-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
  167. vddpe-3v3-supply = <&wlan_en>;
  168. vdda-supply = <&pm8994_l28>;
  169. };
  170. &pcie_phy {
  171. status = "okay";
  172. vdda-phy-supply = <&pm8994_l28>;
  173. vdda-pll-supply = <&pm8994_l12>;
  174. };
  175. &pm8994_gpios {
  176. pinctrl-names = "default";
  177. pinctrl-0 = <&pm8994_gpios_defaults>;
  178. gpio-line-names =
  179. "NC",
  180. "VOL_DOWN_N",
  181. "VOL_UP_N",
  182. "SNAPSHOT_N",
  183. "FOCUS_N",
  184. "NC",
  185. "NFC_VEN",
  186. "NC",
  187. "NC",
  188. "NC",
  189. "NC",
  190. "NC",
  191. "EAR_EN",
  192. "NC",
  193. "PM_DIVCLK1",
  194. "PMI_CLK",
  195. "NC",
  196. "WL_SLEEP_CLK",
  197. "NC",
  198. "PMIC_SPON",
  199. "UIM_BATT_ALARM",
  200. "PMK_SLEEP_CLK";
  201. /*
  202. * We don't yet know for sure which GPIOs are of our interest, but what
  203. * we do know is that if a vendor sets the pins to a non-default state, there's
  204. * probably a reason for it, and just to be on the safe side, we follow suit.
  205. */
  206. pm8994_gpios_defaults: pm8994-gpios-default-state {
  207. pm8994-gpio1-nc-pins {
  208. pins = "gpio1";
  209. function = PMIC_GPIO_FUNC_NORMAL;
  210. drive-push-pull;
  211. bias-high-impedance;
  212. };
  213. vol-down-n-pins {
  214. pins = "gpio2";
  215. function = PMIC_GPIO_FUNC_NORMAL;
  216. drive-push-pull;
  217. input-enable;
  218. bias-pull-up;
  219. qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
  220. power-source = <PM8994_GPIO_S4>;
  221. };
  222. vol-up-n-pins {
  223. pins = "gpio3";
  224. function = PMIC_GPIO_FUNC_NORMAL;
  225. drive-push-pull;
  226. input-enable;
  227. bias-pull-up;
  228. power-source = <PM8994_GPIO_S4>;
  229. };
  230. camera-snapshot-n-pins {
  231. pins = "gpio4";
  232. function = PMIC_GPIO_FUNC_NORMAL;
  233. drive-push-pull;
  234. input-enable;
  235. bias-pull-up;
  236. qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
  237. power-source = <PM8994_GPIO_S4>;
  238. };
  239. camera-focus-n-pins {
  240. pins = "gpio5";
  241. function = PMIC_GPIO_FUNC_NORMAL;
  242. drive-push-pull;
  243. input-enable;
  244. bias-pull-up;
  245. qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
  246. power-source = <PM8994_GPIO_S4>;
  247. };
  248. pm8994-gpio6-nc-pins {
  249. pins = "gpio6";
  250. function = PMIC_GPIO_FUNC_NORMAL;
  251. drive-push-pull;
  252. bias-high-impedance;
  253. power-source = <PM8994_GPIO_VPH>;
  254. };
  255. nfc-download-pins {
  256. pins = "gpio7";
  257. function = PMIC_GPIO_FUNC_NORMAL;
  258. output-low;
  259. drive-push-pull;
  260. bias-disable;
  261. qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
  262. power-source = <PM8994_GPIO_S4>;
  263. };
  264. pm8994-gpio8-nc-pins {
  265. pins = "gpio8";
  266. function = PMIC_GPIO_FUNC_NORMAL;
  267. output-low;
  268. drive-push-pull;
  269. bias-high-impedance;
  270. qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
  271. power-source = <PM8994_GPIO_VPH>;
  272. };
  273. pm8994-gpio9-nc-pins {
  274. pins = "gpio9";
  275. function = PMIC_GPIO_FUNC_NORMAL;
  276. output-high;
  277. drive-push-pull;
  278. bias-high-impedance;
  279. qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
  280. power-source = <PM8994_GPIO_VPH>;
  281. };
  282. nfc-clock-pins {
  283. pins = "gpio10";
  284. function = PMIC_GPIO_FUNC_NORMAL;
  285. input-enable;
  286. drive-push-pull;
  287. bias-pull-down;
  288. qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
  289. power-source = <PM8994_GPIO_S4>;
  290. };
  291. pm8994-gpio11-nc-pins {
  292. pins = "gpio11";
  293. function = PMIC_GPIO_FUNC_NORMAL;
  294. drive-push-pull;
  295. bias-high-impedance;
  296. power-source = <PM8994_GPIO_VPH>;
  297. };
  298. pm8994-gpio12-nc-pins {
  299. pins = "gpio12";
  300. function = PMIC_GPIO_FUNC_NORMAL;
  301. drive-push-pull;
  302. bias-high-impedance;
  303. power-source = <PM8994_GPIO_VPH>;
  304. };
  305. ear-enable-pins {
  306. pins = "gpio13";
  307. function = PMIC_GPIO_FUNC_NORMAL;
  308. output-high;
  309. drive-push-pull;
  310. bias-disable;
  311. qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
  312. power-source = <PM8994_GPIO_S4>;
  313. };
  314. pm8994-gpio14-nc-pins {
  315. pins = "gpio14";
  316. function = PMIC_GPIO_FUNC_NORMAL;
  317. drive-push-pull;
  318. input-enable;
  319. bias-high-impedance;
  320. qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
  321. power-source = <PM8994_GPIO_VPH>;
  322. };
  323. pm-divclk1-gpio-pins {
  324. pins = "gpio15";
  325. function = "func1";
  326. output-high;
  327. drive-push-pull;
  328. bias-high-impedance;
  329. qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
  330. power-source = <PM8994_GPIO_VPH>;
  331. };
  332. pmi-clk-gpio-pins {
  333. pins = "gpio16";
  334. function = PMIC_GPIO_FUNC_NORMAL;
  335. drive-push-pull;
  336. };
  337. pm8994-gpio17-nc-pins {
  338. pins = "gpio17";
  339. function = PMIC_GPIO_FUNC_NORMAL;
  340. drive-push-pull;
  341. bias-high-impedance;
  342. power-source = <PM8994_GPIO_VPH>;
  343. };
  344. rome-sleep-pins {
  345. pins = "gpio18";
  346. function = PMIC_GPIO_FUNC_FUNC2;
  347. output-low;
  348. drive-push-pull;
  349. bias-disable;
  350. qcom,drive-strength = <PMIC_GPIO_STRENGTH_MED>;
  351. power-source = <PM8994_GPIO_S4>;
  352. };
  353. pm8994-gpio19-nc-pins {
  354. pins = "gpio19";
  355. function = PMIC_GPIO_FUNC_NORMAL;
  356. output-low;
  357. drive-push-pull;
  358. bias-high-impedance;
  359. qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
  360. power-source = <PM8994_GPIO_VPH>;
  361. };
  362. pm8994-gpio22-nc-pins {
  363. pins = "gpio22";
  364. function = PMIC_GPIO_FUNC_NORMAL;
  365. drive-push-pull;
  366. bias-high-impedance;
  367. power-source = <PM8994_GPIO_VPH>;
  368. };
  369. };
  370. };
  371. &pm8994_mpps {
  372. pinctrl-names = "default";
  373. pinctrl-0 = <&pm8994_mpps_defaults>;
  374. gpio-line-names =
  375. "SDC_UIM_VBIAS",
  376. "LCD_ID_ADC",
  377. "VREF_DACX",
  378. "NC",
  379. "FLASH_THERM",
  380. "NC",
  381. "NC",
  382. "RF_ID";
  383. pm8994_mpps_defaults: pm8994-mpps-default-state {
  384. lcd-id_adc-mpp-pins {
  385. pins = "mpp2";
  386. function = "analog";
  387. input-enable;
  388. qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH6>;
  389. };
  390. pm-mpp4-nc-pins {
  391. pins = "mpp4";
  392. function = "digital";
  393. bias-high-impedance;
  394. power-source = <PM8994_GPIO_VPH>;
  395. };
  396. flash-therm-mpp-pins {
  397. pins = "mpp5";
  398. function = "analog";
  399. input-enable;
  400. qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH5>;
  401. };
  402. mpp6-nc-pins {
  403. pins = "mpp6";
  404. function = "digital";
  405. bias-high-impedance;
  406. };
  407. rf-id-mpp-pins {
  408. pins = "mpp8";
  409. function = "analog";
  410. input-enable;
  411. qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH8>;
  412. };
  413. };
  414. };
  415. &pm8994_resin {
  416. status = "okay";
  417. linux,code = <KEY_VOLUMEUP>;
  418. };
  419. &pmi8994_gpios {
  420. pinctrl-names = "default";
  421. pinctrl-0 = <&pmi8994_gpios_defaults>;
  422. gpio-line-names =
  423. "VIB_LDO_EN",
  424. "NC",
  425. "NC",
  426. "NC",
  427. "NC",
  428. "NC",
  429. "NC",
  430. "NC",
  431. "USB_SWITCH_SEL",
  432. "NC";
  433. pmi8994_gpios_defaults: pmi8994-gpios-default-state {
  434. vib-ldo-en-gpio-pins {
  435. pins = "gpio1";
  436. function = PMIC_GPIO_FUNC_NORMAL;
  437. drive-push-pull;
  438. output-low;
  439. bias-disable;
  440. power-source = <PM8994_GPIO_S4>;
  441. };
  442. pmi-gpio2-nc-pins {
  443. pins = "gpio2";
  444. function = PMIC_GPIO_FUNC_NORMAL;
  445. drive-push-pull;
  446. input-enable;
  447. bias-high-impedance;
  448. qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
  449. power-source = <PM8994_GPIO_VPH>;
  450. };
  451. pmi-gpio3-nc-pins {
  452. pins = "gpio3";
  453. function = PMIC_GPIO_FUNC_NORMAL;
  454. drive-push-pull;
  455. input-enable;
  456. bias-high-impedance;
  457. qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
  458. power-source = <PM8994_GPIO_VPH>;
  459. };
  460. pmi-gpio4-nc-pins {
  461. pins = "gpio4";
  462. function = PMIC_GPIO_FUNC_NORMAL;
  463. drive-push-pull;
  464. output-high;
  465. qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
  466. power-source = <PM8994_GPIO_S4>;
  467. };
  468. pmi-gpio5-nc-pins {
  469. pins = "gpio5";
  470. function = PMIC_GPIO_FUNC_NORMAL;
  471. drive-push-pull;
  472. output-high;
  473. qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
  474. power-source = <PM8994_GPIO_S4>;
  475. };
  476. pmi-gpio6-nc-pins {
  477. pins = "gpio6";
  478. function = PMIC_GPIO_FUNC_NORMAL;
  479. drive-push-pull;
  480. output-high;
  481. qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
  482. power-source = <PM8994_GPIO_S4>;
  483. };
  484. pmi-gpio7-nc-pins {
  485. pins = "gpio7";
  486. function = PMIC_GPIO_FUNC_NORMAL;
  487. drive-push-pull;
  488. output-high;
  489. qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
  490. power-source = <PM8994_GPIO_S4>;
  491. };
  492. pmi-gpio8-nc-pins {
  493. pins = "gpio8";
  494. function = PMIC_GPIO_FUNC_NORMAL;
  495. drive-push-pull;
  496. output-high;
  497. qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
  498. power-source = <PM8994_GPIO_S4>;
  499. };
  500. usb-switch-sel-pins {
  501. pins = "gpio9";
  502. function = PMIC_GPIO_FUNC_NORMAL;
  503. drive-push-pull;
  504. };
  505. pmi-gpio10-nc-pins {
  506. pins = "gpio10";
  507. function = PMIC_GPIO_FUNC_NORMAL;
  508. output-low;
  509. drive-push-pull;
  510. bias-disable;
  511. qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
  512. power-source = <PM8994_GPIO_S4>;
  513. };
  514. };
  515. };
  516. &pm8994_spmi_regulators {
  517. qcom,saw-reg = <&saw3>;
  518. pm8994_s9: s9 {
  519. qcom,saw-slave;
  520. };
  521. pm8994_s10: s10 {
  522. qcom,saw-slave;
  523. };
  524. pm8994_s11: s11 {
  525. qcom,saw-leader;
  526. regulator-name = "vdd_apcc";
  527. regulator-always-on;
  528. regulator-min-microvolt = <470000>;
  529. regulator-max-microvolt = <1140000>;
  530. };
  531. };
  532. &pmi8994_spmi_regulators {
  533. vdd_gfx:
  534. pmi8994_s2: s2 {
  535. /* Pinned to a high value for now to avoid random crashes. */
  536. regulator-min-microvolt = <1015000>;
  537. regulator-max-microvolt = <1015000>;
  538. regulator-name = "vdd_gfx";
  539. regulator-always-on;
  540. };
  541. };
  542. &pmi8994_wled {
  543. status = "okay";
  544. default-brightness = <512>;
  545. qcom,num-strings = <3>;
  546. };
  547. &rpm_requests {
  548. pm8994-regulators {
  549. compatible = "qcom,rpm-pm8994-regulators";
  550. vdd_s1-supply = <&vph_pwr>;
  551. vdd_s2-supply = <&vph_pwr>;
  552. vdd_s3-supply = <&vph_pwr>;
  553. vdd_s4-supply = <&vph_pwr>;
  554. vdd_s5-supply = <&vph_pwr>;
  555. vdd_s6-supply = <&vph_pwr>;
  556. vdd_s7-supply = <&vph_pwr>;
  557. vdd_s8-supply = <&vph_pwr>;
  558. vdd_s9-supply = <&vph_pwr>;
  559. vdd_s10-supply = <&vph_pwr>;
  560. vdd_s11-supply = <&vph_pwr>;
  561. vdd_s12-supply = <&vph_pwr>;
  562. vdd_l1-supply = <&pm8994_s3>;
  563. vdd_l2_l26_l28-supply = <&pm8994_s3>;
  564. vdd_l3_l11-supply = <&pm8994_s3>;
  565. vdd_l4_l27_l31-supply = <&pm8994_s3>;
  566. vdd_l5_l7-supply = <&pm8994_s5>;
  567. vdd_l6_l12_l32-supply = <&pm8994_s5>;
  568. vdd_l8_l16_l30-supply = <&vph_pwr>;
  569. vdd_l14_l15-supply = <&pm8994_s5>;
  570. vdd_l20_l21-supply = <&pm8994_s5>;
  571. vdd_l25-supply = <&pm8994_s3>;
  572. vdd_lvs1_2-supply = <&pm8994_s4>;
  573. pm8994_s3: s3 {
  574. regulator-min-microvolt = <1300000>;
  575. regulator-max-microvolt = <1300000>;
  576. };
  577. pm8994_s4: s4 {
  578. regulator-min-microvolt = <1800000>;
  579. regulator-max-microvolt = <1800000>;
  580. regulator-system-load = <325000>;
  581. regulator-always-on;
  582. };
  583. pm8994_s5: s5 {
  584. regulator-min-microvolt = <2150000>;
  585. regulator-max-microvolt = <2150000>;
  586. };
  587. pm8994_s7: s7 {
  588. regulator-min-microvolt = <800000>;
  589. regulator-max-microvolt = <800000>;
  590. };
  591. pm8994_l1: l1 {
  592. regulator-min-microvolt = <1000000>;
  593. regulator-max-microvolt = <1000000>;
  594. };
  595. pm8994_l2: l2 {
  596. regulator-min-microvolt = <1250000>;
  597. regulator-max-microvolt = <1250000>;
  598. };
  599. pm8994_l3: l3 {
  600. regulator-min-microvolt = <1100000>;
  601. regulator-max-microvolt = <1100000>;
  602. };
  603. pm8994_l4: l4 {
  604. regulator-min-microvolt = <1225000>;
  605. regulator-max-microvolt = <1225000>;
  606. };
  607. /* L6 and L7 seem unused. */
  608. pm8994_l8: l8 {
  609. regulator-min-microvolt = <1800000>;
  610. regulator-max-microvolt = <1800000>;
  611. };
  612. pm8994_l9: l9 {
  613. regulator-min-microvolt = <1800000>;
  614. regulator-max-microvolt = <1800000>;
  615. };
  616. pm8994_l10: l10 {
  617. regulator-min-microvolt = <1800000>;
  618. regulator-max-microvolt = <1800000>;
  619. };
  620. pm8994_l11: l11 {
  621. regulator-min-microvolt = <1100000>;
  622. regulator-max-microvolt = <1100000>;
  623. };
  624. pm8994_l12: l12 {
  625. regulator-min-microvolt = <1800000>;
  626. regulator-max-microvolt = <1800000>;
  627. regulator-allow-set-load;
  628. };
  629. pm8994_l13: l13 {
  630. regulator-min-microvolt = <1800000>;
  631. regulator-max-microvolt = <2950000>;
  632. regulator-system-load = <22000>;
  633. regulator-allow-set-load;
  634. };
  635. pm8994_l14: l14 {
  636. regulator-min-microvolt = <1700000>;
  637. regulator-max-microvolt = <1900000>;
  638. };
  639. pm8994_l15: l15 {
  640. regulator-min-microvolt = <1800000>;
  641. regulator-max-microvolt = <1800000>;
  642. };
  643. pm8994_l16: l16 {
  644. regulator-min-microvolt = <2700000>;
  645. regulator-max-microvolt = <2700000>;
  646. };
  647. pm8994_l17: l17 {
  648. regulator-min-microvolt = <2200000>;
  649. regulator-max-microvolt = <2500000>;
  650. };
  651. pm8994_l18: l18 {
  652. regulator-min-microvolt = <1800000>;
  653. regulator-max-microvolt = <1800000>;
  654. };
  655. pm8994_l19: l19 {
  656. regulator-min-microvolt = <3000000>;
  657. regulator-max-microvolt = <3000000>;
  658. };
  659. pm8994_l20: l20 {
  660. regulator-min-microvolt = <2950000>;
  661. regulator-max-microvolt = <2950000>;
  662. regulator-system-load = <570000>;
  663. regulator-allow-set-load;
  664. };
  665. pm8994_l21: l21 {
  666. regulator-min-microvolt = <2950000>;
  667. regulator-max-microvolt = <2950000>;
  668. regulator-system-load = <800000>;
  669. regulator-allow-set-load;
  670. };
  671. pm8994_l22: l22 {
  672. regulator-min-microvolt = <3000000>;
  673. regulator-max-microvolt = <3000000>;
  674. };
  675. pm8994_l23: l23 {
  676. regulator-min-microvolt = <2700000>;
  677. regulator-max-microvolt = <2700000>;
  678. };
  679. pm8994_l24: l24 {
  680. regulator-min-microvolt = <3075000>;
  681. regulator-max-microvolt = <3075000>;
  682. regulator-allow-set-load;
  683. };
  684. pm8994_l25: l25 {
  685. regulator-min-microvolt = <1200000>;
  686. regulator-max-microvolt = <1200000>;
  687. regulator-allow-set-load;
  688. };
  689. pm8994_l27: l27 {
  690. regulator-min-microvolt = <1000000>;
  691. regulator-max-microvolt = <1200000>;
  692. };
  693. pm8994_l28: l28 {
  694. regulator-min-microvolt = <925000>;
  695. regulator-max-microvolt = <925000>;
  696. regulator-allow-set-load;
  697. };
  698. pm8994_l29: l29 {
  699. regulator-min-microvolt = <2700000>;
  700. regulator-max-microvolt = <2700000>;
  701. };
  702. pm8994_l30: l30 { };
  703. pm8994_l32: l32 {
  704. regulator-min-microvolt = <1800000>;
  705. regulator-max-microvolt = <1800000>;
  706. };
  707. };
  708. };
  709. &sdhc1 {
  710. /* eMMC doesn't seem to cooperate even in PIO mode.. */
  711. status = "disabled";
  712. vmmc-supply = <&pm8994_l20>;
  713. vqmmc-supply = <&pm8994_s4>;
  714. mmc-hs400-1_8v;
  715. mmc-hs200-1_8v;
  716. };
  717. &sdhc2 {
  718. status = "okay";
  719. cd-gpios = <&tlmm 40 GPIO_ACTIVE_HIGH>;
  720. vmmc-supply = <&pm8994_l21>;
  721. vqmmc-supply = <&pm8994_l13>;
  722. };
  723. &tlmm {
  724. gpio-reserved-ranges = <0 4>;
  725. pinctrl-0 = <&sw_service_gpio>;
  726. pinctrl-names = "default";
  727. disp_reset_n_gpio: disp-reset-n {
  728. pins = "gpio8";
  729. function = "gpio";
  730. drive-strength = <2>;
  731. bias-disable;
  732. };
  733. mdp_vsync_p_gpio: mdp-vsync-p {
  734. pins = "gpio10";
  735. function = "mdp_vsync";
  736. drive-strength = <2>;
  737. bias-disable;
  738. };
  739. sw_service_gpio: sw-service-gpio {
  740. pins = "gpio16";
  741. function = "gpio";
  742. drive-strength = <2>;
  743. bias-pull-up;
  744. };
  745. usb_detect: usb-detect {
  746. pins = "gpio25";
  747. function = "gpio";
  748. drive-strength = <2>;
  749. bias-disable;
  750. output-high;
  751. };
  752. uim_detect_en: uim-detect-en {
  753. pins = "gpio29";
  754. function = "gpio";
  755. drive-strength = <2>;
  756. bias-disable;
  757. output-high;
  758. };
  759. tray_det_pin: tray-det {
  760. pins = "gpio40";
  761. function = "gpio";
  762. drive-strength = <2>;
  763. bias-disable;
  764. };
  765. tp_vddio_en: tp-vddio-en {
  766. pins = "gpio50";
  767. function = "gpio";
  768. drive-strength = <2>;
  769. bias-disable;
  770. output-high;
  771. };
  772. lcd_vddio_en: lcd-vddio-en {
  773. pins = "gpio51";
  774. function = "gpio";
  775. drive-strength = <2>;
  776. bias-disable;
  777. output-low;
  778. };
  779. wl_host_wake: wl-host-wake {
  780. pins = "gpio79";
  781. function = "gpio";
  782. drive-strength = <2>;
  783. bias-pull-down;
  784. input-high;
  785. };
  786. wl_reg_on: wl-reg-on {
  787. pins = "gpio84";
  788. function = "gpio";
  789. drive-strength = <2>;
  790. bias-disable;
  791. output-low;
  792. };
  793. ts_reset_n: ts-rst-n {
  794. pins = "gpio89";
  795. function = "gpio";
  796. drive-strength = <2>;
  797. };
  798. touch_int_n: touch-int-n {
  799. pins = "gpio125";
  800. function = "gpio";
  801. drive-strength = <2>;
  802. bias-pull-up;
  803. };
  804. touch_int_sleep: touch-int-sleep {
  805. pins = "gpio125";
  806. function = "gpio";
  807. drive-strength = <2>;
  808. bias-pull-down;
  809. };
  810. };
  811. &usb3 {
  812. status = "okay";
  813. qcom,select-utmi-as-pipe-clk;
  814. };
  815. &usb3_dwc3 {
  816. extcon = <&usb3_id>;
  817. dr_mode = "peripheral";
  818. maximum-speed = "high-speed";
  819. phys = <&hsusb_phy1>;
  820. phy-names = "usb2-phy";
  821. snps,hird-threshold = /bits/ 8 <0>;
  822. };