1c66ec88fSEmmanuel Vadot /* SPDX-License-Identifier: GPL-2.0 */ 2c66ec88fSEmmanuel Vadot /* Copyright (c) 2018, The Linux Foundation. All rights reserved. */ 3c66ec88fSEmmanuel Vadot 4c66ec88fSEmmanuel Vadot #ifndef _DT_BINDINGS_POWER_QCOM_RPMPD_H 5c66ec88fSEmmanuel Vadot #define _DT_BINDINGS_POWER_QCOM_RPMPD_H 6c66ec88fSEmmanuel Vadot 7c66ec88fSEmmanuel Vadot /* SDM845 Power Domain Indexes */ 8c66ec88fSEmmanuel Vadot #define SDM845_EBI 0 9c66ec88fSEmmanuel Vadot #define SDM845_MX 1 10c66ec88fSEmmanuel Vadot #define SDM845_MX_AO 2 11c66ec88fSEmmanuel Vadot #define SDM845_CX 3 12c66ec88fSEmmanuel Vadot #define SDM845_CX_AO 4 13c66ec88fSEmmanuel Vadot #define SDM845_LMX 5 14c66ec88fSEmmanuel Vadot #define SDM845_LCX 6 15c66ec88fSEmmanuel Vadot #define SDM845_GFX 7 16c66ec88fSEmmanuel Vadot #define SDM845_MSS 8 17c66ec88fSEmmanuel Vadot 185def4c47SEmmanuel Vadot /* SDX55 Power Domain Indexes */ 195def4c47SEmmanuel Vadot #define SDX55_MSS 0 205def4c47SEmmanuel Vadot #define SDX55_MX 1 215def4c47SEmmanuel Vadot #define SDX55_CX 2 225def4c47SEmmanuel Vadot 238cc087a1SEmmanuel Vadot /* SM6350 Power Domain Indexes */ 248cc087a1SEmmanuel Vadot #define SM6350_CX 0 258cc087a1SEmmanuel Vadot #define SM6350_GFX 1 268cc087a1SEmmanuel Vadot #define SM6350_LCX 2 278cc087a1SEmmanuel Vadot #define SM6350_LMX 3 288cc087a1SEmmanuel Vadot #define SM6350_MSS 4 298cc087a1SEmmanuel Vadot #define SM6350_MX 5 308cc087a1SEmmanuel Vadot 31c66ec88fSEmmanuel Vadot /* SM8150 Power Domain Indexes */ 32c66ec88fSEmmanuel Vadot #define SM8150_MSS 0 33c66ec88fSEmmanuel Vadot #define SM8150_EBI 1 34c66ec88fSEmmanuel Vadot #define SM8150_LMX 2 35c66ec88fSEmmanuel Vadot #define SM8150_LCX 3 36c66ec88fSEmmanuel Vadot #define SM8150_GFX 4 37c66ec88fSEmmanuel Vadot #define SM8150_MX 5 38c66ec88fSEmmanuel Vadot #define SM8150_MX_AO 6 39c66ec88fSEmmanuel Vadot #define SM8150_CX 7 40c66ec88fSEmmanuel Vadot #define SM8150_CX_AO 8 41c66ec88fSEmmanuel Vadot #define SM8150_MMCX 9 42c66ec88fSEmmanuel Vadot #define SM8150_MMCX_AO 10 43c66ec88fSEmmanuel Vadot 44c66ec88fSEmmanuel Vadot /* SM8250 Power Domain Indexes */ 45c66ec88fSEmmanuel Vadot #define SM8250_CX 0 46c66ec88fSEmmanuel Vadot #define SM8250_CX_AO 1 47c66ec88fSEmmanuel Vadot #define SM8250_EBI 2 48c66ec88fSEmmanuel Vadot #define SM8250_GFX 3 49c66ec88fSEmmanuel Vadot #define SM8250_LCX 4 50c66ec88fSEmmanuel Vadot #define SM8250_LMX 5 51c66ec88fSEmmanuel Vadot #define SM8250_MMCX 6 52c66ec88fSEmmanuel Vadot #define SM8250_MMCX_AO 7 53c66ec88fSEmmanuel Vadot #define SM8250_MX 8 54c66ec88fSEmmanuel Vadot #define SM8250_MX_AO 9 55c66ec88fSEmmanuel Vadot 562eb4d8dcSEmmanuel Vadot /* SM8350 Power Domain Indexes */ 572eb4d8dcSEmmanuel Vadot #define SM8350_CX 0 582eb4d8dcSEmmanuel Vadot #define SM8350_CX_AO 1 592eb4d8dcSEmmanuel Vadot #define SM8350_EBI 2 602eb4d8dcSEmmanuel Vadot #define SM8350_GFX 3 612eb4d8dcSEmmanuel Vadot #define SM8350_LCX 4 622eb4d8dcSEmmanuel Vadot #define SM8350_LMX 5 632eb4d8dcSEmmanuel Vadot #define SM8350_MMCX 6 642eb4d8dcSEmmanuel Vadot #define SM8350_MMCX_AO 7 652eb4d8dcSEmmanuel Vadot #define SM8350_MX 8 662eb4d8dcSEmmanuel Vadot #define SM8350_MX_AO 9 672eb4d8dcSEmmanuel Vadot #define SM8350_MXC 10 682eb4d8dcSEmmanuel Vadot #define SM8350_MXC_AO 11 692eb4d8dcSEmmanuel Vadot #define SM8350_MSS 12 702eb4d8dcSEmmanuel Vadot 71*e67e8565SEmmanuel Vadot /* SM8450 Power Domain Indexes */ 72*e67e8565SEmmanuel Vadot #define SM8450_CX 0 73*e67e8565SEmmanuel Vadot #define SM8450_CX_AO 1 74*e67e8565SEmmanuel Vadot #define SM8450_EBI 2 75*e67e8565SEmmanuel Vadot #define SM8450_GFX 3 76*e67e8565SEmmanuel Vadot #define SM8450_LCX 4 77*e67e8565SEmmanuel Vadot #define SM8450_LMX 5 78*e67e8565SEmmanuel Vadot #define SM8450_MMCX 6 79*e67e8565SEmmanuel Vadot #define SM8450_MMCX_AO 7 80*e67e8565SEmmanuel Vadot #define SM8450_MX 8 81*e67e8565SEmmanuel Vadot #define SM8450_MX_AO 9 82*e67e8565SEmmanuel Vadot #define SM8450_MXC 10 83*e67e8565SEmmanuel Vadot #define SM8450_MXC_AO 11 84*e67e8565SEmmanuel Vadot #define SM8450_MSS 12 85*e67e8565SEmmanuel Vadot 86c66ec88fSEmmanuel Vadot /* SC7180 Power Domain Indexes */ 87c66ec88fSEmmanuel Vadot #define SC7180_CX 0 88c66ec88fSEmmanuel Vadot #define SC7180_CX_AO 1 89c66ec88fSEmmanuel Vadot #define SC7180_GFX 2 90c66ec88fSEmmanuel Vadot #define SC7180_MX 3 91c66ec88fSEmmanuel Vadot #define SC7180_MX_AO 4 92c66ec88fSEmmanuel Vadot #define SC7180_LMX 5 93c66ec88fSEmmanuel Vadot #define SC7180_LCX 6 94c66ec88fSEmmanuel Vadot #define SC7180_MSS 7 95c66ec88fSEmmanuel Vadot 962eb4d8dcSEmmanuel Vadot /* SC7280 Power Domain Indexes */ 972eb4d8dcSEmmanuel Vadot #define SC7280_CX 0 982eb4d8dcSEmmanuel Vadot #define SC7280_CX_AO 1 992eb4d8dcSEmmanuel Vadot #define SC7280_EBI 2 1002eb4d8dcSEmmanuel Vadot #define SC7280_GFX 3 1012eb4d8dcSEmmanuel Vadot #define SC7280_MX 4 1022eb4d8dcSEmmanuel Vadot #define SC7280_MX_AO 5 1032eb4d8dcSEmmanuel Vadot #define SC7280_LMX 6 1042eb4d8dcSEmmanuel Vadot #define SC7280_LCX 7 1052eb4d8dcSEmmanuel Vadot #define SC7280_MSS 8 1062eb4d8dcSEmmanuel Vadot 1075956d97fSEmmanuel Vadot /* SC8180X Power Domain Indexes */ 1085956d97fSEmmanuel Vadot #define SC8180X_CX 0 1095956d97fSEmmanuel Vadot #define SC8180X_CX_AO 1 1105956d97fSEmmanuel Vadot #define SC8180X_EBI 2 1115956d97fSEmmanuel Vadot #define SC8180X_GFX 3 1125956d97fSEmmanuel Vadot #define SC8180X_LCX 4 1135956d97fSEmmanuel Vadot #define SC8180X_LMX 5 1145956d97fSEmmanuel Vadot #define SC8180X_MMCX 6 1155956d97fSEmmanuel Vadot #define SC8180X_MMCX_AO 7 1165956d97fSEmmanuel Vadot #define SC8180X_MSS 8 1175956d97fSEmmanuel Vadot #define SC8180X_MX 9 1185956d97fSEmmanuel Vadot #define SC8180X_MX_AO 10 1195956d97fSEmmanuel Vadot 120c66ec88fSEmmanuel Vadot /* SDM845 Power Domain performance levels */ 121c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_RETENTION 16 122c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_MIN_SVS 48 123c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_LOW_SVS 64 124c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_SVS 128 125c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_SVS_L0 144 126c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_SVS_L1 192 127c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_SVS_L2 224 128c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_NOM 256 129c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_NOM_L1 320 130c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_NOM_L2 336 131c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_TURBO 384 132c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_TURBO_L1 416 133c66ec88fSEmmanuel Vadot 1345956d97fSEmmanuel Vadot /* MDM9607 Power Domains */ 1355956d97fSEmmanuel Vadot #define MDM9607_VDDCX 0 1365956d97fSEmmanuel Vadot #define MDM9607_VDDCX_AO 1 1375956d97fSEmmanuel Vadot #define MDM9607_VDDCX_VFL 2 1385956d97fSEmmanuel Vadot #define MDM9607_VDDMX 3 1395956d97fSEmmanuel Vadot #define MDM9607_VDDMX_AO 4 1405956d97fSEmmanuel Vadot #define MDM9607_VDDMX_VFL 5 1415956d97fSEmmanuel Vadot 1425def4c47SEmmanuel Vadot /* MSM8939 Power Domains */ 1435def4c47SEmmanuel Vadot #define MSM8939_VDDMDCX 0 1445def4c47SEmmanuel Vadot #define MSM8939_VDDMDCX_AO 1 1455def4c47SEmmanuel Vadot #define MSM8939_VDDMDCX_VFC 2 1465def4c47SEmmanuel Vadot #define MSM8939_VDDCX 3 1475def4c47SEmmanuel Vadot #define MSM8939_VDDCX_AO 4 1485def4c47SEmmanuel Vadot #define MSM8939_VDDCX_VFC 5 1495def4c47SEmmanuel Vadot #define MSM8939_VDDMX 6 1505def4c47SEmmanuel Vadot #define MSM8939_VDDMX_AO 7 1515def4c47SEmmanuel Vadot 1525def4c47SEmmanuel Vadot /* MSM8916 Power Domain Indexes */ 1535def4c47SEmmanuel Vadot #define MSM8916_VDDCX 0 1545def4c47SEmmanuel Vadot #define MSM8916_VDDCX_AO 1 1555def4c47SEmmanuel Vadot #define MSM8916_VDDCX_VFC 2 1565def4c47SEmmanuel Vadot #define MSM8916_VDDMX 3 1575def4c47SEmmanuel Vadot #define MSM8916_VDDMX_AO 4 1585def4c47SEmmanuel Vadot 1598cc087a1SEmmanuel Vadot /* MSM8953 Power Domain Indexes */ 1608cc087a1SEmmanuel Vadot #define MSM8953_VDDMD 0 1618cc087a1SEmmanuel Vadot #define MSM8953_VDDMD_AO 1 1628cc087a1SEmmanuel Vadot #define MSM8953_VDDCX 2 1638cc087a1SEmmanuel Vadot #define MSM8953_VDDCX_AO 3 1648cc087a1SEmmanuel Vadot #define MSM8953_VDDCX_VFL 4 1658cc087a1SEmmanuel Vadot #define MSM8953_VDDMX 5 1668cc087a1SEmmanuel Vadot #define MSM8953_VDDMX_AO 6 1678cc087a1SEmmanuel Vadot 168c66ec88fSEmmanuel Vadot /* MSM8976 Power Domain Indexes */ 169c66ec88fSEmmanuel Vadot #define MSM8976_VDDCX 0 170c66ec88fSEmmanuel Vadot #define MSM8976_VDDCX_AO 1 171c66ec88fSEmmanuel Vadot #define MSM8976_VDDCX_VFL 2 172c66ec88fSEmmanuel Vadot #define MSM8976_VDDMX 3 173c66ec88fSEmmanuel Vadot #define MSM8976_VDDMX_AO 4 174c66ec88fSEmmanuel Vadot #define MSM8976_VDDMX_VFL 5 175c66ec88fSEmmanuel Vadot 1765def4c47SEmmanuel Vadot /* MSM8994 Power Domain Indexes */ 1775def4c47SEmmanuel Vadot #define MSM8994_VDDCX 0 1785def4c47SEmmanuel Vadot #define MSM8994_VDDCX_AO 1 1795def4c47SEmmanuel Vadot #define MSM8994_VDDCX_VFC 2 1805def4c47SEmmanuel Vadot #define MSM8994_VDDMX 3 1815def4c47SEmmanuel Vadot #define MSM8994_VDDMX_AO 4 1825def4c47SEmmanuel Vadot #define MSM8994_VDDGFX 5 1835def4c47SEmmanuel Vadot #define MSM8994_VDDGFX_VFC 6 1845def4c47SEmmanuel Vadot 185c66ec88fSEmmanuel Vadot /* MSM8996 Power Domain Indexes */ 186c66ec88fSEmmanuel Vadot #define MSM8996_VDDCX 0 187c66ec88fSEmmanuel Vadot #define MSM8996_VDDCX_AO 1 188c66ec88fSEmmanuel Vadot #define MSM8996_VDDCX_VFC 2 189c66ec88fSEmmanuel Vadot #define MSM8996_VDDMX 3 190c66ec88fSEmmanuel Vadot #define MSM8996_VDDMX_AO 4 191c66ec88fSEmmanuel Vadot #define MSM8996_VDDSSCX 5 192c66ec88fSEmmanuel Vadot #define MSM8996_VDDSSCX_VFC 6 193c66ec88fSEmmanuel Vadot 194c66ec88fSEmmanuel Vadot /* MSM8998 Power Domain Indexes */ 195c66ec88fSEmmanuel Vadot #define MSM8998_VDDCX 0 196c66ec88fSEmmanuel Vadot #define MSM8998_VDDCX_AO 1 197c66ec88fSEmmanuel Vadot #define MSM8998_VDDCX_VFL 2 198c66ec88fSEmmanuel Vadot #define MSM8998_VDDMX 3 199c66ec88fSEmmanuel Vadot #define MSM8998_VDDMX_AO 4 200c66ec88fSEmmanuel Vadot #define MSM8998_VDDMX_VFL 5 201c66ec88fSEmmanuel Vadot #define MSM8998_SSCCX 6 202c66ec88fSEmmanuel Vadot #define MSM8998_SSCCX_VFL 7 203c66ec88fSEmmanuel Vadot #define MSM8998_SSCMX 8 204c66ec88fSEmmanuel Vadot #define MSM8998_SSCMX_VFL 9 205c66ec88fSEmmanuel Vadot 206c66ec88fSEmmanuel Vadot /* QCS404 Power Domains */ 207c66ec88fSEmmanuel Vadot #define QCS404_VDDMX 0 208c66ec88fSEmmanuel Vadot #define QCS404_VDDMX_AO 1 209c66ec88fSEmmanuel Vadot #define QCS404_VDDMX_VFL 2 210c66ec88fSEmmanuel Vadot #define QCS404_LPICX 3 211c66ec88fSEmmanuel Vadot #define QCS404_LPICX_VFL 4 212c66ec88fSEmmanuel Vadot #define QCS404_LPIMX 5 213c66ec88fSEmmanuel Vadot #define QCS404_LPIMX_VFL 6 214c66ec88fSEmmanuel Vadot 2155def4c47SEmmanuel Vadot /* SDM660 Power Domains */ 2165def4c47SEmmanuel Vadot #define SDM660_VDDCX 0 2175def4c47SEmmanuel Vadot #define SDM660_VDDCX_AO 1 2185def4c47SEmmanuel Vadot #define SDM660_VDDCX_VFL 2 2195def4c47SEmmanuel Vadot #define SDM660_VDDMX 3 2205def4c47SEmmanuel Vadot #define SDM660_VDDMX_AO 4 2215def4c47SEmmanuel Vadot #define SDM660_VDDMX_VFL 5 2225def4c47SEmmanuel Vadot #define SDM660_SSCCX 6 2235def4c47SEmmanuel Vadot #define SDM660_SSCCX_VFL 7 2245def4c47SEmmanuel Vadot #define SDM660_SSCMX 8 2255def4c47SEmmanuel Vadot #define SDM660_SSCMX_VFL 9 2265def4c47SEmmanuel Vadot 227354d7675SEmmanuel Vadot /* SM6115 Power Domains */ 228354d7675SEmmanuel Vadot #define SM6115_VDDCX 0 229354d7675SEmmanuel Vadot #define SM6115_VDDCX_AO 1 230354d7675SEmmanuel Vadot #define SM6115_VDDCX_VFL 2 231354d7675SEmmanuel Vadot #define SM6115_VDDMX 3 232354d7675SEmmanuel Vadot #define SM6115_VDDMX_AO 4 233354d7675SEmmanuel Vadot #define SM6115_VDDMX_VFL 5 234354d7675SEmmanuel Vadot #define SM6115_VDD_LPI_CX 6 235354d7675SEmmanuel Vadot #define SM6115_VDD_LPI_MX 7 236354d7675SEmmanuel Vadot 237*e67e8565SEmmanuel Vadot /* SM6125 Power Domains */ 238*e67e8565SEmmanuel Vadot #define SM6125_VDDCX 0 239*e67e8565SEmmanuel Vadot #define SM6125_VDDCX_AO 1 240*e67e8565SEmmanuel Vadot #define SM6125_VDDCX_VFL 2 241*e67e8565SEmmanuel Vadot #define SM6125_VDDMX 3 242*e67e8565SEmmanuel Vadot #define SM6125_VDDMX_AO 4 243*e67e8565SEmmanuel Vadot #define SM6125_VDDMX_VFL 5 244*e67e8565SEmmanuel Vadot 245*e67e8565SEmmanuel Vadot /* QCM2290 Power Domains */ 246*e67e8565SEmmanuel Vadot #define QCM2290_VDDCX 0 247*e67e8565SEmmanuel Vadot #define QCM2290_VDDCX_AO 1 248*e67e8565SEmmanuel Vadot #define QCM2290_VDDCX_VFL 2 249*e67e8565SEmmanuel Vadot #define QCM2290_VDDMX 3 250*e67e8565SEmmanuel Vadot #define QCM2290_VDDMX_AO 4 251*e67e8565SEmmanuel Vadot #define QCM2290_VDDMX_VFL 5 252*e67e8565SEmmanuel Vadot #define QCM2290_VDD_LPI_CX 6 253*e67e8565SEmmanuel Vadot #define QCM2290_VDD_LPI_MX 7 254*e67e8565SEmmanuel Vadot 255c66ec88fSEmmanuel Vadot /* RPM SMD Power Domain performance levels */ 256c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_RETENTION 16 257c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_RETENTION_PLUS 32 258c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_MIN_SVS 48 259c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_LOW_SVS 64 260c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_SVS 128 261c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_SVS_PLUS 192 262c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_NOM 256 263c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_NOM_PLUS 320 264c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_TURBO 384 265c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_TURBO_NO_CPR 416 266c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_TURBO_HIGH 448 267c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_BINNING 512 268c66ec88fSEmmanuel Vadot 269c66ec88fSEmmanuel Vadot #endif 270