qcom-rpmpd.h 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /* Copyright (c) 2018, The Linux Foundation. All rights reserved. */
  3. #ifndef _DT_BINDINGS_POWER_QCOM_RPMPD_H
  4. #define _DT_BINDINGS_POWER_QCOM_RPMPD_H
  5. #include <dt-bindings/power/qcom,rpmhpd.h>
  6. /* Generic RPM Power Domain Indexes */
  7. #define RPMPD_VDDCX 0
  8. #define RPMPD_VDDCX_AO 1
  9. /* VFC and VFL are mutually exclusive and can not be present on the same platform */
  10. #define RPMPD_VDDCX_VFC 2
  11. #define RPMPD_VDDCX_VFL 2
  12. #define RPMPD_VDDMX 3
  13. #define RPMPD_VDDMX_AO 4
  14. #define RPMPD_VDDMX_VFL 5
  15. #define RPMPD_SSCCX 6
  16. #define RPMPD_SSCCX_VFL 7
  17. #define RPMPD_SSCMX 8
  18. #define RPMPD_SSCMX_VFL 9
  19. /*
  20. * Platform-specific power domain bindings. Don't add new entries here, use
  21. * RPMPD_* above.
  22. */
  23. /* MDM9607 Power Domains */
  24. #define MDM9607_VDDCX RPMPD_VDDCX
  25. #define MDM9607_VDDCX_AO RPMPD_VDDCX_AO
  26. #define MDM9607_VDDCX_VFL RPMPD_VDDCX_VFL
  27. #define MDM9607_VDDMX RPMPD_VDDMX
  28. #define MDM9607_VDDMX_AO RPMPD_VDDMX_AO
  29. #define MDM9607_VDDMX_VFL RPMPD_VDDMX_VFL
  30. /* MSM8226 Power Domain Indexes */
  31. #define MSM8226_VDDCX RPMPD_VDDCX
  32. #define MSM8226_VDDCX_AO RPMPD_VDDCX_AO
  33. #define MSM8226_VDDCX_VFC RPMPD_VDDCX_VFC
  34. /* MSM8939 Power Domains */
  35. #define MSM8939_VDDMDCX 0
  36. #define MSM8939_VDDMDCX_AO 1
  37. #define MSM8939_VDDMDCX_VFC 2
  38. #define MSM8939_VDDCX 3
  39. #define MSM8939_VDDCX_AO 4
  40. #define MSM8939_VDDCX_VFC 5
  41. #define MSM8939_VDDMX 6
  42. #define MSM8939_VDDMX_AO 7
  43. /* MSM8916 Power Domain Indexes */
  44. #define MSM8916_VDDCX RPMPD_VDDCX
  45. #define MSM8916_VDDCX_AO RPMPD_VDDCX_AO
  46. #define MSM8916_VDDCX_VFC RPMPD_VDDCX_VFC
  47. #define MSM8916_VDDMX RPMPD_VDDMX
  48. #define MSM8916_VDDMX_AO RPMPD_VDDMX_AO
  49. /* MSM8909 Power Domain Indexes */
  50. #define MSM8909_VDDCX MSM8916_VDDCX
  51. #define MSM8909_VDDCX_AO MSM8916_VDDCX_AO
  52. #define MSM8909_VDDCX_VFC MSM8916_VDDCX_VFC
  53. #define MSM8909_VDDMX MSM8916_VDDMX
  54. #define MSM8909_VDDMX_AO MSM8916_VDDMX_AO
  55. /* MSM8917 Power Domain Indexes */
  56. #define MSM8917_VDDCX RPMPD_VDDCX
  57. #define MSM8917_VDDCX_AO RPMPD_VDDCX_AO
  58. #define MSM8917_VDDCX_VFL RPMPD_VDDCX_VFL
  59. #define MSM8917_VDDMX RPMPD_VDDMX
  60. #define MSM8917_VDDMX_AO RPMPD_VDDMX_AO
  61. /* MSM8937 Power Domain Indexes */
  62. #define MSM8937_VDDCX MSM8917_VDDCX
  63. #define MSM8937_VDDCX_AO MSM8917_VDDCX_AO
  64. #define MSM8937_VDDCX_VFL MSM8917_VDDCX_VFL
  65. #define MSM8937_VDDMX MSM8917_VDDMX
  66. #define MSM8937_VDDMX_AO MSM8917_VDDMX_AO
  67. /* QM215 Power Domain Indexes */
  68. #define QM215_VDDCX MSM8917_VDDCX
  69. #define QM215_VDDCX_AO MSM8917_VDDCX_AO
  70. #define QM215_VDDCX_VFL MSM8917_VDDCX_VFL
  71. #define QM215_VDDMX MSM8917_VDDMX
  72. #define QM215_VDDMX_AO MSM8917_VDDMX_AO
  73. /* MSM8953 Power Domain Indexes */
  74. #define MSM8953_VDDMD 0
  75. #define MSM8953_VDDMD_AO 1
  76. #define MSM8953_VDDCX 2
  77. #define MSM8953_VDDCX_AO 3
  78. #define MSM8953_VDDCX_VFL 4
  79. #define MSM8953_VDDMX 5
  80. #define MSM8953_VDDMX_AO 6
  81. /* MSM8974 Power Domain Indexes */
  82. #define MSM8974_VDDCX 0
  83. #define MSM8974_VDDCX_AO 1
  84. #define MSM8974_VDDCX_VFC 2
  85. #define MSM8974_VDDGFX 3
  86. #define MSM8974_VDDGFX_VFC 4
  87. /* MSM8976 Power Domain Indexes */
  88. #define MSM8976_VDDCX RPMPD_VDDCX
  89. #define MSM8976_VDDCX_AO RPMPD_VDDCX_AO
  90. #define MSM8976_VDDCX_VFL RPMPD_VDDCX_VFL
  91. #define MSM8976_VDDMX RPMPD_VDDMX
  92. #define MSM8976_VDDMX_AO RPMPD_VDDMX_AO
  93. #define MSM8976_VDDMX_VFL RPMPD_VDDMX_VFL
  94. /* MSM8994 Power Domain Indexes */
  95. #define MSM8994_VDDCX 0
  96. #define MSM8994_VDDCX_AO 1
  97. #define MSM8994_VDDCX_VFC 2
  98. #define MSM8994_VDDMX 3
  99. #define MSM8994_VDDMX_AO 4
  100. #define MSM8994_VDDGFX 5
  101. #define MSM8994_VDDGFX_VFC 6
  102. /* MSM8996 Power Domain Indexes */
  103. #define MSM8996_VDDCX 0
  104. #define MSM8996_VDDCX_AO 1
  105. #define MSM8996_VDDCX_VFC 2
  106. #define MSM8996_VDDMX 3
  107. #define MSM8996_VDDMX_AO 4
  108. #define MSM8996_VDDSSCX 5
  109. #define MSM8996_VDDSSCX_VFC 6
  110. /* MSM8998 Power Domain Indexes */
  111. #define MSM8998_VDDCX RPMPD_VDDCX
  112. #define MSM8998_VDDCX_AO RPMPD_VDDCX_AO
  113. #define MSM8998_VDDCX_VFL RPMPD_VDDCX_VFL
  114. #define MSM8998_VDDMX RPMPD_VDDMX
  115. #define MSM8998_VDDMX_AO RPMPD_VDDMX_AO
  116. #define MSM8998_VDDMX_VFL RPMPD_VDDMX_VFL
  117. #define MSM8998_SSCCX RPMPD_SSCCX
  118. #define MSM8998_SSCCX_VFL RPMPD_SSCCX_VFL
  119. #define MSM8998_SSCMX RPMPD_SSCMX
  120. #define MSM8998_SSCMX_VFL RPMPD_SSCMX_VFL
  121. /* QCM2290 Power Domains */
  122. #define QCM2290_VDDCX 0
  123. #define QCM2290_VDDCX_AO 1
  124. #define QCM2290_VDDCX_VFL 2
  125. #define QCM2290_VDDMX 3
  126. #define QCM2290_VDDMX_AO 4
  127. #define QCM2290_VDDMX_VFL 5
  128. #define QCM2290_VDD_LPI_CX 6
  129. #define QCM2290_VDD_LPI_MX 7
  130. /* QCS404 Power Domains */
  131. #define QCS404_VDDMX 0
  132. #define QCS404_VDDMX_AO 1
  133. #define QCS404_VDDMX_VFL 2
  134. #define QCS404_LPICX 3
  135. #define QCS404_LPICX_VFL 4
  136. #define QCS404_LPIMX 5
  137. #define QCS404_LPIMX_VFL 6
  138. /* SDM660 Power Domains */
  139. #define SDM660_VDDCX RPMPD_VDDCX
  140. #define SDM660_VDDCX_AO RPMPD_VDDCX_AO
  141. #define SDM660_VDDCX_VFL RPMPD_VDDCX_VFL
  142. #define SDM660_VDDMX RPMPD_VDDMX
  143. #define SDM660_VDDMX_AO RPMPD_VDDMX_AO
  144. #define SDM660_VDDMX_VFL RPMPD_VDDMX_VFL
  145. #define SDM660_SSCCX RPMPD_SSCCX
  146. #define SDM660_SSCCX_VFL RPMPD_SSCCX_VFL
  147. #define SDM660_SSCMX RPMPD_SSCMX
  148. #define SDM660_SSCMX_VFL RPMPD_SSCMX_VFL
  149. /* SM6115 Power Domains */
  150. #define SM6115_VDDCX 0
  151. #define SM6115_VDDCX_AO 1
  152. #define SM6115_VDDCX_VFL 2
  153. #define SM6115_VDDMX 3
  154. #define SM6115_VDDMX_AO 4
  155. #define SM6115_VDDMX_VFL 5
  156. #define SM6115_VDD_LPI_CX 6
  157. #define SM6115_VDD_LPI_MX 7
  158. /* SM6125 Power Domains */
  159. #define SM6125_VDDCX RPMPD_VDDCX
  160. #define SM6125_VDDCX_AO RPMPD_VDDCX_AO
  161. #define SM6125_VDDCX_VFL RPMPD_VDDCX_VFL
  162. #define SM6125_VDDMX RPMPD_VDDMX
  163. #define SM6125_VDDMX_AO RPMPD_VDDMX_AO
  164. #define SM6125_VDDMX_VFL RPMPD_VDDMX_VFL
  165. /* SM6375 Power Domain Indexes */
  166. #define SM6375_VDDCX 0
  167. #define SM6375_VDDCX_AO 1
  168. #define SM6375_VDDCX_VFL 2
  169. #define SM6375_VDDMX 3
  170. #define SM6375_VDDMX_AO 4
  171. #define SM6375_VDDMX_VFL 5
  172. #define SM6375_VDDGX 6
  173. #define SM6375_VDDGX_AO 7
  174. #define SM6375_VDD_LPI_CX 8
  175. #define SM6375_VDD_LPI_MX 9
  176. /* RPM SMD Power Domain performance levels */
  177. #define RPM_SMD_LEVEL_RETENTION 16
  178. #define RPM_SMD_LEVEL_RETENTION_PLUS 32
  179. #define RPM_SMD_LEVEL_MIN_SVS 48
  180. #define RPM_SMD_LEVEL_LOW_SVS 64
  181. #define RPM_SMD_LEVEL_SVS 128
  182. #define RPM_SMD_LEVEL_SVS_PLUS 192
  183. #define RPM_SMD_LEVEL_NOM 256
  184. #define RPM_SMD_LEVEL_NOM_PLUS 320
  185. #define RPM_SMD_LEVEL_TURBO 384
  186. #define RPM_SMD_LEVEL_TURBO_NO_CPR 416
  187. #define RPM_SMD_LEVEL_TURBO_HIGH 448
  188. #define RPM_SMD_LEVEL_BINNING 512
  189. #endif