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/* SM6350 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_D2 52 222#define RPMH_REGULATOR_LEVEL_LOW_SVS_D1 56 223#define RPMH_REGULATOR_LEVEL_LOW_SVS_D0 60 224#define RPMH_REGULATOR_LEVEL_LOW_SVS 64 225#define RPMH_REGULATOR_LEVEL_LOW_SVS_P1 72 226#define RPMH_REGULATOR_LEVEL_LOW_SVS_L1 80 227#define RPMH_REGULATOR_LEVEL_LOW_SVS_L2 96 228#define RPMH_REGULATOR_LEVEL_SVS 128 229#define RPMH_REGULATOR_LEVEL_SVS_L0 144 230#define RPMH_REGULATOR_LEVEL_SVS_L1 192 231#define RPMH_REGULATOR_LEVEL_SVS_L2 224 232#define RPMH_REGULATOR_LEVEL_NOM 256 233#define RPMH_REGULATOR_LEVEL_NOM_L0 288 234#define RPMH_REGULATOR_LEVEL_NOM_L1 320 235#define RPMH_REGULATOR_LEVEL_NOM_L2 336 236#define RPMH_REGULATOR_LEVEL_TURBO 384 237#define RPMH_REGULATOR_LEVEL_TURBO_L0 400 238#define RPMH_REGULATOR_LEVEL_TURBO_L1 416 239#define RPMH_REGULATOR_LEVEL_TURBO_L2 432 240#define RPMH_REGULATOR_LEVEL_TURBO_L3 448 241#define RPMH_REGULATOR_LEVEL_SUPER_TURBO 464 242#define RPMH_REGULATOR_LEVEL_SUPER_TURBO_NO_CPR 480 243 244/* MDM9607 Power Domains */ 245#define MDM9607_VDDCX 0 246#define MDM9607_VDDCX_AO 1 247#define MDM9607_VDDCX_VFL 2 248#define MDM9607_VDDMX 3 249#define MDM9607_VDDMX_AO 4 250#define MDM9607_VDDMX_VFL 5 251 252/* MSM8226 Power Domain Indexes */ 253#define MSM8226_VDDCX 0 254#define MSM8226_VDDCX_AO 1 255#define MSM8226_VDDCX_VFC 2 256 257/* MSM8939 Power Domains */ 258#define MSM8939_VDDMDCX 0 259#define MSM8939_VDDMDCX_AO 1 260#define MSM8939_VDDMDCX_VFC 2 261#define MSM8939_VDDCX 3 262#define MSM8939_VDDCX_AO 4 263#define MSM8939_VDDCX_VFC 5 264#define MSM8939_VDDMX 6 265#define MSM8939_VDDMX_AO 7 266 267/* MSM8916 Power Domain Indexes */ 268#define MSM8916_VDDCX 0 269#define MSM8916_VDDCX_AO 1 270#define MSM8916_VDDCX_VFC 2 271#define MSM8916_VDDMX 3 272#define MSM8916_VDDMX_AO 4 273 274/* MSM8909 Power Domain Indexes */ 275#define MSM8909_VDDCX MSM8916_VDDCX 276#define MSM8909_VDDCX_AO MSM8916_VDDCX_AO 277#define MSM8909_VDDCX_VFC MSM8916_VDDCX_VFC 278#define MSM8909_VDDMX MSM8916_VDDMX 279#define MSM8909_VDDMX_AO MSM8916_VDDMX_AO 280 281/* MSM8917 Power Domain Indexes */ 282#define MSM8917_VDDCX 0 283#define MSM8917_VDDCX_AO 1 284#define MSM8917_VDDCX_VFL 2 285#define MSM8917_VDDMX 3 286#define MSM8917_VDDMX_AO 4 287 288/* MSM8937 Power Domain Indexes */ 289#define MSM8937_VDDCX MSM8917_VDDCX 290#define MSM8937_VDDCX_AO MSM8917_VDDCX_AO 291#define MSM8937_VDDCX_VFL MSM8917_VDDCX_VFL 292#define MSM8937_VDDMX MSM8917_VDDMX 293#define MSM8937_VDDMX_AO MSM8917_VDDMX_AO 294 295/* QM215 Power Domain Indexes */ 296#define QM215_VDDCX MSM8917_VDDCX 297#define QM215_VDDCX_AO MSM8917_VDDCX_AO 298#define QM215_VDDCX_VFL MSM8917_VDDCX_VFL 299#define QM215_VDDMX MSM8917_VDDMX 300#define QM215_VDDMX_AO MSM8917_VDDMX_AO 301 302/* MSM8953 Power Domain Indexes */ 303#define MSM8953_VDDMD 0 304#define MSM8953_VDDMD_AO 1 305#define MSM8953_VDDCX 2 306#define MSM8953_VDDCX_AO 3 307#define MSM8953_VDDCX_VFL 4 308#define MSM8953_VDDMX 5 309#define MSM8953_VDDMX_AO 6 310 311/* MSM8974 Power Domain Indexes */ 312#define MSM8974_VDDCX 0 313#define MSM8974_VDDCX_AO 1 314#define MSM8974_VDDCX_VFC 2 315#define MSM8974_VDDGFX 3 316#define MSM8974_VDDGFX_VFC 4 317 318/* MSM8976 Power Domain Indexes */ 319#define MSM8976_VDDCX 0 320#define MSM8976_VDDCX_AO 1 321#define MSM8976_VDDCX_VFL 2 322#define MSM8976_VDDMX 3 323#define MSM8976_VDDMX_AO 4 324#define MSM8976_VDDMX_VFL 5 325 326/* MSM8994 Power Domain Indexes */ 327#define MSM8994_VDDCX 0 328#define MSM8994_VDDCX_AO 1 329#define MSM8994_VDDCX_VFC 2 330#define MSM8994_VDDMX 3 331#define MSM8994_VDDMX_AO 4 332#define MSM8994_VDDGFX 5 333#define MSM8994_VDDGFX_VFC 6 334 335/* MSM8996 Power Domain Indexes */ 336#define MSM8996_VDDCX 0 337#define MSM8996_VDDCX_AO 1 338#define MSM8996_VDDCX_VFC 2 339#define MSM8996_VDDMX 3 340#define MSM8996_VDDMX_AO 4 341#define MSM8996_VDDSSCX 5 342#define MSM8996_VDDSSCX_VFC 6 343 344/* MSM8998 Power Domain Indexes */ 345#define MSM8998_VDDCX 0 346#define MSM8998_VDDCX_AO 1 347#define MSM8998_VDDCX_VFL 2 348#define MSM8998_VDDMX 3 349#define MSM8998_VDDMX_AO 4 350#define MSM8998_VDDMX_VFL 5 351#define MSM8998_SSCCX 6 352#define MSM8998_SSCCX_VFL 7 353#define MSM8998_SSCMX 8 354#define MSM8998_SSCMX_VFL 9 355 356/* QCS404 Power Domains */ 357#define QCS404_VDDMX 0 358#define QCS404_VDDMX_AO 1 359#define QCS404_VDDMX_VFL 2 360#define QCS404_LPICX 3 361#define QCS404_LPICX_VFL 4 362#define QCS404_LPIMX 5 363#define QCS404_LPIMX_VFL 6 364 365/* SDM660 Power Domains */ 366#define SDM660_VDDCX 0 367#define SDM660_VDDCX_AO 1 368#define SDM660_VDDCX_VFL 2 369#define SDM660_VDDMX 3 370#define SDM660_VDDMX_AO 4 371#define SDM660_VDDMX_VFL 5 372#define SDM660_SSCCX 6 373#define SDM660_SSCCX_VFL 7 374#define SDM660_SSCMX 8 375#define SDM660_SSCMX_VFL 9 376 377/* SM6115 Power Domains */ 378#define SM6115_VDDCX 0 379#define SM6115_VDDCX_AO 1 380#define SM6115_VDDCX_VFL 2 381#define SM6115_VDDMX 3 382#define SM6115_VDDMX_AO 4 383#define SM6115_VDDMX_VFL 5 384#define SM6115_VDD_LPI_CX 6 385#define SM6115_VDD_LPI_MX 7 386 387/* SM6125 Power Domains */ 388#define SM6125_VDDCX 0 389#define SM6125_VDDCX_AO 1 390#define SM6125_VDDCX_VFL 2 391#define SM6125_VDDMX 3 392#define SM6125_VDDMX_AO 4 393#define SM6125_VDDMX_VFL 5 394 395/* QCM2290 Power Domains */ 396#define QCM2290_VDDCX 0 397#define QCM2290_VDDCX_AO 1 398#define QCM2290_VDDCX_VFL 2 399#define QCM2290_VDDMX 3 400#define QCM2290_VDDMX_AO 4 401#define QCM2290_VDDMX_VFL 5 402#define QCM2290_VDD_LPI_CX 6 403#define QCM2290_VDD_LPI_MX 7 404 405/* RPM SMD Power Domain performance levels */ 406#define RPM_SMD_LEVEL_RETENTION 16 407#define RPM_SMD_LEVEL_RETENTION_PLUS 32 408#define RPM_SMD_LEVEL_MIN_SVS 48 409#define RPM_SMD_LEVEL_LOW_SVS 64 410#define RPM_SMD_LEVEL_SVS 128 411#define RPM_SMD_LEVEL_SVS_PLUS 192 412#define RPM_SMD_LEVEL_NOM 256 413#define RPM_SMD_LEVEL_NOM_PLUS 320 414#define RPM_SMD_LEVEL_TURBO 384 415#define RPM_SMD_LEVEL_TURBO_NO_CPR 416 416#define RPM_SMD_LEVEL_TURBO_HIGH 448 417#define RPM_SMD_LEVEL_BINNING 512 418 419#endif 420