qcom-msm8974-sony-xperia-honami.dts 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461
  1. #include "qcom-msm8974.dtsi"
  2. #include "qcom-pm8841.dtsi"
  3. #include "qcom-pm8941.dtsi"
  4. #include <dt-bindings/gpio/gpio.h>
  5. #include <dt-bindings/input/input.h>
  6. #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
  7. / {
  8. model = "Sony Xperia Z1";
  9. compatible = "sony,xperia-honami", "qcom,msm8974";
  10. aliases {
  11. serial0 = &blsp1_uart2;
  12. };
  13. chosen {
  14. stdout-path = "serial0:115200n8";
  15. };
  16. gpio-keys {
  17. compatible = "gpio-keys";
  18. input-name = "gpio-keys";
  19. pinctrl-names = "default";
  20. pinctrl-0 = <&gpio_keys_pin_a>;
  21. volume-down {
  22. label = "volume_down";
  23. gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>;
  24. linux,input-type = <1>;
  25. linux,code = <KEY_VOLUMEDOWN>;
  26. };
  27. camera-snapshot {
  28. label = "camera_snapshot";
  29. gpios = <&pm8941_gpios 3 GPIO_ACTIVE_LOW>;
  30. linux,input-type = <1>;
  31. linux,code = <KEY_CAMERA>;
  32. };
  33. camera-focus {
  34. label = "camera_focus";
  35. gpios = <&pm8941_gpios 4 GPIO_ACTIVE_LOW>;
  36. linux,input-type = <1>;
  37. linux,code = <KEY_CAMERA_FOCUS>;
  38. };
  39. volume-up {
  40. label = "volume_up";
  41. gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>;
  42. linux,input-type = <1>;
  43. linux,code = <KEY_VOLUMEUP>;
  44. };
  45. };
  46. memory@0 {
  47. reg = <0 0x40000000>, <0x40000000 0x40000000>;
  48. device_type = "memory";
  49. };
  50. smd {
  51. rpm {
  52. rpm_requests {
  53. pm8841-regulators {
  54. s1 {
  55. regulator-min-microvolt = <675000>;
  56. regulator-max-microvolt = <1050000>;
  57. };
  58. s2 {
  59. regulator-min-microvolt = <500000>;
  60. regulator-max-microvolt = <1050000>;
  61. };
  62. s3 {
  63. regulator-min-microvolt = <500000>;
  64. regulator-max-microvolt = <1050000>;
  65. };
  66. s4 {
  67. regulator-min-microvolt = <500000>;
  68. regulator-max-microvolt = <1050000>;
  69. };
  70. };
  71. pm8941-regulators {
  72. vdd_l1_l3-supply = <&pm8941_s1>;
  73. vdd_l2_lvs1_2_3-supply = <&pm8941_s3>;
  74. vdd_l4_l11-supply = <&pm8941_s1>;
  75. vdd_l5_l7-supply = <&pm8941_s2>;
  76. vdd_l6_l12_l14_l15-supply = <&pm8941_s2>;
  77. vdd_l9_l10_l17_l22-supply = <&vreg_boost>;
  78. vdd_l13_l20_l23_l24-supply = <&vreg_boost>;
  79. vdd_l21-supply = <&vreg_boost>;
  80. vin_5vs-supply = <&pm8941_5v>;
  81. s1 {
  82. regulator-min-microvolt = <1300000>;
  83. regulator-max-microvolt = <1300000>;
  84. regulator-always-on;
  85. regulator-boot-on;
  86. };
  87. s2 {
  88. regulator-min-microvolt = <2150000>;
  89. regulator-max-microvolt = <2150000>;
  90. regulator-boot-on;
  91. };
  92. s3 {
  93. regulator-min-microvolt = <1800000>;
  94. regulator-max-microvolt = <1800000>;
  95. regulator-always-on;
  96. regulator-boot-on;
  97. };
  98. s4 {
  99. regulator-min-microvolt = <5000000>;
  100. regulator-max-microvolt = <5000000>;
  101. };
  102. l1 {
  103. regulator-min-microvolt = <1225000>;
  104. regulator-max-microvolt = <1225000>;
  105. regulator-always-on;
  106. regulator-boot-on;
  107. };
  108. l2 {
  109. regulator-min-microvolt = <1200000>;
  110. regulator-max-microvolt = <1200000>;
  111. };
  112. l3 {
  113. regulator-min-microvolt = <1200000>;
  114. regulator-max-microvolt = <1200000>;
  115. };
  116. l4 {
  117. regulator-min-microvolt = <1225000>;
  118. regulator-max-microvolt = <1225000>;
  119. };
  120. l5 {
  121. regulator-min-microvolt = <1800000>;
  122. regulator-max-microvolt = <1800000>;
  123. };
  124. l6 {
  125. regulator-min-microvolt = <1800000>;
  126. regulator-max-microvolt = <1800000>;
  127. regulator-boot-on;
  128. };
  129. l7 {
  130. regulator-min-microvolt = <1800000>;
  131. regulator-max-microvolt = <1800000>;
  132. regulator-boot-on;
  133. };
  134. l8 {
  135. regulator-min-microvolt = <1800000>;
  136. regulator-max-microvolt = <1800000>;
  137. };
  138. l9 {
  139. regulator-min-microvolt = <1800000>;
  140. regulator-max-microvolt = <2950000>;
  141. };
  142. l11 {
  143. regulator-min-microvolt = <1300000>;
  144. regulator-max-microvolt = <1350000>;
  145. };
  146. l12 {
  147. regulator-min-microvolt = <1800000>;
  148. regulator-max-microvolt = <1800000>;
  149. regulator-always-on;
  150. regulator-boot-on;
  151. };
  152. l13 {
  153. regulator-min-microvolt = <1800000>;
  154. regulator-max-microvolt = <2950000>;
  155. regulator-boot-on;
  156. };
  157. l14 {
  158. regulator-min-microvolt = <1800000>;
  159. regulator-max-microvolt = <1800000>;
  160. };
  161. l15 {
  162. regulator-min-microvolt = <2050000>;
  163. regulator-max-microvolt = <2050000>;
  164. };
  165. l16 {
  166. regulator-min-microvolt = <2700000>;
  167. regulator-max-microvolt = <2700000>;
  168. };
  169. l17 {
  170. regulator-min-microvolt = <2700000>;
  171. regulator-max-microvolt = <2700000>;
  172. };
  173. l18 {
  174. regulator-min-microvolt = <2850000>;
  175. regulator-max-microvolt = <2850000>;
  176. };
  177. l19 {
  178. regulator-min-microvolt = <3300000>;
  179. regulator-max-microvolt = <3300000>;
  180. };
  181. l20 {
  182. regulator-min-microvolt = <2950000>;
  183. regulator-max-microvolt = <2950000>;
  184. regulator-allow-set-load;
  185. regulator-boot-on;
  186. regulator-system-load = <200000>;
  187. };
  188. l21 {
  189. regulator-min-microvolt = <2950000>;
  190. regulator-max-microvolt = <2950000>;
  191. regulator-boot-on;
  192. };
  193. l22 {
  194. regulator-min-microvolt = <3000000>;
  195. regulator-max-microvolt = <3000000>;
  196. };
  197. l23 {
  198. regulator-min-microvolt = <2800000>;
  199. regulator-max-microvolt = <2800000>;
  200. };
  201. l24 {
  202. regulator-min-microvolt = <3075000>;
  203. regulator-max-microvolt = <3075000>;
  204. regulator-boot-on;
  205. };
  206. };
  207. };
  208. };
  209. };
  210. };
  211. &soc {
  212. sdhci@f9824900 {
  213. status = "ok";
  214. vmmc-supply = <&pm8941_l20>;
  215. vqmmc-supply = <&pm8941_s3>;
  216. bus-width = <8>;
  217. non-removable;
  218. pinctrl-names = "default";
  219. pinctrl-0 = <&sdhc1_pin_a>;
  220. };
  221. sdhci@f98a4900 {
  222. status = "ok";
  223. bus-width = <4>;
  224. vmmc-supply = <&pm8941_l21>;
  225. vqmmc-supply = <&pm8941_l13>;
  226. cd-gpios = <&msmgpio 62 GPIO_ACTIVE_LOW>;
  227. pinctrl-names = "default";
  228. pinctrl-0 = <&sdhc2_pin_a>, <&sdhc2_cd_pin_a>;
  229. };
  230. serial@f991e000 {
  231. status = "ok";
  232. pinctrl-names = "default";
  233. pinctrl-0 = <&blsp1_uart2_pin_a>;
  234. };
  235. i2c@f9924000 {
  236. status = "ok";
  237. clock-frequency = <355000>;
  238. qcom,src-freq = <50000000>;
  239. pinctrl-names = "default";
  240. pinctrl-0 = <&i2c2_pins>;
  241. synaptics@2c {
  242. compatible = "syna,rmi4-i2c";
  243. reg = <0x2c>;
  244. interrupts-extended = <&msmgpio 61 IRQ_TYPE_EDGE_FALLING>;
  245. #address-cells = <1>;
  246. #size-cells = <0>;
  247. vdd-supply = <&pm8941_l22>;
  248. vio-supply = <&pm8941_lvs3>;
  249. pinctrl-names = "default";
  250. pinctrl-0 = <&ts_int_pin>;
  251. syna,startup-delay-ms = <10>;
  252. rmi4-f01@1 {
  253. reg = <0x1>;
  254. syna,nosleep-mode = <1>;
  255. };
  256. rmi4-f11@11 {
  257. reg = <0x11>;
  258. touchscreen-inverted-x;
  259. syna,sensor-type = <1>;
  260. };
  261. };
  262. };
  263. pinctrl@fd510000 {
  264. blsp1_uart2_pin_a: blsp1-uart2-pin-active {
  265. rx {
  266. pins = "gpio5";
  267. function = "blsp_uart2";
  268. drive-strength = <2>;
  269. bias-pull-up;
  270. };
  271. tx {
  272. pins = "gpio4";
  273. function = "blsp_uart2";
  274. drive-strength = <4>;
  275. bias-disable;
  276. };
  277. };
  278. i2c2_pins: i2c2 {
  279. mux {
  280. pins = "gpio6", "gpio7";
  281. function = "blsp_i2c2";
  282. drive-strength = <2>;
  283. bias-disable;
  284. };
  285. };
  286. sdhc1_pin_a: sdhc1-pin-active {
  287. clk {
  288. pins = "sdc1_clk";
  289. drive-strength = <16>;
  290. bias-disable;
  291. };
  292. cmd-data {
  293. pins = "sdc1_cmd", "sdc1_data";
  294. drive-strength = <10>;
  295. bias-pull-up;
  296. };
  297. };
  298. sdhc2_cd_pin_a: sdhc2-cd-pin-active {
  299. pins = "gpio62";
  300. function = "gpio";
  301. drive-strength = <2>;
  302. bias-disable;
  303. };
  304. sdhc2_pin_a: sdhc2-pin-active {
  305. clk {
  306. pins = "sdc2_clk";
  307. drive-strength = <10>;
  308. bias-disable;
  309. };
  310. cmd-data {
  311. pins = "sdc2_cmd", "sdc2_data";
  312. drive-strength = <6>;
  313. bias-pull-up;
  314. };
  315. };
  316. ts_int_pin: touch-int {
  317. pin {
  318. pins = "gpio61";
  319. function = "gpio";
  320. drive-strength = <2>;
  321. bias-disable;
  322. input-enable;
  323. };
  324. };
  325. };
  326. dma-controller@f9944000 {
  327. qcom,controlled-remotely;
  328. };
  329. };
  330. &spmi_bus {
  331. pm8941@0 {
  332. charger@1000 {
  333. qcom,fast-charge-safe-current = <1500000>;
  334. qcom,fast-charge-current-limit = <1500000>;
  335. qcom,dc-current-limit = <1800000>;
  336. qcom,fast-charge-safe-voltage = <4400000>;
  337. qcom,fast-charge-high-threshold-voltage = <4350000>;
  338. qcom,fast-charge-low-threshold-voltage = <3400000>;
  339. qcom,auto-recharge-threshold-voltage = <4200000>;
  340. qcom,minimum-input-voltage = <4300000>;
  341. };
  342. gpios@c000 {
  343. gpio_keys_pin_a: gpio-keys-active {
  344. pins = "gpio2", "gpio3", "gpio4", "gpio5";
  345. function = "normal";
  346. bias-pull-up;
  347. power-source = <PM8941_GPIO_S3>;
  348. };
  349. };
  350. coincell@2800 {
  351. status = "ok";
  352. qcom,rset-ohms = <2100>;
  353. qcom,vset-millivolts = <3000>;
  354. };
  355. };
  356. pm8941@1 {
  357. wled@d800 {
  358. status = "ok";
  359. qcom,cs-out;
  360. qcom,current-limit = <20>;
  361. qcom,current-boost-limit = <805>;
  362. qcom,switching-freq = <1600>;
  363. qcom,ovp = <29>;
  364. qcom,num-strings = <2>;
  365. };
  366. };
  367. };