qcom-msm8974-sony-xperia-rhine.dtsi 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487
  1. // SPDX-License-Identifier: GPL-2.0
  2. #include "qcom-msm8974.dtsi"
  3. #include "qcom-pm8841.dtsi"
  4. #include "qcom-pm8941.dtsi"
  5. #include <dt-bindings/input/input.h>
  6. #include <dt-bindings/leds/common.h>
  7. #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
  8. / {
  9. aliases {
  10. serial0 = &blsp1_uart2;
  11. };
  12. chosen {
  13. stdout-path = "serial0:115200n8";
  14. };
  15. gpio-keys {
  16. compatible = "gpio-keys";
  17. pinctrl-names = "default";
  18. pinctrl-0 = <&gpio_keys_pin_a>;
  19. key-volume-down {
  20. label = "volume_down";
  21. gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>;
  22. linux,input-type = <1>;
  23. linux,code = <KEY_VOLUMEDOWN>;
  24. };
  25. key-camera-snapshot {
  26. label = "camera_snapshot";
  27. gpios = <&pm8941_gpios 3 GPIO_ACTIVE_LOW>;
  28. linux,input-type = <1>;
  29. linux,code = <KEY_CAMERA>;
  30. };
  31. key-camera-focus {
  32. label = "camera_focus";
  33. gpios = <&pm8941_gpios 4 GPIO_ACTIVE_LOW>;
  34. linux,input-type = <1>;
  35. linux,code = <KEY_CAMERA_FOCUS>;
  36. };
  37. key-volume-up {
  38. label = "volume_up";
  39. gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>;
  40. linux,input-type = <1>;
  41. linux,code = <KEY_VOLUMEUP>;
  42. };
  43. };
  44. reserved-memory {
  45. #address-cells = <1>;
  46. #size-cells = <1>;
  47. ranges;
  48. ramoops@3e8e0000 {
  49. compatible = "ramoops";
  50. reg = <0x3e8e0000 0x200000>;
  51. console-size = <0x100000>;
  52. record-size = <0x10000>;
  53. ftrace-size = <0x10000>;
  54. pmsg-size = <0x80000>;
  55. };
  56. };
  57. };
  58. &blsp1_i2c2 {
  59. status = "okay";
  60. clock-frequency = <355000>;
  61. synaptics@2c {
  62. compatible = "syna,rmi4-i2c";
  63. reg = <0x2c>;
  64. interrupts-extended = <&tlmm 61 IRQ_TYPE_EDGE_FALLING>;
  65. #address-cells = <1>;
  66. #size-cells = <0>;
  67. vdd-supply = <&pm8941_l22>;
  68. vio-supply = <&pm8941_lvs3>;
  69. pinctrl-names = "default";
  70. pinctrl-0 = <&ts_int_pin>;
  71. syna,startup-delay-ms = <10>;
  72. rmi4-f01@1 {
  73. reg = <0x1>;
  74. syna,nosleep-mode = <1>;
  75. };
  76. rmi4-f11@11 {
  77. reg = <0x11>;
  78. touchscreen-inverted-x;
  79. syna,sensor-type = <1>;
  80. };
  81. };
  82. };
  83. &blsp1_i2c6 {
  84. status = "okay";
  85. clock-frequency = <355000>;
  86. nfc@28 {
  87. compatible = "nxp,pn544-i2c";
  88. reg = <0x28>;
  89. interrupt-parent = <&tlmm>;
  90. interrupts = <59 IRQ_TYPE_EDGE_RISING>;
  91. enable-gpios = <&pm8941_gpios 23 GPIO_ACTIVE_HIGH>;
  92. firmware-gpios = <&tlmm 77 GPIO_ACTIVE_HIGH>;
  93. };
  94. };
  95. &blsp1_uart2 {
  96. status = "okay";
  97. };
  98. &blsp2_dma {
  99. qcom,controlled-remotely;
  100. };
  101. &blsp2_i2c5 {
  102. status = "okay";
  103. clock-frequency = <355000>;
  104. /* sii8334 MHL HDMI bridge */
  105. };
  106. &otg {
  107. status = "okay";
  108. phys = <&usb_hs1_phy>;
  109. phy-select = <&tcsr 0xb000 0>;
  110. extcon = <&smbb>, <&usb_id>;
  111. vbus-supply = <&chg_otg>;
  112. hnp-disable;
  113. srp-disable;
  114. adp-disable;
  115. ulpi {
  116. phy@a {
  117. status = "okay";
  118. v1p8-supply = <&pm8941_l6>;
  119. v3p3-supply = <&pm8941_l24>;
  120. extcon = <&smbb>;
  121. qcom,init-seq = /bits/ 8 <0x1 0x64>;
  122. };
  123. };
  124. };
  125. &pm8941_coincell {
  126. status = "okay";
  127. qcom,rset-ohms = <2100>;
  128. qcom,vset-millivolts = <3000>;
  129. };
  130. &pm8941_gpios {
  131. gpio_keys_pin_a: gpio-keys-active-state {
  132. pins = "gpio2", "gpio3", "gpio4", "gpio5";
  133. function = "normal";
  134. bias-pull-up;
  135. power-source = <PM8941_GPIO_S3>;
  136. };
  137. };
  138. &pm8941_lpg {
  139. status = "okay";
  140. qcom,power-source = <1>;
  141. rgb-led {
  142. color = <LED_COLOR_ID_RGB>;
  143. function = LED_FUNCTION_STATUS;
  144. #address-cells = <1>;
  145. #size-cells = <0>;
  146. led@5 {
  147. reg = <5>;
  148. color = <LED_COLOR_ID_BLUE>;
  149. };
  150. led@6 {
  151. reg = <6>;
  152. color = <LED_COLOR_ID_GREEN>;
  153. };
  154. led@7 {
  155. reg = <7>;
  156. color = <LED_COLOR_ID_RED>;
  157. };
  158. };
  159. };
  160. &pm8941_wled {
  161. status = "okay";
  162. qcom,cs-out;
  163. qcom,current-limit = <20>;
  164. qcom,current-boost-limit = <805>;
  165. qcom,switching-freq = <1600>;
  166. qcom,ovp = <29>;
  167. qcom,num-strings = <2>;
  168. };
  169. &rpm_requests {
  170. pm8841-regulators {
  171. compatible = "qcom,rpm-pm8841-regulators";
  172. pm8841_s1: s1 {
  173. regulator-min-microvolt = <675000>;
  174. regulator-max-microvolt = <1050000>;
  175. };
  176. pm8841_s2: s2 {
  177. regulator-min-microvolt = <500000>;
  178. regulator-max-microvolt = <1050000>;
  179. };
  180. pm8841_s3: s3 {
  181. regulator-min-microvolt = <500000>;
  182. regulator-max-microvolt = <1050000>;
  183. };
  184. pm8841_s4: s4 {
  185. regulator-min-microvolt = <500000>;
  186. regulator-max-microvolt = <1050000>;
  187. };
  188. };
  189. pm8941-regulators {
  190. compatible = "qcom,rpm-pm8941-regulators";
  191. vdd_l1_l3-supply = <&pm8941_s1>;
  192. vdd_l2_lvs1_2_3-supply = <&pm8941_s3>;
  193. vdd_l4_l11-supply = <&pm8941_s1>;
  194. vdd_l5_l7-supply = <&pm8941_s2>;
  195. vdd_l6_l12_l14_l15-supply = <&pm8941_s2>;
  196. vdd_l9_l10_l17_l22-supply = <&vreg_boost>;
  197. vdd_l13_l20_l23_l24-supply = <&vreg_boost>;
  198. vdd_l21-supply = <&vreg_boost>;
  199. pm8941_s1: s1 {
  200. regulator-min-microvolt = <1300000>;
  201. regulator-max-microvolt = <1300000>;
  202. regulator-always-on;
  203. regulator-boot-on;
  204. };
  205. pm8941_s2: s2 {
  206. regulator-min-microvolt = <2150000>;
  207. regulator-max-microvolt = <2150000>;
  208. regulator-boot-on;
  209. };
  210. pm8941_s3: s3 {
  211. regulator-min-microvolt = <1800000>;
  212. regulator-max-microvolt = <1800000>;
  213. regulator-always-on;
  214. regulator-boot-on;
  215. };
  216. pm8941_s4: s4 {
  217. regulator-min-microvolt = <5000000>;
  218. regulator-max-microvolt = <5000000>;
  219. };
  220. pm8941_l1: l1 {
  221. regulator-min-microvolt = <1225000>;
  222. regulator-max-microvolt = <1225000>;
  223. regulator-always-on;
  224. regulator-boot-on;
  225. };
  226. pm8941_l2: l2 {
  227. regulator-min-microvolt = <1200000>;
  228. regulator-max-microvolt = <1200000>;
  229. };
  230. pm8941_l3: l3 {
  231. regulator-min-microvolt = <1200000>;
  232. regulator-max-microvolt = <1200000>;
  233. };
  234. pm8941_l4: l4 {
  235. regulator-min-microvolt = <1225000>;
  236. regulator-max-microvolt = <1225000>;
  237. };
  238. pm8941_l5: l5 {
  239. regulator-min-microvolt = <1800000>;
  240. regulator-max-microvolt = <1800000>;
  241. };
  242. pm8941_l6: l6 {
  243. regulator-min-microvolt = <1800000>;
  244. regulator-max-microvolt = <1800000>;
  245. regulator-boot-on;
  246. };
  247. pm8941_l7: l7 {
  248. regulator-min-microvolt = <1800000>;
  249. regulator-max-microvolt = <1800000>;
  250. regulator-boot-on;
  251. };
  252. pm8941_l8: l8 {
  253. regulator-min-microvolt = <1800000>;
  254. regulator-max-microvolt = <1800000>;
  255. };
  256. pm8941_l9: l9 {
  257. regulator-min-microvolt = <1800000>;
  258. regulator-max-microvolt = <2950000>;
  259. };
  260. pm8941_l11: l11 {
  261. regulator-min-microvolt = <1300000>;
  262. regulator-max-microvolt = <1350000>;
  263. };
  264. pm8941_l12: l12 {
  265. regulator-min-microvolt = <1800000>;
  266. regulator-max-microvolt = <1800000>;
  267. regulator-always-on;
  268. regulator-boot-on;
  269. };
  270. pm8941_l13: l13 {
  271. regulator-min-microvolt = <1800000>;
  272. regulator-max-microvolt = <2950000>;
  273. regulator-boot-on;
  274. };
  275. pm8941_l14: l14 {
  276. regulator-min-microvolt = <1800000>;
  277. regulator-max-microvolt = <1800000>;
  278. };
  279. pm8941_l15: l15 {
  280. regulator-min-microvolt = <2050000>;
  281. regulator-max-microvolt = <2050000>;
  282. };
  283. pm8941_l16: l16 {
  284. regulator-min-microvolt = <2700000>;
  285. regulator-max-microvolt = <2700000>;
  286. };
  287. pm8941_l17: l17 {
  288. regulator-min-microvolt = <2700000>;
  289. regulator-max-microvolt = <2700000>;
  290. };
  291. pm8941_l18: l18 {
  292. regulator-min-microvolt = <2850000>;
  293. regulator-max-microvolt = <2850000>;
  294. };
  295. pm8941_l19: l19 {
  296. regulator-min-microvolt = <3300000>;
  297. regulator-max-microvolt = <3300000>;
  298. };
  299. pm8941_l20: l20 {
  300. regulator-min-microvolt = <2950000>;
  301. regulator-max-microvolt = <2950000>;
  302. regulator-system-load = <200000>;
  303. regulator-allow-set-load;
  304. regulator-boot-on;
  305. };
  306. pm8941_l21: l21 {
  307. regulator-min-microvolt = <2950000>;
  308. regulator-max-microvolt = <2950000>;
  309. regulator-boot-on;
  310. };
  311. pm8941_l22: l22 {
  312. regulator-min-microvolt = <3000000>;
  313. regulator-max-microvolt = <3000000>;
  314. };
  315. pm8941_l23: l23 {
  316. regulator-min-microvolt = <2800000>;
  317. regulator-max-microvolt = <2800000>;
  318. };
  319. pm8941_l24: l24 {
  320. regulator-min-microvolt = <3075000>;
  321. regulator-max-microvolt = <3075000>;
  322. regulator-boot-on;
  323. };
  324. pm8941_lvs3: lvs3 {};
  325. };
  326. };
  327. &sdhc_1 {
  328. status = "okay";
  329. vmmc-supply = <&pm8941_l20>;
  330. vqmmc-supply = <&pm8941_s3>;
  331. pinctrl-names = "default", "sleep";
  332. pinctrl-0 = <&sdc1_on>;
  333. pinctrl-1 = <&sdc1_off>;
  334. };
  335. &sdhc_2 {
  336. status = "okay";
  337. vmmc-supply = <&pm8941_l21>;
  338. vqmmc-supply = <&pm8941_l13>;
  339. cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
  340. pinctrl-names = "default", "sleep";
  341. pinctrl-0 = <&sdc2_on>;
  342. pinctrl-1 = <&sdc2_off>;
  343. };
  344. &smbb {
  345. qcom,fast-charge-safe-current = <1500000>;
  346. qcom,fast-charge-current-limit = <1500000>;
  347. qcom,dc-current-limit = <1800000>;
  348. qcom,fast-charge-safe-voltage = <4400000>;
  349. qcom,fast-charge-high-threshold-voltage = <4350000>;
  350. qcom,fast-charge-low-threshold-voltage = <3400000>;
  351. qcom,auto-recharge-threshold-voltage = <4200000>;
  352. qcom,minimum-input-voltage = <4300000>;
  353. };
  354. &tlmm {
  355. ts_int_pin: touch-int {
  356. pins = "gpio61";
  357. function = "gpio";
  358. drive-strength = <2>;
  359. bias-disable;
  360. input-enable;
  361. };
  362. sdc1_on: sdc1-on {
  363. clk {
  364. pins = "sdc1_clk";
  365. drive-strength = <16>;
  366. bias-disable;
  367. };
  368. cmd-data {
  369. pins = "sdc1_cmd", "sdc1_data";
  370. drive-strength = <10>;
  371. bias-pull-up;
  372. };
  373. };
  374. sdc2_on: sdc-on {
  375. clk {
  376. pins = "sdc2_clk";
  377. drive-strength = <10>;
  378. bias-disable;
  379. };
  380. cmd-data {
  381. pins = "sdc2_cmd", "sdc2_data";
  382. drive-strength = <6>;
  383. bias-pull-up;
  384. };
  385. cd {
  386. pins = "gpio62";
  387. function = "gpio";
  388. drive-strength = <2>;
  389. bias-disable;
  390. };
  391. };
  392. };