sa8295p-adp.dts 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394
  1. // SPDX-License-Identifier: BSD-3-Clause
  2. /*
  3. * Copyright (c) 2021, The Linux Foundation. All rights reserved.
  4. * Copyright (c) 2022, Linaro Limited
  5. */
  6. /dts-v1/;
  7. #include <dt-bindings/gpio/gpio.h>
  8. #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
  9. #include <dt-bindings/spmi/spmi.h>
  10. #include "sa8540p.dtsi"
  11. / {
  12. model = "Qualcomm SA8295P ADP";
  13. compatible = "qcom,sa8295p-adp", "qcom,sa8540p";
  14. aliases {
  15. serial0 = &qup2_uart17;
  16. };
  17. chosen {
  18. stdout-path = "serial0:115200n8";
  19. };
  20. };
  21. &apps_rsc {
  22. pmm8540-a-regulators {
  23. compatible = "qcom,pm8150-rpmh-regulators";
  24. qcom,pmic-id = "a";
  25. vreg_l3a: ldo3 {
  26. regulator-name = "vreg_l3a";
  27. regulator-min-microvolt = <1200000>;
  28. regulator-max-microvolt = <1208000>;
  29. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  30. };
  31. vreg_l5a: ldo5 {
  32. regulator-name = "vreg_l5a";
  33. regulator-min-microvolt = <912000>;
  34. regulator-max-microvolt = <912000>;
  35. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  36. };
  37. vreg_l7a: ldo7 {
  38. regulator-name = "vreg_l7a";
  39. regulator-min-microvolt = <1800000>;
  40. regulator-max-microvolt = <1800000>;
  41. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  42. };
  43. vreg_l13a: ldo13 {
  44. regulator-name = "vreg_l13a";
  45. regulator-min-microvolt = <3072000>;
  46. regulator-max-microvolt = <3072000>;
  47. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  48. };
  49. };
  50. pmm8540-c-regulators {
  51. compatible = "qcom,pm8150-rpmh-regulators";
  52. qcom,pmic-id = "c";
  53. vreg_l1c: ldo1 {
  54. regulator-name = "vreg_l1c";
  55. regulator-min-microvolt = <912000>;
  56. regulator-max-microvolt = <912000>;
  57. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  58. };
  59. vreg_l2c: ldo2 {
  60. regulator-name = "vreg_l2c";
  61. regulator-min-microvolt = <3072000>;
  62. regulator-max-microvolt = <3072000>;
  63. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  64. };
  65. vreg_l3c: ldo3 {
  66. regulator-name = "vreg_l3c";
  67. regulator-min-microvolt = <1200000>;
  68. regulator-max-microvolt = <1200000>;
  69. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  70. regulator-allow-set-load;
  71. regulator-allowed-modes =
  72. <RPMH_REGULATOR_MODE_LPM
  73. RPMH_REGULATOR_MODE_HPM>;
  74. };
  75. vreg_l4c: ldo4 {
  76. regulator-name = "vreg_l4c";
  77. regulator-min-microvolt = <1200000>;
  78. regulator-max-microvolt = <1208000>;
  79. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  80. };
  81. vreg_l6c: ldo6 {
  82. regulator-name = "vreg_l6c";
  83. regulator-min-microvolt = <1200000>;
  84. regulator-max-microvolt = <1200000>;
  85. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  86. regulator-allow-set-load;
  87. regulator-allowed-modes =
  88. <RPMH_REGULATOR_MODE_LPM
  89. RPMH_REGULATOR_MODE_HPM>;
  90. };
  91. vreg_l7c: ldo7 {
  92. regulator-name = "vreg_l7c";
  93. regulator-min-microvolt = <1800000>;
  94. regulator-max-microvolt = <1800000>;
  95. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  96. };
  97. vreg_l10c: ldo10 {
  98. regulator-name = "vreg_l10c";
  99. regulator-min-microvolt = <2504000>;
  100. regulator-max-microvolt = <2504000>;
  101. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  102. regulator-allow-set-load;
  103. regulator-allowed-modes =
  104. <RPMH_REGULATOR_MODE_LPM
  105. RPMH_REGULATOR_MODE_HPM>;
  106. };
  107. vreg_l17c: ldo17 {
  108. regulator-name = "vreg_l17c";
  109. regulator-min-microvolt = <2504000>;
  110. regulator-max-microvolt = <2504000>;
  111. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  112. regulator-allow-set-load;
  113. regulator-allowed-modes =
  114. <RPMH_REGULATOR_MODE_LPM
  115. RPMH_REGULATOR_MODE_HPM>;
  116. };
  117. };
  118. pmm8540-g-regulators {
  119. compatible = "qcom,pm8150-rpmh-regulators";
  120. qcom,pmic-id = "g";
  121. vreg_l3g: ldo3 {
  122. regulator-name = "vreg_l3g";
  123. regulator-min-microvolt = <1200000>;
  124. regulator-max-microvolt = <1200000>;
  125. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  126. };
  127. vreg_l7g: ldo7 {
  128. regulator-name = "vreg_l7g";
  129. regulator-min-microvolt = <1800000>;
  130. regulator-max-microvolt = <1800000>;
  131. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  132. };
  133. vreg_l8g: ldo8 {
  134. regulator-name = "vreg_l8g";
  135. regulator-min-microvolt = <880000>;
  136. regulator-max-microvolt = <880000>;
  137. regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
  138. };
  139. };
  140. };
  141. &qup2 {
  142. status = "okay";
  143. };
  144. &qup2_uart17 {
  145. compatible = "qcom,geni-debug-uart";
  146. status = "okay";
  147. };
  148. &remoteproc_adsp {
  149. firmware-name = "qcom/sa8540p/adsp.mbn";
  150. status = "okay";
  151. };
  152. &remoteproc_nsp0 {
  153. firmware-name = "qcom/sa8540p/cdsp.mbn";
  154. status = "okay";
  155. };
  156. &remoteproc_nsp1 {
  157. firmware-name = "qcom/sa8540p/cdsp1.mbn";
  158. status = "okay";
  159. };
  160. &spmi_bus {
  161. pm8450a: pmic@0 {
  162. compatible = "qcom,pm8150", "qcom,spmi-pmic";
  163. reg = <0x0 SPMI_USID>;
  164. #address-cells = <1>;
  165. #size-cells = <0>;
  166. pm8450a_gpios: gpio@c000 {
  167. compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio";
  168. reg = <0xc000>;
  169. gpio-controller;
  170. gpio-ranges = <&pm8450a_gpios 0 0 10>;
  171. #gpio-cells = <2>;
  172. interrupt-controller;
  173. #interrupt-cells = <2>;
  174. };
  175. };
  176. pm8450c: pmic@4 {
  177. compatible = "qcom,pm8150", "qcom,spmi-pmic";
  178. reg = <0x4 SPMI_USID>;
  179. #address-cells = <1>;
  180. #size-cells = <0>;
  181. pm8450c_gpios: gpio@c000 {
  182. compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio";
  183. reg = <0xc000>;
  184. gpio-controller;
  185. gpio-ranges = <&pm8450c_gpios 0 0 10>;
  186. #gpio-cells = <2>;
  187. interrupt-controller;
  188. #interrupt-cells = <2>;
  189. };
  190. };
  191. pm8450e: pmic@8 {
  192. compatible = "qcom,pm8150", "qcom,spmi-pmic";
  193. reg = <0x8 SPMI_USID>;
  194. #address-cells = <1>;
  195. #size-cells = <0>;
  196. pm8450e_gpios: gpio@c000 {
  197. compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio";
  198. reg = <0xc000>;
  199. gpio-controller;
  200. gpio-ranges = <&pm8450e_gpios 0 0 10>;
  201. #gpio-cells = <2>;
  202. interrupt-controller;
  203. #interrupt-cells = <2>;
  204. };
  205. };
  206. pm8450g: pmic@c {
  207. compatible = "qcom,pm8150", "qcom,spmi-pmic";
  208. reg = <0xc SPMI_USID>;
  209. #address-cells = <1>;
  210. #size-cells = <0>;
  211. pm8450g_gpios: gpio@c000 {
  212. compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio";
  213. reg = <0xc000>;
  214. gpio-controller;
  215. gpio-ranges = <&pm8450g_gpios 0 0 10>;
  216. #gpio-cells = <2>;
  217. interrupt-controller;
  218. #interrupt-cells = <2>;
  219. };
  220. };
  221. };
  222. &ufs_mem_hc {
  223. reset-gpios = <&tlmm 228 GPIO_ACTIVE_LOW>;
  224. vcc-supply = <&vreg_l17c>;
  225. vcc-max-microamp = <800000>;
  226. vccq-supply = <&vreg_l6c>;
  227. vccq-max-microamp = <900000>;
  228. status = "okay";
  229. };
  230. &ufs_mem_phy {
  231. vdda-phy-supply = <&vreg_l8g>;
  232. vdda-pll-supply = <&vreg_l3g>;
  233. status = "okay";
  234. };
  235. &ufs_card_hc {
  236. reset-gpios = <&tlmm 229 GPIO_ACTIVE_LOW>;
  237. vcc-supply = <&vreg_l10c>;
  238. vcc-max-microamp = <800000>;
  239. vccq-supply = <&vreg_l3c>;
  240. vccq-max-microamp = <900000>;
  241. status = "okay";
  242. };
  243. &ufs_card_phy {
  244. vdda-phy-supply = <&vreg_l8g>;
  245. vdda-pll-supply = <&vreg_l3g>;
  246. status = "okay";
  247. };
  248. &usb_0 {
  249. status = "okay";
  250. };
  251. &usb_0_dwc3 {
  252. /* TODO: Define USB-C connector properly */
  253. dr_mode = "peripheral";
  254. };
  255. &usb_0_hsphy {
  256. vdda-pll-supply = <&vreg_l5a>;
  257. vdda18-supply = <&vreg_l7a>;
  258. vdda33-supply = <&vreg_l13a>;
  259. status = "okay";
  260. };
  261. &usb_0_qmpphy {
  262. vdda-phy-supply = <&vreg_l3a>;
  263. vdda-pll-supply = <&vreg_l5a>;
  264. status = "okay";
  265. };
  266. &usb_1 {
  267. status = "okay";
  268. };
  269. &usb_1_dwc3 {
  270. /* TODO: Define USB-C connector properly */
  271. dr_mode = "host";
  272. };
  273. &usb_1_hsphy {
  274. vdda-pll-supply = <&vreg_l1c>;
  275. vdda18-supply = <&vreg_l7c>;
  276. vdda33-supply = <&vreg_l2c>;
  277. status = "okay";
  278. };
  279. &usb_1_qmpphy {
  280. vdda-phy-supply = <&vreg_l4c>;
  281. vdda-pll-supply = <&vreg_l1c>;
  282. status = "okay";
  283. };
  284. &usb_2_hsphy0 {
  285. vdda-pll-supply = <&vreg_l5a>;
  286. vdda18-supply = <&vreg_l7g>;
  287. vdda33-supply = <&vreg_l13a>;
  288. status = "okay";
  289. };
  290. &usb_2_hsphy1 {
  291. vdda-pll-supply = <&vreg_l5a>;
  292. vdda18-supply = <&vreg_l7g>;
  293. vdda33-supply = <&vreg_l13a>;
  294. status = "okay";
  295. };
  296. &usb_2_hsphy2 {
  297. vdda-pll-supply = <&vreg_l5a>;
  298. vdda18-supply = <&vreg_l7g>;
  299. vdda33-supply = <&vreg_l13a>;
  300. status = "okay";
  301. };
  302. &usb_2_hsphy3 {
  303. vdda-pll-supply = <&vreg_l5a>;
  304. vdda18-supply = <&vreg_l7g>;
  305. vdda33-supply = <&vreg_l13a>;
  306. status = "okay";
  307. };
  308. &usb_2_qmpphy0 {
  309. vdda-phy-supply = <&vreg_l3a>;
  310. vdda-pll-supply = <&vreg_l5a>;
  311. status = "okay";
  312. };
  313. &usb_2_qmpphy1 {
  314. vdda-phy-supply = <&vreg_l3a>;
  315. vdda-pll-supply = <&vreg_l5a>;
  316. status = "okay";
  317. };
  318. &xo_board_clk {
  319. clock-frequency = <38400000>;
  320. };
  321. /* PINCTRL */