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 23ccc70635SRohit Agarwal /* SDX65 Power Domain Indexes */ 24ccc70635SRohit Agarwal #define SDX65_MSS 0 25ccc70635SRohit Agarwal #define SDX65_MX 1 26ccc70635SRohit Agarwal #define SDX65_MX_AO 2 27ccc70635SRohit Agarwal #define SDX65_CX 3 28ccc70635SRohit Agarwal #define SDX65_CX_AO 4 29ccc70635SRohit Agarwal #define SDX65_MXC 5 30ccc70635SRohit 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 128*dbfb5f94SBjorn Andersson /* SC8280XP Power Domain Indexes */ 129*dbfb5f94SBjorn Andersson #define SC8280XP_CX 0 130*dbfb5f94SBjorn Andersson #define SC8280XP_CX_AO 1 131*dbfb5f94SBjorn Andersson #define SC8280XP_DDR 2 132*dbfb5f94SBjorn Andersson #define SC8280XP_EBI 3 133*dbfb5f94SBjorn Andersson #define SC8280XP_GFX 4 134*dbfb5f94SBjorn Andersson #define SC8280XP_LCX 5 135*dbfb5f94SBjorn Andersson #define SC8280XP_LMX 6 136*dbfb5f94SBjorn Andersson #define SC8280XP_MMCX 7 137*dbfb5f94SBjorn Andersson #define SC8280XP_MMCX_AO 8 138*dbfb5f94SBjorn Andersson #define SC8280XP_MSS 9 139*dbfb5f94SBjorn Andersson #define SC8280XP_MX 10 140*dbfb5f94SBjorn Andersson #define SC8280XP_MXC 12 141*dbfb5f94SBjorn Andersson #define SC8280XP_MX_AO 11 142*dbfb5f94SBjorn Andersson #define SC8280XP_NSP 13 143*dbfb5f94SBjorn Andersson #define SC8280XP_QPHY 14 144*dbfb5f94SBjorn Andersson #define SC8280XP_XO 15 145*dbfb5f94SBjorn Andersson 146c6e6eff4SRajendra Nayak /* SDM845 Power Domain performance levels */ 147c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_RETENTION 16 148c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_MIN_SVS 48 149c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_LOW_SVS 64 150c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_SVS 128 15187b517a8SJonathan Marek #define RPMH_REGULATOR_LEVEL_SVS_L0 144 152c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_SVS_L1 192 15318ec173dSSibi Sankar #define RPMH_REGULATOR_LEVEL_SVS_L2 224 154c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_NOM 256 155c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_NOM_L1 320 156c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_NOM_L2 336 157c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_TURBO 384 158c6e6eff4SRajendra Nayak #define RPMH_REGULATOR_LEVEL_TURBO_L1 416 159c6e6eff4SRajendra Nayak 160af32011fSKonrad Dybcio /* MDM9607 Power Domains */ 161af32011fSKonrad Dybcio #define MDM9607_VDDCX 0 162af32011fSKonrad Dybcio #define MDM9607_VDDCX_AO 1 163af32011fSKonrad Dybcio #define MDM9607_VDDCX_VFL 2 164af32011fSKonrad Dybcio #define MDM9607_VDDMX 3 165af32011fSKonrad Dybcio #define MDM9607_VDDMX_AO 4 166af32011fSKonrad Dybcio #define MDM9607_VDDMX_VFL 5 167af32011fSKonrad Dybcio 168d1483636SLuca Weiss /* MSM8226 Power Domain Indexes */ 169d1483636SLuca Weiss #define MSM8226_VDDCX 0 170d1483636SLuca Weiss #define MSM8226_VDDCX_AO 1 171d1483636SLuca Weiss #define MSM8226_VDDCX_VFC 2 172d1483636SLuca Weiss 1731dd50f17SJun Nie /* MSM8939 Power Domains */ 1741dd50f17SJun Nie #define MSM8939_VDDMDCX 0 1751dd50f17SJun Nie #define MSM8939_VDDMDCX_AO 1 1761dd50f17SJun Nie #define MSM8939_VDDMDCX_VFC 2 1771dd50f17SJun Nie #define MSM8939_VDDCX 3 1781dd50f17SJun Nie #define MSM8939_VDDCX_AO 4 1791dd50f17SJun Nie #define MSM8939_VDDCX_VFC 5 1801dd50f17SJun Nie #define MSM8939_VDDMX 6 1811dd50f17SJun Nie #define MSM8939_VDDMX_AO 7 1821dd50f17SJun Nie 183819f7d91SStephan Gerhold /* MSM8916 Power Domain Indexes */ 184819f7d91SStephan Gerhold #define MSM8916_VDDCX 0 185819f7d91SStephan Gerhold #define MSM8916_VDDCX_AO 1 186819f7d91SStephan Gerhold #define MSM8916_VDDCX_VFC 2 187819f7d91SStephan Gerhold #define MSM8916_VDDMX 3 188819f7d91SStephan Gerhold #define MSM8916_VDDMX_AO 4 189819f7d91SStephan Gerhold 190cdb6f604SVladimir Lypak /* MSM8953 Power Domain Indexes */ 191cdb6f604SVladimir Lypak #define MSM8953_VDDMD 0 192cdb6f604SVladimir Lypak #define MSM8953_VDDMD_AO 1 193cdb6f604SVladimir Lypak #define MSM8953_VDDCX 2 194cdb6f604SVladimir Lypak #define MSM8953_VDDCX_AO 3 195cdb6f604SVladimir Lypak #define MSM8953_VDDCX_VFL 4 196cdb6f604SVladimir Lypak #define MSM8953_VDDMX 5 197cdb6f604SVladimir Lypak #define MSM8953_VDDMX_AO 6 198cdb6f604SVladimir Lypak 199b1d52244SAngeloGioacchino Del Regno /* MSM8976 Power Domain Indexes */ 200b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX 0 201b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX_AO 1 202b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX_VFL 2 203b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX 3 204b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX_AO 4 205b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX_VFL 5 206b1d52244SAngeloGioacchino Del Regno 20743eb76a2SKonrad Dybcio /* MSM8994 Power Domain Indexes */ 20843eb76a2SKonrad Dybcio #define MSM8994_VDDCX 0 20943eb76a2SKonrad Dybcio #define MSM8994_VDDCX_AO 1 21043eb76a2SKonrad Dybcio #define MSM8994_VDDCX_VFC 2 21143eb76a2SKonrad Dybcio #define MSM8994_VDDMX 3 21243eb76a2SKonrad Dybcio #define MSM8994_VDDMX_AO 4 21343eb76a2SKonrad Dybcio #define MSM8994_VDDGFX 5 21443eb76a2SKonrad Dybcio #define MSM8994_VDDGFX_VFC 6 21543eb76a2SKonrad Dybcio 216c6e6eff4SRajendra Nayak /* MSM8996 Power Domain Indexes */ 217c6e6eff4SRajendra Nayak #define MSM8996_VDDCX 0 218c6e6eff4SRajendra Nayak #define MSM8996_VDDCX_AO 1 219c6e6eff4SRajendra Nayak #define MSM8996_VDDCX_VFC 2 220c6e6eff4SRajendra Nayak #define MSM8996_VDDMX 3 221c6e6eff4SRajendra Nayak #define MSM8996_VDDMX_AO 4 222c6e6eff4SRajendra Nayak #define MSM8996_VDDSSCX 5 223c6e6eff4SRajendra Nayak #define MSM8996_VDDSSCX_VFC 6 224c6e6eff4SRajendra Nayak 225dec9a05aSSibi Sankar /* MSM8998 Power Domain Indexes */ 226dec9a05aSSibi Sankar #define MSM8998_VDDCX 0 227dec9a05aSSibi Sankar #define MSM8998_VDDCX_AO 1 228dec9a05aSSibi Sankar #define MSM8998_VDDCX_VFL 2 229dec9a05aSSibi Sankar #define MSM8998_VDDMX 3 230dec9a05aSSibi Sankar #define MSM8998_VDDMX_AO 4 231dec9a05aSSibi Sankar #define MSM8998_VDDMX_VFL 5 232dec9a05aSSibi Sankar #define MSM8998_SSCCX 6 233dec9a05aSSibi Sankar #define MSM8998_SSCCX_VFL 7 234dec9a05aSSibi Sankar #define MSM8998_SSCMX 8 235dec9a05aSSibi Sankar #define MSM8998_SSCMX_VFL 9 236dec9a05aSSibi Sankar 2370cb93b15SBjorn Andersson /* QCS404 Power Domains */ 2380cb93b15SBjorn Andersson #define QCS404_VDDMX 0 2390cb93b15SBjorn Andersson #define QCS404_VDDMX_AO 1 2400cb93b15SBjorn Andersson #define QCS404_VDDMX_VFL 2 2410cb93b15SBjorn Andersson #define QCS404_LPICX 3 2420cb93b15SBjorn Andersson #define QCS404_LPICX_VFL 4 2430cb93b15SBjorn Andersson #define QCS404_LPIMX 5 2440cb93b15SBjorn Andersson #define QCS404_LPIMX_VFL 6 2450cb93b15SBjorn Andersson 246ee84049cSKonrad Dybcio /* SDM660 Power Domains */ 247ee84049cSKonrad Dybcio #define SDM660_VDDCX 0 248ee84049cSKonrad Dybcio #define SDM660_VDDCX_AO 1 249ee84049cSKonrad Dybcio #define SDM660_VDDCX_VFL 2 250ee84049cSKonrad Dybcio #define SDM660_VDDMX 3 251ee84049cSKonrad Dybcio #define SDM660_VDDMX_AO 4 252ee84049cSKonrad Dybcio #define SDM660_VDDMX_VFL 5 253ee84049cSKonrad Dybcio #define SDM660_SSCCX 6 254ee84049cSKonrad Dybcio #define SDM660_SSCCX_VFL 7 255ee84049cSKonrad Dybcio #define SDM660_SSCMX 8 256ee84049cSKonrad Dybcio #define SDM660_SSCMX_VFL 9 257ee84049cSKonrad Dybcio 25849a22c4aSIskren Chernev /* SM6115 Power Domains */ 25949a22c4aSIskren Chernev #define SM6115_VDDCX 0 26049a22c4aSIskren Chernev #define SM6115_VDDCX_AO 1 26149a22c4aSIskren Chernev #define SM6115_VDDCX_VFL 2 26249a22c4aSIskren Chernev #define SM6115_VDDMX 3 26349a22c4aSIskren Chernev #define SM6115_VDDMX_AO 4 26449a22c4aSIskren Chernev #define SM6115_VDDMX_VFL 5 26549a22c4aSIskren Chernev #define SM6115_VDD_LPI_CX 6 26649a22c4aSIskren Chernev #define SM6115_VDD_LPI_MX 7 26749a22c4aSIskren Chernev 26887121077SMartin Botka /* SM6125 Power Domains */ 26987121077SMartin Botka #define SM6125_VDDCX 0 27087121077SMartin Botka #define SM6125_VDDCX_AO 1 27187121077SMartin Botka #define SM6125_VDDCX_VFL 2 27287121077SMartin Botka #define SM6125_VDDMX 3 27387121077SMartin Botka #define SM6125_VDDMX_AO 4 27487121077SMartin Botka #define SM6125_VDDMX_VFL 5 27587121077SMartin Botka 2762475fcfbSShawn Guo /* QCM2290 Power Domains */ 2772475fcfbSShawn Guo #define QCM2290_VDDCX 0 2782475fcfbSShawn Guo #define QCM2290_VDDCX_AO 1 2792475fcfbSShawn Guo #define QCM2290_VDDCX_VFL 2 2802475fcfbSShawn Guo #define QCM2290_VDDMX 3 2812475fcfbSShawn Guo #define QCM2290_VDDMX_AO 4 2822475fcfbSShawn Guo #define QCM2290_VDDMX_VFL 5 2832475fcfbSShawn Guo #define QCM2290_VDD_LPI_CX 6 2842475fcfbSShawn Guo #define QCM2290_VDD_LPI_MX 7 2852475fcfbSShawn Guo 2860cb93b15SBjorn Andersson /* RPM SMD Power Domain performance levels */ 2870cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_RETENTION 16 2880cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_RETENTION_PLUS 32 2890cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_MIN_SVS 48 2900cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_LOW_SVS 64 2910cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_SVS 128 2920cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_SVS_PLUS 192 2930cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_NOM 256 2940cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_NOM_PLUS 320 2950cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_TURBO 384 2960cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_TURBO_NO_CPR 416 2974bc6aadbSAngelo G. Del Regno #define RPM_SMD_LEVEL_TURBO_HIGH 448 2980cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_BINNING 512 2990cb93b15SBjorn Andersson 300c6e6eff4SRajendra Nayak #endif 301