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 128dbfb5f94SBjorn Andersson /* SC8280XP Power Domain Indexes */ 129dbfb5f94SBjorn Andersson #define SC8280XP_CX 0 130dbfb5f94SBjorn Andersson #define SC8280XP_CX_AO 1 131dbfb5f94SBjorn Andersson #define SC8280XP_DDR 2 132dbfb5f94SBjorn Andersson #define SC8280XP_EBI 3 133dbfb5f94SBjorn Andersson #define SC8280XP_GFX 4 134dbfb5f94SBjorn Andersson #define SC8280XP_LCX 5 135dbfb5f94SBjorn Andersson #define SC8280XP_LMX 6 136dbfb5f94SBjorn Andersson #define SC8280XP_MMCX 7 137dbfb5f94SBjorn Andersson #define SC8280XP_MMCX_AO 8 138dbfb5f94SBjorn Andersson #define SC8280XP_MSS 9 139dbfb5f94SBjorn Andersson #define SC8280XP_MX 10 140dbfb5f94SBjorn Andersson #define SC8280XP_MXC 12 141dbfb5f94SBjorn Andersson #define SC8280XP_MX_AO 11 142dbfb5f94SBjorn Andersson #define SC8280XP_NSP 13 143dbfb5f94SBjorn Andersson #define SC8280XP_QPHY 14 144dbfb5f94SBjorn Andersson #define SC8280XP_XO 15 145dbfb5f94SBjorn 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 190*c61c6c65SStephan Gerhold /* MSM8909 Power Domain Indexes */ 191*c61c6c65SStephan Gerhold #define MSM8909_VDDCX MSM8916_VDDCX 192*c61c6c65SStephan Gerhold #define MSM8909_VDDCX_AO MSM8916_VDDCX_AO 193*c61c6c65SStephan Gerhold #define MSM8909_VDDCX_VFC MSM8916_VDDCX_VFC 194*c61c6c65SStephan Gerhold #define MSM8909_VDDMX MSM8916_VDDMX 195*c61c6c65SStephan Gerhold #define MSM8909_VDDMX_AO MSM8916_VDDMX_AO 196*c61c6c65SStephan Gerhold 197cdb6f604SVladimir Lypak /* MSM8953 Power Domain Indexes */ 198cdb6f604SVladimir Lypak #define MSM8953_VDDMD 0 199cdb6f604SVladimir Lypak #define MSM8953_VDDMD_AO 1 200cdb6f604SVladimir Lypak #define MSM8953_VDDCX 2 201cdb6f604SVladimir Lypak #define MSM8953_VDDCX_AO 3 202cdb6f604SVladimir Lypak #define MSM8953_VDDCX_VFL 4 203cdb6f604SVladimir Lypak #define MSM8953_VDDMX 5 204cdb6f604SVladimir Lypak #define MSM8953_VDDMX_AO 6 205cdb6f604SVladimir Lypak 206b1d52244SAngeloGioacchino Del Regno /* MSM8976 Power Domain Indexes */ 207b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX 0 208b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX_AO 1 209b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDCX_VFL 2 210b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX 3 211b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX_AO 4 212b1d52244SAngeloGioacchino Del Regno #define MSM8976_VDDMX_VFL 5 213b1d52244SAngeloGioacchino Del Regno 21443eb76a2SKonrad Dybcio /* MSM8994 Power Domain Indexes */ 21543eb76a2SKonrad Dybcio #define MSM8994_VDDCX 0 21643eb76a2SKonrad Dybcio #define MSM8994_VDDCX_AO 1 21743eb76a2SKonrad Dybcio #define MSM8994_VDDCX_VFC 2 21843eb76a2SKonrad Dybcio #define MSM8994_VDDMX 3 21943eb76a2SKonrad Dybcio #define MSM8994_VDDMX_AO 4 22043eb76a2SKonrad Dybcio #define MSM8994_VDDGFX 5 22143eb76a2SKonrad Dybcio #define MSM8994_VDDGFX_VFC 6 22243eb76a2SKonrad Dybcio 223c6e6eff4SRajendra Nayak /* MSM8996 Power Domain Indexes */ 224c6e6eff4SRajendra Nayak #define MSM8996_VDDCX 0 225c6e6eff4SRajendra Nayak #define MSM8996_VDDCX_AO 1 226c6e6eff4SRajendra Nayak #define MSM8996_VDDCX_VFC 2 227c6e6eff4SRajendra Nayak #define MSM8996_VDDMX 3 228c6e6eff4SRajendra Nayak #define MSM8996_VDDMX_AO 4 229c6e6eff4SRajendra Nayak #define MSM8996_VDDSSCX 5 230c6e6eff4SRajendra Nayak #define MSM8996_VDDSSCX_VFC 6 231c6e6eff4SRajendra Nayak 232dec9a05aSSibi Sankar /* MSM8998 Power Domain Indexes */ 233dec9a05aSSibi Sankar #define MSM8998_VDDCX 0 234dec9a05aSSibi Sankar #define MSM8998_VDDCX_AO 1 235dec9a05aSSibi Sankar #define MSM8998_VDDCX_VFL 2 236dec9a05aSSibi Sankar #define MSM8998_VDDMX 3 237dec9a05aSSibi Sankar #define MSM8998_VDDMX_AO 4 238dec9a05aSSibi Sankar #define MSM8998_VDDMX_VFL 5 239dec9a05aSSibi Sankar #define MSM8998_SSCCX 6 240dec9a05aSSibi Sankar #define MSM8998_SSCCX_VFL 7 241dec9a05aSSibi Sankar #define MSM8998_SSCMX 8 242dec9a05aSSibi Sankar #define MSM8998_SSCMX_VFL 9 243dec9a05aSSibi Sankar 2440cb93b15SBjorn Andersson /* QCS404 Power Domains */ 2450cb93b15SBjorn Andersson #define QCS404_VDDMX 0 2460cb93b15SBjorn Andersson #define QCS404_VDDMX_AO 1 2470cb93b15SBjorn Andersson #define QCS404_VDDMX_VFL 2 2480cb93b15SBjorn Andersson #define QCS404_LPICX 3 2490cb93b15SBjorn Andersson #define QCS404_LPICX_VFL 4 2500cb93b15SBjorn Andersson #define QCS404_LPIMX 5 2510cb93b15SBjorn Andersson #define QCS404_LPIMX_VFL 6 2520cb93b15SBjorn Andersson 253ee84049cSKonrad Dybcio /* SDM660 Power Domains */ 254ee84049cSKonrad Dybcio #define SDM660_VDDCX 0 255ee84049cSKonrad Dybcio #define SDM660_VDDCX_AO 1 256ee84049cSKonrad Dybcio #define SDM660_VDDCX_VFL 2 257ee84049cSKonrad Dybcio #define SDM660_VDDMX 3 258ee84049cSKonrad Dybcio #define SDM660_VDDMX_AO 4 259ee84049cSKonrad Dybcio #define SDM660_VDDMX_VFL 5 260ee84049cSKonrad Dybcio #define SDM660_SSCCX 6 261ee84049cSKonrad Dybcio #define SDM660_SSCCX_VFL 7 262ee84049cSKonrad Dybcio #define SDM660_SSCMX 8 263ee84049cSKonrad Dybcio #define SDM660_SSCMX_VFL 9 264ee84049cSKonrad Dybcio 26549a22c4aSIskren Chernev /* SM6115 Power Domains */ 26649a22c4aSIskren Chernev #define SM6115_VDDCX 0 26749a22c4aSIskren Chernev #define SM6115_VDDCX_AO 1 26849a22c4aSIskren Chernev #define SM6115_VDDCX_VFL 2 26949a22c4aSIskren Chernev #define SM6115_VDDMX 3 27049a22c4aSIskren Chernev #define SM6115_VDDMX_AO 4 27149a22c4aSIskren Chernev #define SM6115_VDDMX_VFL 5 27249a22c4aSIskren Chernev #define SM6115_VDD_LPI_CX 6 27349a22c4aSIskren Chernev #define SM6115_VDD_LPI_MX 7 27449a22c4aSIskren Chernev 27587121077SMartin Botka /* SM6125 Power Domains */ 27687121077SMartin Botka #define SM6125_VDDCX 0 27787121077SMartin Botka #define SM6125_VDDCX_AO 1 27887121077SMartin Botka #define SM6125_VDDCX_VFL 2 27987121077SMartin Botka #define SM6125_VDDMX 3 28087121077SMartin Botka #define SM6125_VDDMX_AO 4 28187121077SMartin Botka #define SM6125_VDDMX_VFL 5 28287121077SMartin Botka 2832475fcfbSShawn Guo /* QCM2290 Power Domains */ 2842475fcfbSShawn Guo #define QCM2290_VDDCX 0 2852475fcfbSShawn Guo #define QCM2290_VDDCX_AO 1 2862475fcfbSShawn Guo #define QCM2290_VDDCX_VFL 2 2872475fcfbSShawn Guo #define QCM2290_VDDMX 3 2882475fcfbSShawn Guo #define QCM2290_VDDMX_AO 4 2892475fcfbSShawn Guo #define QCM2290_VDDMX_VFL 5 2902475fcfbSShawn Guo #define QCM2290_VDD_LPI_CX 6 2912475fcfbSShawn Guo #define QCM2290_VDD_LPI_MX 7 2922475fcfbSShawn Guo 2930cb93b15SBjorn Andersson /* RPM SMD Power Domain performance levels */ 2940cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_RETENTION 16 2950cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_RETENTION_PLUS 32 2960cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_MIN_SVS 48 2970cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_LOW_SVS 64 2980cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_SVS 128 2990cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_SVS_PLUS 192 3000cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_NOM 256 3010cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_NOM_PLUS 320 3020cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_TURBO 384 3030cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_TURBO_NO_CPR 416 3044bc6aadbSAngelo G. Del Regno #define RPM_SMD_LEVEL_TURBO_HIGH 448 3050cb93b15SBjorn Andersson #define RPM_SMD_LEVEL_BINNING 512 3060cb93b15SBjorn Andersson 307c6e6eff4SRajendra Nayak #endif 308