qcom-rpmpd.h 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419
  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. /* SA8775P Power Domain Indexes */
  6. #define SA8775P_CX 0
  7. #define SA8775P_CX_AO 1
  8. #define SA8775P_DDR 2
  9. #define SA8775P_EBI 3
  10. #define SA8775P_GFX 4
  11. #define SA8775P_LCX 5
  12. #define SA8775P_LMX 6
  13. #define SA8775P_MMCX 7
  14. #define SA8775P_MMCX_AO 8
  15. #define SA8775P_MSS 9
  16. #define SA8775P_MX 10
  17. #define SA8775P_MX_AO 11
  18. #define SA8775P_MXC 12
  19. #define SA8775P_MXC_AO 13
  20. #define SA8775P_NSP0 14
  21. #define SA8775P_NSP1 15
  22. #define SA8775P_XO 16
  23. /* SDM670 Power Domain Indexes */
  24. #define SDM670_MX 0
  25. #define SDM670_MX_AO 1
  26. #define SDM670_CX 2
  27. #define SDM670_CX_AO 3
  28. #define SDM670_LMX 4
  29. #define SDM670_LCX 5
  30. #define SDM670_GFX 6
  31. #define SDM670_MSS 7
  32. /* SDM845 Power Domain Indexes */
  33. #define SDM845_EBI 0
  34. #define SDM845_MX 1
  35. #define SDM845_MX_AO 2
  36. #define SDM845_CX 3
  37. #define SDM845_CX_AO 4
  38. #define SDM845_LMX 5
  39. #define SDM845_LCX 6
  40. #define SDM845_GFX 7
  41. #define SDM845_MSS 8
  42. /* SDX55 Power Domain Indexes */
  43. #define SDX55_MSS 0
  44. #define SDX55_MX 1
  45. #define SDX55_CX 2
  46. /* SDX65 Power Domain Indexes */
  47. #define SDX65_MSS 0
  48. #define SDX65_MX 1
  49. #define SDX65_MX_AO 2
  50. #define SDX65_CX 3
  51. #define SDX65_CX_AO 4
  52. #define SDX65_MXC 5
  53. /* SM6350 Power Domain Indexes */
  54. #define SM6350_CX 0
  55. #define SM6350_GFX 1
  56. #define SM6350_LCX 2
  57. #define SM6350_LMX 3
  58. #define SM6350_MSS 4
  59. #define SM6350_MX 5
  60. /* SM6350 Power Domain Indexes */
  61. #define SM6375_VDDCX 0
  62. #define SM6375_VDDCX_AO 1
  63. #define SM6375_VDDCX_VFL 2
  64. #define SM6375_VDDMX 3
  65. #define SM6375_VDDMX_AO 4
  66. #define SM6375_VDDMX_VFL 5
  67. #define SM6375_VDDGX 6
  68. #define SM6375_VDDGX_AO 7
  69. #define SM6375_VDD_LPI_CX 8
  70. #define SM6375_VDD_LPI_MX 9
  71. /* SM8150 Power Domain Indexes */
  72. #define SM8150_MSS 0
  73. #define SM8150_EBI 1
  74. #define SM8150_LMX 2
  75. #define SM8150_LCX 3
  76. #define SM8150_GFX 4
  77. #define SM8150_MX 5
  78. #define SM8150_MX_AO 6
  79. #define SM8150_CX 7
  80. #define SM8150_CX_AO 8
  81. #define SM8150_MMCX 9
  82. #define SM8150_MMCX_AO 10
  83. /* SA8155P is a special case, kept for backwards compatibility */
  84. #define SA8155P_CX SM8150_CX
  85. #define SA8155P_CX_AO SM8150_CX_AO
  86. #define SA8155P_EBI SM8150_EBI
  87. #define SA8155P_GFX SM8150_GFX
  88. #define SA8155P_MSS SM8150_MSS
  89. #define SA8155P_MX SM8150_MX
  90. #define SA8155P_MX_AO SM8150_MX_AO
  91. /* SM8250 Power Domain Indexes */
  92. #define SM8250_CX 0
  93. #define SM8250_CX_AO 1
  94. #define SM8250_EBI 2
  95. #define SM8250_GFX 3
  96. #define SM8250_LCX 4
  97. #define SM8250_LMX 5
  98. #define SM8250_MMCX 6
  99. #define SM8250_MMCX_AO 7
  100. #define SM8250_MX 8
  101. #define SM8250_MX_AO 9
  102. /* SM8350 Power Domain Indexes */
  103. #define SM8350_CX 0
  104. #define SM8350_CX_AO 1
  105. #define SM8350_EBI 2
  106. #define SM8350_GFX 3
  107. #define SM8350_LCX 4
  108. #define SM8350_LMX 5
  109. #define SM8350_MMCX 6
  110. #define SM8350_MMCX_AO 7
  111. #define SM8350_MX 8
  112. #define SM8350_MX_AO 9
  113. #define SM8350_MXC 10
  114. #define SM8350_MXC_AO 11
  115. #define SM8350_MSS 12
  116. /* SM8450 Power Domain Indexes */
  117. #define SM8450_CX 0
  118. #define SM8450_CX_AO 1
  119. #define SM8450_EBI 2
  120. #define SM8450_GFX 3
  121. #define SM8450_LCX 4
  122. #define SM8450_LMX 5
  123. #define SM8450_MMCX 6
  124. #define SM8450_MMCX_AO 7
  125. #define SM8450_MX 8
  126. #define SM8450_MX_AO 9
  127. #define SM8450_MXC 10
  128. #define SM8450_MXC_AO 11
  129. #define SM8450_MSS 12
  130. /* SM8550 Power Domain Indexes */
  131. #define SM8550_CX 0
  132. #define SM8550_CX_AO 1
  133. #define SM8550_EBI 2
  134. #define SM8550_GFX 3
  135. #define SM8550_LCX 4
  136. #define SM8550_LMX 5
  137. #define SM8550_MMCX 6
  138. #define SM8550_MMCX_AO 7
  139. #define SM8550_MX 8
  140. #define SM8550_MX_AO 9
  141. #define SM8550_MXC 10
  142. #define SM8550_MXC_AO 11
  143. #define SM8550_MSS 12
  144. #define SM8550_NSP 13
  145. /* QDU1000/QRU1000 Power Domain Indexes */
  146. #define QDU1000_EBI 0
  147. #define QDU1000_MSS 1
  148. #define QDU1000_CX 2
  149. #define QDU1000_MX 3
  150. /* SC7180 Power Domain Indexes */
  151. #define SC7180_CX 0
  152. #define SC7180_CX_AO 1
  153. #define SC7180_GFX 2
  154. #define SC7180_MX 3
  155. #define SC7180_MX_AO 4
  156. #define SC7180_LMX 5
  157. #define SC7180_LCX 6
  158. #define SC7180_MSS 7
  159. /* SC7280 Power Domain Indexes */
  160. #define SC7280_CX 0
  161. #define SC7280_CX_AO 1
  162. #define SC7280_EBI 2
  163. #define SC7280_GFX 3
  164. #define SC7280_MX 4
  165. #define SC7280_MX_AO 5
  166. #define SC7280_LMX 6
  167. #define SC7280_LCX 7
  168. #define SC7280_MSS 8
  169. /* SC8180X Power Domain Indexes */
  170. #define SC8180X_CX 0
  171. #define SC8180X_CX_AO 1
  172. #define SC8180X_EBI 2
  173. #define SC8180X_GFX 3
  174. #define SC8180X_LCX 4
  175. #define SC8180X_LMX 5
  176. #define SC8180X_MMCX 6
  177. #define SC8180X_MMCX_AO 7
  178. #define SC8180X_MSS 8
  179. #define SC8180X_MX 9
  180. #define SC8180X_MX_AO 10
  181. /* SC8280XP Power Domain Indexes */
  182. #define SC8280XP_CX 0
  183. #define SC8280XP_CX_AO 1
  184. #define SC8280XP_DDR 2
  185. #define SC8280XP_EBI 3
  186. #define SC8280XP_GFX 4
  187. #define SC8280XP_LCX 5
  188. #define SC8280XP_LMX 6
  189. #define SC8280XP_MMCX 7
  190. #define SC8280XP_MMCX_AO 8
  191. #define SC8280XP_MSS 9
  192. #define SC8280XP_MX 10
  193. #define SC8280XP_MXC 12
  194. #define SC8280XP_MX_AO 11
  195. #define SC8280XP_NSP 13
  196. #define SC8280XP_QPHY 14
  197. #define SC8280XP_XO 15
  198. /* SDM845 Power Domain performance levels */
  199. #define RPMH_REGULATOR_LEVEL_RETENTION 16
  200. #define RPMH_REGULATOR_LEVEL_MIN_SVS 48
  201. #define RPMH_REGULATOR_LEVEL_LOW_SVS_D2 52
  202. #define RPMH_REGULATOR_LEVEL_LOW_SVS_D1 56
  203. #define RPMH_REGULATOR_LEVEL_LOW_SVS_D0 60
  204. #define RPMH_REGULATOR_LEVEL_LOW_SVS 64
  205. #define RPMH_REGULATOR_LEVEL_LOW_SVS_P1 72
  206. #define RPMH_REGULATOR_LEVEL_LOW_SVS_L1 80
  207. #define RPMH_REGULATOR_LEVEL_LOW_SVS_L2 96
  208. #define RPMH_REGULATOR_LEVEL_SVS 128
  209. #define RPMH_REGULATOR_LEVEL_SVS_L0 144
  210. #define RPMH_REGULATOR_LEVEL_SVS_L1 192
  211. #define RPMH_REGULATOR_LEVEL_SVS_L2 224
  212. #define RPMH_REGULATOR_LEVEL_NOM 256
  213. #define RPMH_REGULATOR_LEVEL_NOM_L0 288
  214. #define RPMH_REGULATOR_LEVEL_NOM_L1 320
  215. #define RPMH_REGULATOR_LEVEL_NOM_L2 336
  216. #define RPMH_REGULATOR_LEVEL_TURBO 384
  217. #define RPMH_REGULATOR_LEVEL_TURBO_L0 400
  218. #define RPMH_REGULATOR_LEVEL_TURBO_L1 416
  219. #define RPMH_REGULATOR_LEVEL_TURBO_L2 432
  220. #define RPMH_REGULATOR_LEVEL_TURBO_L3 448
  221. #define RPMH_REGULATOR_LEVEL_SUPER_TURBO 464
  222. #define RPMH_REGULATOR_LEVEL_SUPER_TURBO_NO_CPR 480
  223. /* MDM9607 Power Domains */
  224. #define MDM9607_VDDCX 0
  225. #define MDM9607_VDDCX_AO 1
  226. #define MDM9607_VDDCX_VFL 2
  227. #define MDM9607_VDDMX 3
  228. #define MDM9607_VDDMX_AO 4
  229. #define MDM9607_VDDMX_VFL 5
  230. /* MSM8226 Power Domain Indexes */
  231. #define MSM8226_VDDCX 0
  232. #define MSM8226_VDDCX_AO 1
  233. #define MSM8226_VDDCX_VFC 2
  234. /* MSM8939 Power Domains */
  235. #define MSM8939_VDDMDCX 0
  236. #define MSM8939_VDDMDCX_AO 1
  237. #define MSM8939_VDDMDCX_VFC 2
  238. #define MSM8939_VDDCX 3
  239. #define MSM8939_VDDCX_AO 4
  240. #define MSM8939_VDDCX_VFC 5
  241. #define MSM8939_VDDMX 6
  242. #define MSM8939_VDDMX_AO 7
  243. /* MSM8916 Power Domain Indexes */
  244. #define MSM8916_VDDCX 0
  245. #define MSM8916_VDDCX_AO 1
  246. #define MSM8916_VDDCX_VFC 2
  247. #define MSM8916_VDDMX 3
  248. #define MSM8916_VDDMX_AO 4
  249. /* MSM8909 Power Domain Indexes */
  250. #define MSM8909_VDDCX MSM8916_VDDCX
  251. #define MSM8909_VDDCX_AO MSM8916_VDDCX_AO
  252. #define MSM8909_VDDCX_VFC MSM8916_VDDCX_VFC
  253. #define MSM8909_VDDMX MSM8916_VDDMX
  254. #define MSM8909_VDDMX_AO MSM8916_VDDMX_AO
  255. /* MSM8917 Power Domain Indexes */
  256. #define MSM8917_VDDCX 0
  257. #define MSM8917_VDDCX_AO 1
  258. #define MSM8917_VDDCX_VFL 2
  259. #define MSM8917_VDDMX 3
  260. #define MSM8917_VDDMX_AO 4
  261. /* MSM8937 Power Domain Indexes */
  262. #define MSM8937_VDDCX MSM8917_VDDCX
  263. #define MSM8937_VDDCX_AO MSM8917_VDDCX_AO
  264. #define MSM8937_VDDCX_VFL MSM8917_VDDCX_VFL
  265. #define MSM8937_VDDMX MSM8917_VDDMX
  266. #define MSM8937_VDDMX_AO MSM8917_VDDMX_AO
  267. /* QM215 Power Domain Indexes */
  268. #define QM215_VDDCX MSM8917_VDDCX
  269. #define QM215_VDDCX_AO MSM8917_VDDCX_AO
  270. #define QM215_VDDCX_VFL MSM8917_VDDCX_VFL
  271. #define QM215_VDDMX MSM8917_VDDMX
  272. #define QM215_VDDMX_AO MSM8917_VDDMX_AO
  273. /* MSM8953 Power Domain Indexes */
  274. #define MSM8953_VDDMD 0
  275. #define MSM8953_VDDMD_AO 1
  276. #define MSM8953_VDDCX 2
  277. #define MSM8953_VDDCX_AO 3
  278. #define MSM8953_VDDCX_VFL 4
  279. #define MSM8953_VDDMX 5
  280. #define MSM8953_VDDMX_AO 6
  281. /* MSM8974 Power Domain Indexes */
  282. #define MSM8974_VDDCX 0
  283. #define MSM8974_VDDCX_AO 1
  284. #define MSM8974_VDDCX_VFC 2
  285. #define MSM8974_VDDGFX 3
  286. #define MSM8974_VDDGFX_VFC 4
  287. /* MSM8976 Power Domain Indexes */
  288. #define MSM8976_VDDCX 0
  289. #define MSM8976_VDDCX_AO 1
  290. #define MSM8976_VDDCX_VFL 2
  291. #define MSM8976_VDDMX 3
  292. #define MSM8976_VDDMX_AO 4
  293. #define MSM8976_VDDMX_VFL 5
  294. /* MSM8994 Power Domain Indexes */
  295. #define MSM8994_VDDCX 0
  296. #define MSM8994_VDDCX_AO 1
  297. #define MSM8994_VDDCX_VFC 2
  298. #define MSM8994_VDDMX 3
  299. #define MSM8994_VDDMX_AO 4
  300. #define MSM8994_VDDGFX 5
  301. #define MSM8994_VDDGFX_VFC 6
  302. /* MSM8996 Power Domain Indexes */
  303. #define MSM8996_VDDCX 0
  304. #define MSM8996_VDDCX_AO 1
  305. #define MSM8996_VDDCX_VFC 2
  306. #define MSM8996_VDDMX 3
  307. #define MSM8996_VDDMX_AO 4
  308. #define MSM8996_VDDSSCX 5
  309. #define MSM8996_VDDSSCX_VFC 6
  310. /* MSM8998 Power Domain Indexes */
  311. #define MSM8998_VDDCX 0
  312. #define MSM8998_VDDCX_AO 1
  313. #define MSM8998_VDDCX_VFL 2
  314. #define MSM8998_VDDMX 3
  315. #define MSM8998_VDDMX_AO 4
  316. #define MSM8998_VDDMX_VFL 5
  317. #define MSM8998_SSCCX 6
  318. #define MSM8998_SSCCX_VFL 7
  319. #define MSM8998_SSCMX 8
  320. #define MSM8998_SSCMX_VFL 9
  321. /* QCS404 Power Domains */
  322. #define QCS404_VDDMX 0
  323. #define QCS404_VDDMX_AO 1
  324. #define QCS404_VDDMX_VFL 2
  325. #define QCS404_LPICX 3
  326. #define QCS404_LPICX_VFL 4
  327. #define QCS404_LPIMX 5
  328. #define QCS404_LPIMX_VFL 6
  329. /* SDM660 Power Domains */
  330. #define SDM660_VDDCX 0
  331. #define SDM660_VDDCX_AO 1
  332. #define SDM660_VDDCX_VFL 2
  333. #define SDM660_VDDMX 3
  334. #define SDM660_VDDMX_AO 4
  335. #define SDM660_VDDMX_VFL 5
  336. #define SDM660_SSCCX 6
  337. #define SDM660_SSCCX_VFL 7
  338. #define SDM660_SSCMX 8
  339. #define SDM660_SSCMX_VFL 9
  340. /* SM6115 Power Domains */
  341. #define SM6115_VDDCX 0
  342. #define SM6115_VDDCX_AO 1
  343. #define SM6115_VDDCX_VFL 2
  344. #define SM6115_VDDMX 3
  345. #define SM6115_VDDMX_AO 4
  346. #define SM6115_VDDMX_VFL 5
  347. #define SM6115_VDD_LPI_CX 6
  348. #define SM6115_VDD_LPI_MX 7
  349. /* SM6125 Power Domains */
  350. #define SM6125_VDDCX 0
  351. #define SM6125_VDDCX_AO 1
  352. #define SM6125_VDDCX_VFL 2
  353. #define SM6125_VDDMX 3
  354. #define SM6125_VDDMX_AO 4
  355. #define SM6125_VDDMX_VFL 5
  356. /* QCM2290 Power Domains */
  357. #define QCM2290_VDDCX 0
  358. #define QCM2290_VDDCX_AO 1
  359. #define QCM2290_VDDCX_VFL 2
  360. #define QCM2290_VDDMX 3
  361. #define QCM2290_VDDMX_AO 4
  362. #define QCM2290_VDDMX_VFL 5
  363. #define QCM2290_VDD_LPI_CX 6
  364. #define QCM2290_VDD_LPI_MX 7
  365. /* RPM SMD Power Domain performance levels */
  366. #define RPM_SMD_LEVEL_RETENTION 16
  367. #define RPM_SMD_LEVEL_RETENTION_PLUS 32
  368. #define RPM_SMD_LEVEL_MIN_SVS 48
  369. #define RPM_SMD_LEVEL_LOW_SVS 64
  370. #define RPM_SMD_LEVEL_SVS 128
  371. #define RPM_SMD_LEVEL_SVS_PLUS 192
  372. #define RPM_SMD_LEVEL_NOM 256
  373. #define RPM_SMD_LEVEL_NOM_PLUS 320
  374. #define RPM_SMD_LEVEL_TURBO 384
  375. #define RPM_SMD_LEVEL_TURBO_NO_CPR 416
  376. #define RPM_SMD_LEVEL_TURBO_HIGH 448
  377. #define RPM_SMD_LEVEL_BINNING 512
  378. #endif