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 23c66ec88fSEmmanuel Vadot /* SM8150 Power Domain Indexes */ 24c66ec88fSEmmanuel Vadot #define SM8150_MSS 0 25c66ec88fSEmmanuel Vadot #define SM8150_EBI 1 26c66ec88fSEmmanuel Vadot #define SM8150_LMX 2 27c66ec88fSEmmanuel Vadot #define SM8150_LCX 3 28c66ec88fSEmmanuel Vadot #define SM8150_GFX 4 29c66ec88fSEmmanuel Vadot #define SM8150_MX 5 30c66ec88fSEmmanuel Vadot #define SM8150_MX_AO 6 31c66ec88fSEmmanuel Vadot #define SM8150_CX 7 32c66ec88fSEmmanuel Vadot #define SM8150_CX_AO 8 33c66ec88fSEmmanuel Vadot #define SM8150_MMCX 9 34c66ec88fSEmmanuel Vadot #define SM8150_MMCX_AO 10 35c66ec88fSEmmanuel Vadot 36c66ec88fSEmmanuel Vadot /* SM8250 Power Domain Indexes */ 37c66ec88fSEmmanuel Vadot #define SM8250_CX 0 38c66ec88fSEmmanuel Vadot #define SM8250_CX_AO 1 39c66ec88fSEmmanuel Vadot #define SM8250_EBI 2 40c66ec88fSEmmanuel Vadot #define SM8250_GFX 3 41c66ec88fSEmmanuel Vadot #define SM8250_LCX 4 42c66ec88fSEmmanuel Vadot #define SM8250_LMX 5 43c66ec88fSEmmanuel Vadot #define SM8250_MMCX 6 44c66ec88fSEmmanuel Vadot #define SM8250_MMCX_AO 7 45c66ec88fSEmmanuel Vadot #define SM8250_MX 8 46c66ec88fSEmmanuel Vadot #define SM8250_MX_AO 9 47c66ec88fSEmmanuel Vadot 48*2eb4d8dcSEmmanuel Vadot /* SM8350 Power Domain Indexes */ 49*2eb4d8dcSEmmanuel Vadot #define SM8350_CX 0 50*2eb4d8dcSEmmanuel Vadot #define SM8350_CX_AO 1 51*2eb4d8dcSEmmanuel Vadot #define SM8350_EBI 2 52*2eb4d8dcSEmmanuel Vadot #define SM8350_GFX 3 53*2eb4d8dcSEmmanuel Vadot #define SM8350_LCX 4 54*2eb4d8dcSEmmanuel Vadot #define SM8350_LMX 5 55*2eb4d8dcSEmmanuel Vadot #define SM8350_MMCX 6 56*2eb4d8dcSEmmanuel Vadot #define SM8350_MMCX_AO 7 57*2eb4d8dcSEmmanuel Vadot #define SM8350_MX 8 58*2eb4d8dcSEmmanuel Vadot #define SM8350_MX_AO 9 59*2eb4d8dcSEmmanuel Vadot #define SM8350_MXC 10 60*2eb4d8dcSEmmanuel Vadot #define SM8350_MXC_AO 11 61*2eb4d8dcSEmmanuel Vadot #define SM8350_MSS 12 62*2eb4d8dcSEmmanuel Vadot 63c66ec88fSEmmanuel Vadot /* SC7180 Power Domain Indexes */ 64c66ec88fSEmmanuel Vadot #define SC7180_CX 0 65c66ec88fSEmmanuel Vadot #define SC7180_CX_AO 1 66c66ec88fSEmmanuel Vadot #define SC7180_GFX 2 67c66ec88fSEmmanuel Vadot #define SC7180_MX 3 68c66ec88fSEmmanuel Vadot #define SC7180_MX_AO 4 69c66ec88fSEmmanuel Vadot #define SC7180_LMX 5 70c66ec88fSEmmanuel Vadot #define SC7180_LCX 6 71c66ec88fSEmmanuel Vadot #define SC7180_MSS 7 72c66ec88fSEmmanuel Vadot 73*2eb4d8dcSEmmanuel Vadot /* SC7280 Power Domain Indexes */ 74*2eb4d8dcSEmmanuel Vadot #define SC7280_CX 0 75*2eb4d8dcSEmmanuel Vadot #define SC7280_CX_AO 1 76*2eb4d8dcSEmmanuel Vadot #define SC7280_EBI 2 77*2eb4d8dcSEmmanuel Vadot #define SC7280_GFX 3 78*2eb4d8dcSEmmanuel Vadot #define SC7280_MX 4 79*2eb4d8dcSEmmanuel Vadot #define SC7280_MX_AO 5 80*2eb4d8dcSEmmanuel Vadot #define SC7280_LMX 6 81*2eb4d8dcSEmmanuel Vadot #define SC7280_LCX 7 82*2eb4d8dcSEmmanuel Vadot #define SC7280_MSS 8 83*2eb4d8dcSEmmanuel Vadot 84c66ec88fSEmmanuel Vadot /* SDM845 Power Domain performance levels */ 85c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_RETENTION 16 86c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_MIN_SVS 48 87c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_LOW_SVS 64 88c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_SVS 128 89c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_SVS_L0 144 90c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_SVS_L1 192 91c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_SVS_L2 224 92c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_NOM 256 93c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_NOM_L1 320 94c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_NOM_L2 336 95c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_TURBO 384 96c66ec88fSEmmanuel Vadot #define RPMH_REGULATOR_LEVEL_TURBO_L1 416 97c66ec88fSEmmanuel Vadot 985def4c47SEmmanuel Vadot /* MSM8939 Power Domains */ 995def4c47SEmmanuel Vadot #define MSM8939_VDDMDCX 0 1005def4c47SEmmanuel Vadot #define MSM8939_VDDMDCX_AO 1 1015def4c47SEmmanuel Vadot #define MSM8939_VDDMDCX_VFC 2 1025def4c47SEmmanuel Vadot #define MSM8939_VDDCX 3 1035def4c47SEmmanuel Vadot #define MSM8939_VDDCX_AO 4 1045def4c47SEmmanuel Vadot #define MSM8939_VDDCX_VFC 5 1055def4c47SEmmanuel Vadot #define MSM8939_VDDMX 6 1065def4c47SEmmanuel Vadot #define MSM8939_VDDMX_AO 7 1075def4c47SEmmanuel Vadot 1085def4c47SEmmanuel Vadot /* MSM8916 Power Domain Indexes */ 1095def4c47SEmmanuel Vadot #define MSM8916_VDDCX 0 1105def4c47SEmmanuel Vadot #define MSM8916_VDDCX_AO 1 1115def4c47SEmmanuel Vadot #define MSM8916_VDDCX_VFC 2 1125def4c47SEmmanuel Vadot #define MSM8916_VDDMX 3 1135def4c47SEmmanuel Vadot #define MSM8916_VDDMX_AO 4 1145def4c47SEmmanuel Vadot 115c66ec88fSEmmanuel Vadot /* MSM8976 Power Domain Indexes */ 116c66ec88fSEmmanuel Vadot #define MSM8976_VDDCX 0 117c66ec88fSEmmanuel Vadot #define MSM8976_VDDCX_AO 1 118c66ec88fSEmmanuel Vadot #define MSM8976_VDDCX_VFL 2 119c66ec88fSEmmanuel Vadot #define MSM8976_VDDMX 3 120c66ec88fSEmmanuel Vadot #define MSM8976_VDDMX_AO 4 121c66ec88fSEmmanuel Vadot #define MSM8976_VDDMX_VFL 5 122c66ec88fSEmmanuel Vadot 1235def4c47SEmmanuel Vadot /* MSM8994 Power Domain Indexes */ 1245def4c47SEmmanuel Vadot #define MSM8994_VDDCX 0 1255def4c47SEmmanuel Vadot #define MSM8994_VDDCX_AO 1 1265def4c47SEmmanuel Vadot #define MSM8994_VDDCX_VFC 2 1275def4c47SEmmanuel Vadot #define MSM8994_VDDMX 3 1285def4c47SEmmanuel Vadot #define MSM8994_VDDMX_AO 4 1295def4c47SEmmanuel Vadot #define MSM8994_VDDGFX 5 1305def4c47SEmmanuel Vadot #define MSM8994_VDDGFX_VFC 6 1315def4c47SEmmanuel Vadot 132c66ec88fSEmmanuel Vadot /* MSM8996 Power Domain Indexes */ 133c66ec88fSEmmanuel Vadot #define MSM8996_VDDCX 0 134c66ec88fSEmmanuel Vadot #define MSM8996_VDDCX_AO 1 135c66ec88fSEmmanuel Vadot #define MSM8996_VDDCX_VFC 2 136c66ec88fSEmmanuel Vadot #define MSM8996_VDDMX 3 137c66ec88fSEmmanuel Vadot #define MSM8996_VDDMX_AO 4 138c66ec88fSEmmanuel Vadot #define MSM8996_VDDSSCX 5 139c66ec88fSEmmanuel Vadot #define MSM8996_VDDSSCX_VFC 6 140c66ec88fSEmmanuel Vadot 141c66ec88fSEmmanuel Vadot /* MSM8998 Power Domain Indexes */ 142c66ec88fSEmmanuel Vadot #define MSM8998_VDDCX 0 143c66ec88fSEmmanuel Vadot #define MSM8998_VDDCX_AO 1 144c66ec88fSEmmanuel Vadot #define MSM8998_VDDCX_VFL 2 145c66ec88fSEmmanuel Vadot #define MSM8998_VDDMX 3 146c66ec88fSEmmanuel Vadot #define MSM8998_VDDMX_AO 4 147c66ec88fSEmmanuel Vadot #define MSM8998_VDDMX_VFL 5 148c66ec88fSEmmanuel Vadot #define MSM8998_SSCCX 6 149c66ec88fSEmmanuel Vadot #define MSM8998_SSCCX_VFL 7 150c66ec88fSEmmanuel Vadot #define MSM8998_SSCMX 8 151c66ec88fSEmmanuel Vadot #define MSM8998_SSCMX_VFL 9 152c66ec88fSEmmanuel Vadot 153c66ec88fSEmmanuel Vadot /* QCS404 Power Domains */ 154c66ec88fSEmmanuel Vadot #define QCS404_VDDMX 0 155c66ec88fSEmmanuel Vadot #define QCS404_VDDMX_AO 1 156c66ec88fSEmmanuel Vadot #define QCS404_VDDMX_VFL 2 157c66ec88fSEmmanuel Vadot #define QCS404_LPICX 3 158c66ec88fSEmmanuel Vadot #define QCS404_LPICX_VFL 4 159c66ec88fSEmmanuel Vadot #define QCS404_LPIMX 5 160c66ec88fSEmmanuel Vadot #define QCS404_LPIMX_VFL 6 161c66ec88fSEmmanuel Vadot 1625def4c47SEmmanuel Vadot /* SDM660 Power Domains */ 1635def4c47SEmmanuel Vadot #define SDM660_VDDCX 0 1645def4c47SEmmanuel Vadot #define SDM660_VDDCX_AO 1 1655def4c47SEmmanuel Vadot #define SDM660_VDDCX_VFL 2 1665def4c47SEmmanuel Vadot #define SDM660_VDDMX 3 1675def4c47SEmmanuel Vadot #define SDM660_VDDMX_AO 4 1685def4c47SEmmanuel Vadot #define SDM660_VDDMX_VFL 5 1695def4c47SEmmanuel Vadot #define SDM660_SSCCX 6 1705def4c47SEmmanuel Vadot #define SDM660_SSCCX_VFL 7 1715def4c47SEmmanuel Vadot #define SDM660_SSCMX 8 1725def4c47SEmmanuel Vadot #define SDM660_SSCMX_VFL 9 1735def4c47SEmmanuel Vadot 174c66ec88fSEmmanuel Vadot /* RPM SMD Power Domain performance levels */ 175c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_RETENTION 16 176c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_RETENTION_PLUS 32 177c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_MIN_SVS 48 178c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_LOW_SVS 64 179c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_SVS 128 180c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_SVS_PLUS 192 181c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_NOM 256 182c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_NOM_PLUS 320 183c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_TURBO 384 184c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_TURBO_NO_CPR 416 185c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_TURBO_HIGH 448 186c66ec88fSEmmanuel Vadot #define RPM_SMD_LEVEL_BINNING 512 187c66ec88fSEmmanuel Vadot 188c66ec88fSEmmanuel Vadot #endif 189