1c6e6eff4SRajendra Nayak /* SPDX-License-Identifier: GPL-2.0 */ 2c6e6eff4SRajendra Nayak /* Copyright (c) 2018, The Linux Foundation. All rights reserved. */ 3c6e6eff4SRajendra Nayak 4c6e6eff4SRajendra Nayak #ifndef _DT_BINDINGS_POWER_QCOM_RPMPD_H 5c6e6eff4SRajendra Nayak #define _DT_BINDINGS_POWER_QCOM_RPMPD_H 6c6e6eff4SRajendra Nayak 7c6e6eff4SRajendra Nayak /* SDM845 Power Domain Indexes */ 8c6e6eff4SRajendra Nayak #define SDM845_EBI 0 9c6e6eff4SRajendra Nayak #define SDM845_MX 1 10c6e6eff4SRajendra Nayak #define SDM845_MX_AO 2 11c6e6eff4SRajendra Nayak #define SDM845_CX 3 12c6e6eff4SRajendra Nayak #define SDM845_CX_AO 4 13c6e6eff4SRajendra Nayak #define SDM845_LMX 5 14c6e6eff4SRajendra Nayak #define SDM845_LCX 6 15c6e6eff4SRajendra Nayak #define SDM845_GFX 7 16c6e6eff4SRajendra Nayak #define SDM845_MSS 8 17c6e6eff4SRajendra Nayak 18f365bd33SVinod Koul /* SDX55 Power Domain Indexes */ 19f365bd33SVinod Koul #define SDX55_MSS 0 20f365bd33SVinod Koul #define SDX55_MX 1 21f365bd33SVinod Koul #define SDX55_CX 2 22f365bd33SVinod Koul 23*ccc70635SRohit Agarwal /* SDX65 Power Domain Indexes */ 24*ccc70635SRohit Agarwal #define SDX65_MSS 0 25*ccc70635SRohit Agarwal #define SDX65_MX 1 26*ccc70635SRohit Agarwal #define SDX65_MX_AO 2 27*ccc70635SRohit Agarwal #define SDX65_CX 3 28*ccc70635SRohit Agarwal #define SDX65_CX_AO 4 29*ccc70635SRohit Agarwal #define SDX65_MXC 5 30*ccc70635SRohit Agarwal 3192dde327SKonrad Dybcio /* SM6350 Power Domain Indexes */ 3292dde327SKonrad Dybcio #define SM6350_CX 0 3392dde327SKonrad Dybcio #define SM6350_GFX 1 3492dde327SKonrad Dybcio #define SM6350_LCX 2 3592dde327SKonrad Dybcio #define SM6350_LMX 3 3692dde327SKonrad Dybcio #define SM6350_MSS 4 3792dde327SKonrad Dybcio #define SM6350_MX 5 3892dde327SKonrad Dybcio 3918ec173dSSibi Sankar /* SM8150 Power Domain Indexes */ 4018ec173dSSibi Sankar #define SM8150_MSS 0 4118ec173dSSibi Sankar #define SM8150_EBI 1 4218ec173dSSibi Sankar #define SM8150_LMX 2 4318ec173dSSibi Sankar #define SM8150_LCX 3 4418ec173dSSibi Sankar #define SM8150_GFX 4 4518ec173dSSibi Sankar #define SM8150_MX 5 4618ec173dSSibi Sankar #define SM8150_MX_AO 6 4718ec173dSSibi Sankar #define SM8150_CX 7 4818ec173dSSibi Sankar #define SM8150_CX_AO 8 4918ec173dSSibi Sankar #define SM8150_MMCX 9 5018ec173dSSibi Sankar #define SM8150_MMCX_AO 10 5118ec173dSSibi Sankar 5264016bb8SBjorn Andersson /* SM8250 Power Domain Indexes */ 5364016bb8SBjorn Andersson #define SM8250_CX 0 5464016bb8SBjorn Andersson #define SM8250_CX_AO 1 5564016bb8SBjorn Andersson #define SM8250_EBI 2 5664016bb8SBjorn Andersson #define SM8250_GFX 3 5764016bb8SBjorn Andersson #define SM8250_LCX 4 5864016bb8SBjorn Andersson #define SM8250_LMX 5 5964016bb8SBjorn Andersson #define SM8250_MMCX 6 6064016bb8SBjorn Andersson #define SM8250_MMCX_AO 7 6164016bb8SBjorn Andersson #define SM8250_MX 8 6264016bb8SBjorn Andersson #define SM8250_MX_AO 9 6364016bb8SBjorn Andersson 64f20b61b8SVinod Koul /* SM8350 Power Domain Indexes */ 65f20b61b8SVinod Koul #define SM8350_CX 0 66f20b61b8SVinod Koul #define SM8350_CX_AO 1 67f20b61b8SVinod Koul #define SM8350_EBI 2 68f20b61b8SVinod Koul #define SM8350_GFX 3 69f20b61b8SVinod Koul #define SM8350_LCX 4 70f20b61b8SVinod Koul #define SM8350_LMX 5 71f20b61b8SVinod Koul #define SM8350_MMCX 6 72f20b61b8SVinod Koul #define SM8350_MMCX_AO 7 73f20b61b8SVinod Koul #define SM8350_MX 8 74f20b61b8SVinod Koul #define SM8350_MX_AO 9 75f20b61b8SVinod Koul #define SM8350_MXC 10 76f20b61b8SVinod Koul #define SM8350_MXC_AO 11 77f20b61b8SVinod Koul #define SM8350_MSS 12 78f20b61b8SVinod Koul 7922c75570SDmitry Baryshkov /* SM8450 Power Domain Indexes */ 8022c75570SDmitry Baryshkov #define SM8450_CX 0 8122c75570SDmitry Baryshkov #define SM8450_CX_AO 1 8222c75570SDmitry Baryshkov #define SM8450_EBI 2 8322c75570SDmitry Baryshkov #define SM8450_GFX 3 8422c75570SDmitry Baryshkov #define SM8450_LCX 4 8522c75570SDmitry Baryshkov #define SM8450_LMX 5 8622c75570SDmitry Baryshkov #define SM8450_MMCX 6 8722c75570SDmitry Baryshkov #define SM8450_MMCX_AO 7 8822c75570SDmitry Baryshkov #define SM8450_MX 8 8922c75570SDmitry Baryshkov #define SM8450_MX_AO 9 9022c75570SDmitry Baryshkov #define SM8450_MXC 10 9122c75570SDmitry Baryshkov #define SM8450_MXC_AO 11 9222c75570SDmitry Baryshkov #define SM8450_MSS 12 9322c75570SDmitry Baryshkov 9452a4cb57SSibi Sankar /* SC7180 Power Domain Indexes */ 9552a4cb57SSibi Sankar #define SC7180_CX 0 9652a4cb57SSibi Sankar #define SC7180_CX_AO 1 9752a4cb57SSibi Sankar #define SC7180_GFX 2 9852a4cb57SSibi Sankar #define SC7180_MX 3 9952a4cb57SSibi Sankar #define SC7180_MX_AO 4 10052a4cb57SSibi Sankar #define SC7180_LMX 5 10152a4cb57SSibi Sankar #define SC7180_LCX 6 10252a4cb57SSibi Sankar #define SC7180_MSS 7 10352a4cb57SSibi Sankar 1049a3e49d7SRajendra Nayak /* SC7280 Power Domain Indexes */ 1059a3e49d7SRajendra Nayak #define SC7280_CX 0 1069a3e49d7SRajendra Nayak #define SC7280_CX_AO 1 1079a3e49d7SRajendra Nayak #define SC7280_EBI 2 1089a3e49d7SRajendra Nayak #define SC7280_GFX 3 1099a3e49d7SRajendra Nayak #define SC7280_MX 4 1109a3e49d7SRajendra Nayak #define SC7280_MX_AO 5 1119a3e49d7SRajendra Nayak #define SC7280_LMX 6 1129a3e49d7SRajendra Nayak #define SC7280_LCX 7 1139a3e49d7SRajendra Nayak #define SC7280_MSS 8 1149a3e49d7SRajendra Nayak 115dfa3d406SBjorn Andersson /* SC8180X Power Domain Indexes */ 116dfa3d406SBjorn Andersson #define SC8180X_CX 0 117dfa3d406SBjorn Andersson #define SC8180X_CX_AO 1 118dfa3d406SBjorn Andersson #define SC8180X_EBI 2 119dfa3d406SBjorn Andersson #define SC8180X_GFX 3 120dfa3d406SBjorn Andersson #define SC8180X_LCX 4 121dfa3d406SBjorn Andersson #define SC8180X_LMX 5 122dfa3d406SBjorn Andersson #define SC8180X_MMCX 6 123dfa3d406SBjorn Andersson #define SC8180X_MMCX_AO 7 124dfa3d406SBjorn Andersson #define SC8180X_MSS 8 125dfa3d406SBjorn Andersson #define SC8180X_MX 9 126dfa3d406SBjorn Andersson #define SC8180X_MX_AO 10 127dfa3d406SBjorn Andersson 128c6e6eff4SRajendra Nayak /* SDM845 Power Domain performance levels */ 129c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_RETENTION 16 130c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_MIN_SVS 48 131c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_LOW_SVS 64 132c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_SVS 128 13387b517a8SJonathan Marek #define RPMH_REGULATOR_LEVEL_SVS_L0 144 134c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_SVS_L1 192 13518ec173dSSibi Sankar #define RPMH_REGULATOR_LEVEL_SVS_L2 224 136c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_NOM 256 137c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_NOM_L1 320 138c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_NOM_L2 336 139c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_TURBO 384 140c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_TURBO_L1 416 141c6e6eff4SRajendra Nayak 142af32011fSKonrad Dybcio /* MDM9607 Power Domains */ 143af32011fSKonrad Dybcio #define MDM9607_VDDCX 0 144af32011fSKonrad Dybcio #define MDM9607_VDDCX_AO 1 145af32011fSKonrad Dybcio #define MDM9607_VDDCX_VFL 2 146af32011fSKonrad Dybcio #define MDM9607_VDDMX 3 147af32011fSKonrad Dybcio #define MDM9607_VDDMX_AO 4 148af32011fSKonrad Dybcio #define MDM9607_VDDMX_VFL 5 149af32011fSKonrad Dybcio 150d1483636SLuca Weiss /* MSM8226 Power Domain Indexes */ 151d1483636SLuca Weiss #define MSM8226_VDDCX 0 152d1483636SLuca Weiss #define MSM8226_VDDCX_AO 1 153d1483636SLuca Weiss #define MSM8226_VDDCX_VFC 2 154d1483636SLuca Weiss 1551dd50f17SJun Nie /* MSM8939 Power Domains */ 1561dd50f17SJun Nie #define MSM8939_VDDMDCX 0 1571dd50f17SJun Nie #define MSM8939_VDDMDCX_AO 1 1581dd50f17SJun Nie #define MSM8939_VDDMDCX_VFC 2 1591dd50f17SJun Nie #define MSM8939_VDDCX 3 1601dd50f17SJun Nie #define MSM8939_VDDCX_AO 4 1611dd50f17SJun Nie #define MSM8939_VDDCX_VFC 5 1621dd50f17SJun Nie #define MSM8939_VDDMX 6 1631dd50f17SJun Nie #define MSM8939_VDDMX_AO 7 1641dd50f17SJun Nie 165819f7d91SStephan Gerhold /* MSM8916 Power Domain Indexes */ 166819f7d91SStephan Gerhold #define MSM8916_VDDCX 0 167819f7d91SStephan Gerhold #define MSM8916_VDDCX_AO 1 168819f7d91SStephan Gerhold #define MSM8916_VDDCX_VFC 2 169819f7d91SStephan Gerhold #define MSM8916_VDDMX 3 170819f7d91SStephan Gerhold #define MSM8916_VDDMX_AO 4 171819f7d91SStephan Gerhold 172cdb6f604SVladimir Lypak /* MSM8953 Power Domain Indexes */ 173cdb6f604SVladimir Lypak #define MSM8953_VDDMD 0 174cdb6f604SVladimir Lypak #define MSM8953_VDDMD_AO 1 175cdb6f604SVladimir Lypak #define MSM8953_VDDCX 2 176cdb6f604SVladimir Lypak #define MSM8953_VDDCX_AO 3 177cdb6f604SVladimir Lypak #define MSM8953_VDDCX_VFL 4 178cdb6f604SVladimir Lypak #define MSM8953_VDDMX 5 179cdb6f604SVladimir Lypak #define MSM8953_VDDMX_AO 6 180cdb6f604SVladimir Lypak 181b1d52244SAngeloGioacchino Del Regno /* MSM8976 Power Domain Indexes */ 182b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX 0 183b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX_AO 1 184b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX_VFL 2 185b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX 3 186b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX_AO 4 187b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX_VFL 5 188b1d52244SAngeloGioacchino Del Regno 18943eb76a2SKonrad Dybcio /* MSM8994 Power Domain Indexes */ 19043eb76a2SKonrad Dybcio #define MSM8994_VDDCX 0 19143eb76a2SKonrad Dybcio #define MSM8994_VDDCX_AO 1 19243eb76a2SKonrad Dybcio #define MSM8994_VDDCX_VFC 2 19343eb76a2SKonrad Dybcio #define MSM8994_VDDMX 3 19443eb76a2SKonrad Dybcio #define MSM8994_VDDMX_AO 4 19543eb76a2SKonrad Dybcio #define MSM8994_VDDGFX 5 19643eb76a2SKonrad Dybcio #define MSM8994_VDDGFX_VFC 6 19743eb76a2SKonrad Dybcio 198c6e6eff4SRajendra Nayak /* MSM8996 Power Domain Indexes */ 199c6e6eff4SRajendra Nayak #define MSM8996_VDDCX 0 200c6e6eff4SRajendra Nayak #define MSM8996_VDDCX_AO 1 201c6e6eff4SRajendra Nayak #define MSM8996_VDDCX_VFC 2 202c6e6eff4SRajendra Nayak #define MSM8996_VDDMX 3 203c6e6eff4SRajendra Nayak #define MSM8996_VDDMX_AO 4 204c6e6eff4SRajendra Nayak #define MSM8996_VDDSSCX 5 205c6e6eff4SRajendra Nayak #define MSM8996_VDDSSCX_VFC 6 206c6e6eff4SRajendra Nayak 207dec9a05aSSibi Sankar /* MSM8998 Power Domain Indexes */ 208dec9a05aSSibi Sankar #define MSM8998_VDDCX 0 209dec9a05aSSibi Sankar #define MSM8998_VDDCX_AO 1 210dec9a05aSSibi Sankar #define MSM8998_VDDCX_VFL 2 211dec9a05aSSibi Sankar #define MSM8998_VDDMX 3 212dec9a05aSSibi Sankar #define MSM8998_VDDMX_AO 4 213dec9a05aSSibi Sankar #define MSM8998_VDDMX_VFL 5 214dec9a05aSSibi Sankar #define MSM8998_SSCCX 6 215dec9a05aSSibi Sankar #define MSM8998_SSCCX_VFL 7 216dec9a05aSSibi Sankar #define MSM8998_SSCMX 8 217dec9a05aSSibi Sankar #define MSM8998_SSCMX_VFL 9 218dec9a05aSSibi Sankar 2190cb93b15SBjorn Andersson /* QCS404 Power Domains */ 2200cb93b15SBjorn Andersson #define QCS404_VDDMX 0 2210cb93b15SBjorn Andersson #define QCS404_VDDMX_AO 1 2220cb93b15SBjorn Andersson #define QCS404_VDDMX_VFL 2 2230cb93b15SBjorn Andersson #define QCS404_LPICX 3 2240cb93b15SBjorn Andersson #define QCS404_LPICX_VFL 4 2250cb93b15SBjorn Andersson #define QCS404_LPIMX 5 2260cb93b15SBjorn Andersson #define QCS404_LPIMX_VFL 6 2270cb93b15SBjorn Andersson 228ee84049cSKonrad Dybcio /* SDM660 Power Domains */ 229ee84049cSKonrad Dybcio #define SDM660_VDDCX 0 230ee84049cSKonrad Dybcio #define SDM660_VDDCX_AO 1 231ee84049cSKonrad Dybcio #define SDM660_VDDCX_VFL 2 232ee84049cSKonrad Dybcio #define SDM660_VDDMX 3 233ee84049cSKonrad Dybcio #define SDM660_VDDMX_AO 4 234ee84049cSKonrad Dybcio #define SDM660_VDDMX_VFL 5 235ee84049cSKonrad Dybcio #define SDM660_SSCCX 6 236ee84049cSKonrad Dybcio #define SDM660_SSCCX_VFL 7 237ee84049cSKonrad Dybcio #define SDM660_SSCMX 8 238ee84049cSKonrad Dybcio #define SDM660_SSCMX_VFL 9 239ee84049cSKonrad Dybcio 24049a22c4aSIskren Chernev /* SM6115 Power Domains */ 24149a22c4aSIskren Chernev #define SM6115_VDDCX 0 24249a22c4aSIskren Chernev #define SM6115_VDDCX_AO 1 24349a22c4aSIskren Chernev #define SM6115_VDDCX_VFL 2 24449a22c4aSIskren Chernev #define SM6115_VDDMX 3 24549a22c4aSIskren Chernev #define SM6115_VDDMX_AO 4 24649a22c4aSIskren Chernev #define SM6115_VDDMX_VFL 5 24749a22c4aSIskren Chernev #define SM6115_VDD_LPI_CX 6 24849a22c4aSIskren Chernev #define SM6115_VDD_LPI_MX 7 24949a22c4aSIskren Chernev 25087121077SMartin Botka /* SM6125 Power Domains */ 25187121077SMartin Botka #define SM6125_VDDCX 0 25287121077SMartin Botka #define SM6125_VDDCX_AO 1 25387121077SMartin Botka #define SM6125_VDDCX_VFL 2 25487121077SMartin Botka #define SM6125_VDDMX 3 25587121077SMartin Botka #define SM6125_VDDMX_AO 4 25687121077SMartin Botka #define SM6125_VDDMX_VFL 5 25787121077SMartin Botka 2582475fcfbSShawn Guo /* QCM2290 Power Domains */ 2592475fcfbSShawn Guo #define QCM2290_VDDCX 0 2602475fcfbSShawn Guo #define QCM2290_VDDCX_AO 1 2612475fcfbSShawn Guo #define QCM2290_VDDCX_VFL 2 2622475fcfbSShawn Guo #define QCM2290_VDDMX 3 2632475fcfbSShawn Guo #define QCM2290_VDDMX_AO 4 2642475fcfbSShawn Guo #define QCM2290_VDDMX_VFL 5 2652475fcfbSShawn Guo #define QCM2290_VDD_LPI_CX 6 2662475fcfbSShawn Guo #define QCM2290_VDD_LPI_MX 7 2672475fcfbSShawn Guo 2680cb93b15SBjorn Andersson /* RPM SMD Power Domain performance levels */ 2690cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_RETENTION 16 2700cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_RETENTION_PLUS 32 2710cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_MIN_SVS 48 2720cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_LOW_SVS 64 2730cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_SVS 128 2740cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_SVS_PLUS 192 2750cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_NOM 256 2760cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_NOM_PLUS 320 2770cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_TURBO 384 2780cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_TURBO_NO_CPR 416 2794bc6aadbSAngelo G. Del Regno #define RPM_SMD_LEVEL_TURBO_HIGH 448 2800cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_BINNING 512 2810cb93b15SBjorn Andersson 282c6e6eff4SRajendra Nayak #endif 283