apq8096-db820c.dtsi 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386
  1. /*
  2. * Copyright (c) 2014-2016, The Linux Foundation. All rights reserved.
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License version 2 and
  6. * only version 2 as published by the Free Software Foundation.
  7. *
  8. * This program is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. * GNU General Public License for more details.
  12. */
  13. #include "msm8996.dtsi"
  14. #include "pm8994.dtsi"
  15. #include "pmi8994.dtsi"
  16. #include "apq8096-db820c-pins.dtsi"
  17. #include "apq8096-db820c-pmic-pins.dtsi"
  18. #include <dt-bindings/input/input.h>
  19. #include <dt-bindings/gpio/gpio.h>
  20. / {
  21. aliases {
  22. serial0 = &blsp2_uart1;
  23. serial1 = &blsp2_uart2;
  24. serial2 = &blsp1_uart1;
  25. i2c0 = &blsp1_i2c2;
  26. i2c1 = &blsp2_i2c1;
  27. i2c2 = &blsp2_i2c0;
  28. spi0 = &blsp1_spi0;
  29. spi1 = &blsp2_spi5;
  30. };
  31. chosen {
  32. stdout-path = "serial0:115200n8";
  33. };
  34. clocks {
  35. divclk4: divclk4 {
  36. compatible = "fixed-clock";
  37. #clock-cells = <0>;
  38. clock-frequency = <32768>;
  39. clock-output-names = "divclk4";
  40. pinctrl-names = "default";
  41. pinctrl-0 = <&divclk4_pin_a>;
  42. };
  43. };
  44. soc {
  45. serial@7570000 {
  46. label = "BT-UART";
  47. status = "okay";
  48. pinctrl-names = "default", "sleep";
  49. pinctrl-0 = <&blsp1_uart1_default>;
  50. pinctrl-1 = <&blsp1_uart1_sleep>;
  51. bluetooth {
  52. compatible = "qcom,qca6174-bt";
  53. /* bt_disable_n gpio */
  54. enable-gpios = <&pm8994_gpios 19 GPIO_ACTIVE_HIGH>;
  55. clocks = <&divclk4>;
  56. };
  57. };
  58. serial@75b0000 {
  59. label = "LS-UART1";
  60. status = "okay";
  61. pinctrl-names = "default", "sleep";
  62. pinctrl-0 = <&blsp2_uart1_2pins_default>;
  63. pinctrl-1 = <&blsp2_uart1_2pins_sleep>;
  64. };
  65. serial@75b1000 {
  66. label = "LS-UART0";
  67. status = "disabled";
  68. pinctrl-names = "default", "sleep";
  69. pinctrl-0 = <&blsp2_uart2_4pins_default>;
  70. pinctrl-1 = <&blsp2_uart2_4pins_sleep>;
  71. };
  72. i2c@7577000 {
  73. /* On Low speed expansion */
  74. label = "LS-I2C0";
  75. status = "okay";
  76. };
  77. i2c@75b6000 {
  78. /* On Low speed expansion */
  79. label = "LS-I2C1";
  80. status = "okay";
  81. };
  82. spi@7575000 {
  83. /* On Low speed expansion */
  84. label = "LS-SPI0";
  85. status = "okay";
  86. };
  87. i2c@75b5000 {
  88. /* On High speed expansion */
  89. label = "HS-I2C2";
  90. status = "okay";
  91. };
  92. spi@75ba000{
  93. /* On High speed expansion */
  94. label = "HS-SPI1";
  95. status = "okay";
  96. };
  97. sdhci@74a4900 {
  98. /* External SD card */
  99. pinctrl-names = "default", "sleep";
  100. pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
  101. pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
  102. cd-gpios = <&msmgpio 38 0x1>;
  103. vmmc-supply = <&pm8994_l21>;
  104. vqmmc-supply = <&pm8994_l13>;
  105. status = "okay";
  106. };
  107. phy@627000 {
  108. status = "okay";
  109. };
  110. ufshc@624000 {
  111. status = "okay";
  112. };
  113. phy@34000 {
  114. status = "okay";
  115. };
  116. phy@7410000 {
  117. status = "okay";
  118. };
  119. phy@7411000 {
  120. status = "okay";
  121. };
  122. phy@7412000 {
  123. status = "okay";
  124. };
  125. usb@6a00000 {
  126. status = "okay";
  127. dwc3@6a00000 {
  128. extcon = <&usb3_id>;
  129. dr_mode = "otg";
  130. };
  131. };
  132. usb3_id: usb3-id {
  133. compatible = "linux,extcon-usb-gpio";
  134. id-gpio = <&pm8994_gpios 22 GPIO_ACTIVE_HIGH>;
  135. pinctrl-names = "default";
  136. pinctrl-0 = <&usb3_vbus_det_gpio>;
  137. };
  138. usb@7600000 {
  139. status = "okay";
  140. dwc3@7600000 {
  141. extcon = <&usb2_id>;
  142. dr_mode = "otg";
  143. maximum-speed = "high-speed";
  144. };
  145. };
  146. usb2_id: usb2-id {
  147. compatible = "linux,extcon-usb-gpio";
  148. id-gpio = <&pmi8994_gpios 6 GPIO_ACTIVE_HIGH>;
  149. pinctrl-names = "default";
  150. pinctrl-0 = <&usb2_vbus_det_gpio>;
  151. };
  152. wlan_en: wlan-en-1-8v {
  153. pinctrl-names = "default";
  154. pinctrl-0 = <&wlan_en_gpios>;
  155. compatible = "regulator-fixed";
  156. regulator-name = "wlan-en-regulator";
  157. regulator-min-microvolt = <1800000>;
  158. regulator-max-microvolt = <1800000>;
  159. gpio = <&pm8994_gpios 8 0>;
  160. /* WLAN card specific delay */
  161. startup-delay-us = <70000>;
  162. enable-active-high;
  163. };
  164. agnoc@0 {
  165. pcie@600000 {
  166. status = "okay";
  167. perst-gpio = <&msmgpio 35 GPIO_ACTIVE_LOW>;
  168. vddpe-3v3-supply = <&wlan_en>;
  169. };
  170. pcie@608000 {
  171. status = "okay";
  172. perst-gpio = <&msmgpio 130 GPIO_ACTIVE_LOW>;
  173. };
  174. pcie@610000 {
  175. status = "okay";
  176. perst-gpio = <&msmgpio 114 GPIO_ACTIVE_LOW>;
  177. };
  178. };
  179. };
  180. gpio_keys {
  181. compatible = "gpio-keys";
  182. #address-cells = <1>;
  183. #size-cells = <0>;
  184. autorepeat;
  185. pinctrl-names = "default";
  186. pinctrl-0 = <&volume_up_gpio>;
  187. button@0 {
  188. label = "Volume Up";
  189. linux,code = <KEY_VOLUMEUP>;
  190. gpios = <&pm8994_gpios 2 GPIO_ACTIVE_LOW>;
  191. };
  192. };
  193. rpm-glink {
  194. rpm_requests {
  195. pm8994-regulators {
  196. vdd_l1-supply = <&pm8994_s3>;
  197. vdd_l2_l26_l28-supply = <&pm8994_s3>;
  198. vdd_l3_l11-supply = <&pm8994_s3>;
  199. vdd_l4_l27_l31-supply = <&pm8994_s3>;
  200. vdd_l5_l7-supply = <&pm8994_s5>;
  201. vdd_l14_l15-supply = <&pm8994_s5>;
  202. vdd_l20_l21-supply = <&pm8994_s5>;
  203. vdd_l25-supply = <&pm8994_s3>;
  204. s3 {
  205. regulator-min-microvolt = <1300000>;
  206. regulator-max-microvolt = <1300000>;
  207. };
  208. /**
  209. * 1.8v required on LS expansion
  210. * for mezzanine boards
  211. */
  212. s4 {
  213. regulator-min-microvolt = <1800000>;
  214. regulator-max-microvolt = <1800000>;
  215. regulator-always-on;
  216. };
  217. s5 {
  218. regulator-min-microvolt = <2150000>;
  219. regulator-max-microvolt = <2150000>;
  220. };
  221. s7 {
  222. regulator-min-microvolt = <800000>;
  223. regulator-max-microvolt = <800000>;
  224. };
  225. l1 {
  226. regulator-min-microvolt = <1000000>;
  227. regulator-max-microvolt = <1000000>;
  228. };
  229. l2 {
  230. regulator-min-microvolt = <1250000>;
  231. regulator-max-microvolt = <1250000>;
  232. };
  233. l3 {
  234. regulator-min-microvolt = <850000>;
  235. regulator-max-microvolt = <850000>;
  236. };
  237. l4 {
  238. regulator-min-microvolt = <1225000>;
  239. regulator-max-microvolt = <1225000>;
  240. };
  241. l6 {
  242. regulator-min-microvolt = <1200000>;
  243. regulator-max-microvolt = <1200000>;
  244. };
  245. l8 {
  246. regulator-min-microvolt = <1800000>;
  247. regulator-max-microvolt = <1800000>;
  248. };
  249. l9 {
  250. regulator-min-microvolt = <1800000>;
  251. regulator-max-microvolt = <1800000>;
  252. };
  253. l10 {
  254. regulator-min-microvolt = <1800000>;
  255. regulator-max-microvolt = <1800000>;
  256. };
  257. l11 {
  258. regulator-min-microvolt = <1150000>;
  259. regulator-max-microvolt = <1150000>;
  260. };
  261. l12 {
  262. regulator-min-microvolt = <1800000>;
  263. regulator-max-microvolt = <1800000>;
  264. };
  265. l13 {
  266. regulator-min-microvolt = <1800000>;
  267. regulator-max-microvolt = <2950000>;
  268. };
  269. l14 {
  270. regulator-min-microvolt = <1800000>;
  271. regulator-max-microvolt = <1800000>;
  272. };
  273. l15 {
  274. regulator-min-microvolt = <1800000>;
  275. regulator-max-microvolt = <1800000>;
  276. };
  277. l16 {
  278. regulator-min-microvolt = <2700000>;
  279. regulator-max-microvolt = <2700000>;
  280. };
  281. l17 {
  282. regulator-min-microvolt = <2500000>;
  283. regulator-max-microvolt = <2500000>;
  284. };
  285. l18 {
  286. regulator-min-microvolt = <2700000>;
  287. regulator-max-microvolt = <2900000>;
  288. };
  289. l19 {
  290. regulator-min-microvolt = <3000000>;
  291. regulator-max-microvolt = <3000000>;
  292. };
  293. l20 {
  294. regulator-min-microvolt = <2950000>;
  295. regulator-max-microvolt = <2950000>;
  296. regulator-allow-set-load;
  297. };
  298. l21 {
  299. regulator-min-microvolt = <2950000>;
  300. regulator-max-microvolt = <2950000>;
  301. };
  302. l22 {
  303. regulator-min-microvolt = <3300000>;
  304. regulator-max-microvolt = <3300000>;
  305. };
  306. l23 {
  307. regulator-min-microvolt = <2800000>;
  308. regulator-max-microvolt = <2800000>;
  309. };
  310. l24 {
  311. regulator-min-microvolt = <3075000>;
  312. regulator-max-microvolt = <3075000>;
  313. };
  314. l25 {
  315. regulator-min-microvolt = <1200000>;
  316. regulator-max-microvolt = <1200000>;
  317. regulator-allow-set-load;
  318. };
  319. l27 {
  320. regulator-min-microvolt = <1000000>;
  321. regulator-max-microvolt = <1000000>;
  322. };
  323. l28 {
  324. regulator-min-microvolt = <925000>;
  325. regulator-max-microvolt = <925000>;
  326. regulator-allow-set-load;
  327. };
  328. l29 {
  329. regulator-min-microvolt = <2800000>;
  330. regulator-max-microvolt = <2800000>;
  331. };
  332. l30 {
  333. regulator-min-microvolt = <1800000>;
  334. regulator-max-microvolt = <1800000>;
  335. };
  336. l32 {
  337. regulator-min-microvolt = <1800000>;
  338. regulator-max-microvolt = <1800000>;
  339. };
  340. };
  341. };
  342. };
  343. };