0013-v6.2-arm64-dts-qcom-add-PMP8074-DTSI.patch 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. From fb76b808f8628215afebaf0f8af0bde635302590 Mon Sep 17 00:00:00 2001
  2. From: Robert Marko <[email protected]>
  3. Date: Fri, 19 Aug 2022 00:18:14 +0200
  4. Subject: [PATCH] arm64: dts: qcom: add PMP8074 DTSI
  5. PMP8074 is a companion PMIC to the Qualcomm IPQ8074 series that is
  6. controlled via SPMI.
  7. Add DTSI for it providing GPIO, regulator, RTC and VADC support.
  8. RTC is disabled by default as there is no built-in battery so it will
  9. loose time unless board vendor added a battery, so make it optional.
  10. Signed-off-by: Robert Marko <[email protected]>
  11. Signed-off-by: Bjorn Andersson <[email protected]>
  12. Link: https://lore.kernel.org/r/[email protected]
  13. ---
  14. arch/arm64/boot/dts/qcom/pmp8074.dtsi | 125 ++++++++++++++++++++++++++
  15. 1 file changed, 125 insertions(+)
  16. create mode 100644 arch/arm64/boot/dts/qcom/pmp8074.dtsi
  17. --- /dev/null
  18. +++ b/arch/arm64/boot/dts/qcom/pmp8074.dtsi
  19. @@ -0,0 +1,125 @@
  20. +// SPDX-License-Identifier: GPL-2.0-only OR BSD-3-Clause
  21. +
  22. +#include <dt-bindings/spmi/spmi.h>
  23. +#include <dt-bindings/iio/qcom,spmi-vadc.h>
  24. +
  25. +&spmi_bus {
  26. + pmic@0 {
  27. + compatible = "qcom,pmp8074", "qcom,spmi-pmic";
  28. + reg = <0x0 SPMI_USID>;
  29. + #address-cells = <1>;
  30. + #size-cells = <0>;
  31. +
  32. + pmp8074_adc: adc@3100 {
  33. + compatible = "qcom,spmi-adc-rev2";
  34. + reg = <0x3100>;
  35. + interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
  36. + #address-cells = <1>;
  37. + #size-cells = <0>;
  38. + #io-channel-cells = <1>;
  39. +
  40. + ref-gnd@0 {
  41. + reg = <ADC5_REF_GND>;
  42. + qcom,pre-scaling = <1 1>;
  43. + };
  44. +
  45. + vref-1p25@1 {
  46. + reg = <ADC5_1P25VREF>;
  47. + qcom,pre-scaling = <1 1>;
  48. + };
  49. +
  50. + vref-vadc@2 {
  51. + reg = <ADC5_VREF_VADC>;
  52. + qcom,pre-scaling = <1 1>;
  53. + };
  54. +
  55. + pmic_die: die-temp@6 {
  56. + reg = <ADC5_DIE_TEMP>;
  57. + qcom,pre-scaling = <1 1>;
  58. + };
  59. +
  60. + xo_therm: xo-temp@76 {
  61. + reg = <ADC5_XO_THERM_100K_PU>;
  62. + qcom,ratiometric;
  63. + qcom,hw-settle-time = <200>;
  64. + qcom,pre-scaling = <1 1>;
  65. + };
  66. +
  67. + pa_therm1: thermistor1@77 {
  68. + reg = <ADC5_AMUX_THM1_100K_PU>;
  69. + qcom,ratiometric;
  70. + qcom,hw-settle-time = <200>;
  71. + qcom,pre-scaling = <1 1>;
  72. + };
  73. +
  74. + pa_therm2: thermistor2@78 {
  75. + reg = <ADC5_AMUX_THM2_100K_PU>;
  76. + qcom,ratiometric;
  77. + qcom,hw-settle-time = <200>;
  78. + qcom,pre-scaling = <1 1>;
  79. + };
  80. +
  81. + pa_therm3: thermistor3@79 {
  82. + reg = <ADC5_AMUX_THM3_100K_PU>;
  83. + qcom,ratiometric;
  84. + qcom,hw-settle-time = <200>;
  85. + qcom,pre-scaling = <1 1>;
  86. + };
  87. +
  88. + vph-pwr@131 {
  89. + reg = <ADC5_VPH_PWR>;
  90. + qcom,pre-scaling = <1 3>;
  91. + };
  92. + };
  93. +
  94. + pmp8074_rtc: rtc@6000 {
  95. + compatible = "qcom,pm8941-rtc";
  96. + reg = <0x6000>;
  97. + reg-names = "rtc", "alarm";
  98. + interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
  99. + allow-set-time;
  100. + status = "disabled";
  101. + };
  102. +
  103. + pmp8074_gpios: gpio@c000 {
  104. + compatible = "qcom,pmp8074-gpio", "qcom,spmi-gpio";
  105. + reg = <0xc000>;
  106. + gpio-controller;
  107. + #gpio-cells = <2>;
  108. + gpio-ranges = <&pmp8074_gpios 0 0 12>;
  109. + interrupt-controller;
  110. + #interrupt-cells = <2>;
  111. + };
  112. + };
  113. +
  114. + pmic@1 {
  115. + compatible = "qcom,pmp8074", "qcom,spmi-pmic";
  116. + reg = <0x1 SPMI_USID>;
  117. +
  118. + regulators {
  119. + compatible = "qcom,pmp8074-regulators";
  120. +
  121. + s3: s3 {
  122. + regulator-name = "vdd_s3";
  123. + regulator-min-microvolt = <592000>;
  124. + regulator-max-microvolt = <1064000>;
  125. + regulator-always-on;
  126. + regulator-boot-on;
  127. + };
  128. +
  129. + s4: s4 {
  130. + regulator-name = "vdd_s4";
  131. + regulator-min-microvolt = <712000>;
  132. + regulator-max-microvolt = <992000>;
  133. + regulator-always-on;
  134. + regulator-boot-on;
  135. + };
  136. +
  137. + l11: l11 {
  138. + regulator-name = "l11";
  139. + regulator-min-microvolt = <1800000>;
  140. + regulator-max-microvolt = <3300000>;
  141. + };
  142. + };
  143. + };
  144. +};