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