1 /* $NetBSD: qcom-rpmpd.h,v 1.1.1.3 2021/11/07 16:49:56 jmcneill Exp $ */ 2 3 /* SPDX-License-Identifier: GPL-2.0 */ 4 /* Copyright (c) 2018, The Linux Foundation. All rights reserved. */ 5 6 #ifndef _DT_BINDINGS_POWER_QCOM_RPMPD_H 7 #define _DT_BINDINGS_POWER_QCOM_RPMPD_H 8 9 /* SDM845 Power Domain Indexes */ 10 #define SDM845_EBI 0 11 #define SDM845_MX 1 12 #define SDM845_MX_AO 2 13 #define SDM845_CX 3 14 #define SDM845_CX_AO 4 15 #define SDM845_LMX 5 16 #define SDM845_LCX 6 17 #define SDM845_GFX 7 18 #define SDM845_MSS 8 19 20 /* SDX55 Power Domain Indexes */ 21 #define SDX55_MSS 0 22 #define SDX55_MX 1 23 #define SDX55_CX 2 24 25 /* SM8150 Power Domain Indexes */ 26 #define SM8150_MSS 0 27 #define SM8150_EBI 1 28 #define SM8150_LMX 2 29 #define SM8150_LCX 3 30 #define SM8150_GFX 4 31 #define SM8150_MX 5 32 #define SM8150_MX_AO 6 33 #define SM8150_CX 7 34 #define SM8150_CX_AO 8 35 #define SM8150_MMCX 9 36 #define SM8150_MMCX_AO 10 37 38 /* SM8250 Power Domain Indexes */ 39 #define SM8250_CX 0 40 #define SM8250_CX_AO 1 41 #define SM8250_EBI 2 42 #define SM8250_GFX 3 43 #define SM8250_LCX 4 44 #define SM8250_LMX 5 45 #define SM8250_MMCX 6 46 #define SM8250_MMCX_AO 7 47 #define SM8250_MX 8 48 #define SM8250_MX_AO 9 49 50 /* SM8350 Power Domain Indexes */ 51 #define SM8350_CX 0 52 #define SM8350_CX_AO 1 53 #define SM8350_EBI 2 54 #define SM8350_GFX 3 55 #define SM8350_LCX 4 56 #define SM8350_LMX 5 57 #define SM8350_MMCX 6 58 #define SM8350_MMCX_AO 7 59 #define SM8350_MX 8 60 #define SM8350_MX_AO 9 61 #define SM8350_MXC 10 62 #define SM8350_MXC_AO 11 63 #define SM8350_MSS 12 64 65 /* SC7180 Power Domain Indexes */ 66 #define SC7180_CX 0 67 #define SC7180_CX_AO 1 68 #define SC7180_GFX 2 69 #define SC7180_MX 3 70 #define SC7180_MX_AO 4 71 #define SC7180_LMX 5 72 #define SC7180_LCX 6 73 #define SC7180_MSS 7 74 75 /* SC7280 Power Domain Indexes */ 76 #define SC7280_CX 0 77 #define SC7280_CX_AO 1 78 #define SC7280_EBI 2 79 #define SC7280_GFX 3 80 #define SC7280_MX 4 81 #define SC7280_MX_AO 5 82 #define SC7280_LMX 6 83 #define SC7280_LCX 7 84 #define SC7280_MSS 8 85 86 /* SC8180X Power Domain Indexes */ 87 #define SC8180X_CX 0 88 #define SC8180X_CX_AO 1 89 #define SC8180X_EBI 2 90 #define SC8180X_GFX 3 91 #define SC8180X_LCX 4 92 #define SC8180X_LMX 5 93 #define SC8180X_MMCX 6 94 #define SC8180X_MMCX_AO 7 95 #define SC8180X_MSS 8 96 #define SC8180X_MX 9 97 #define SC8180X_MX_AO 10 98 99 /* SDM845 Power Domain performance levels */ 100 #define RPMH_REGULATOR_LEVEL_RETENTION 16 101 #define RPMH_REGULATOR_LEVEL_MIN_SVS 48 102 #define RPMH_REGULATOR_LEVEL_LOW_SVS 64 103 #define RPMH_REGULATOR_LEVEL_SVS 128 104 #define RPMH_REGULATOR_LEVEL_SVS_L0 144 105 #define RPMH_REGULATOR_LEVEL_SVS_L1 192 106 #define RPMH_REGULATOR_LEVEL_SVS_L2 224 107 #define RPMH_REGULATOR_LEVEL_NOM 256 108 #define RPMH_REGULATOR_LEVEL_NOM_L1 320 109 #define RPMH_REGULATOR_LEVEL_NOM_L2 336 110 #define RPMH_REGULATOR_LEVEL_TURBO 384 111 #define RPMH_REGULATOR_LEVEL_TURBO_L1 416 112 113 /* MDM9607 Power Domains */ 114 #define MDM9607_VDDCX 0 115 #define MDM9607_VDDCX_AO 1 116 #define MDM9607_VDDCX_VFL 2 117 #define MDM9607_VDDMX 3 118 #define MDM9607_VDDMX_AO 4 119 #define MDM9607_VDDMX_VFL 5 120 121 /* MSM8939 Power Domains */ 122 #define MSM8939_VDDMDCX 0 123 #define MSM8939_VDDMDCX_AO 1 124 #define MSM8939_VDDMDCX_VFC 2 125 #define MSM8939_VDDCX 3 126 #define MSM8939_VDDCX_AO 4 127 #define MSM8939_VDDCX_VFC 5 128 #define MSM8939_VDDMX 6 129 #define MSM8939_VDDMX_AO 7 130 131 /* MSM8916 Power Domain Indexes */ 132 #define MSM8916_VDDCX 0 133 #define MSM8916_VDDCX_AO 1 134 #define MSM8916_VDDCX_VFC 2 135 #define MSM8916_VDDMX 3 136 #define MSM8916_VDDMX_AO 4 137 138 /* MSM8976 Power Domain Indexes */ 139 #define MSM8976_VDDCX 0 140 #define MSM8976_VDDCX_AO 1 141 #define MSM8976_VDDCX_VFL 2 142 #define MSM8976_VDDMX 3 143 #define MSM8976_VDDMX_AO 4 144 #define MSM8976_VDDMX_VFL 5 145 146 /* MSM8994 Power Domain Indexes */ 147 #define MSM8994_VDDCX 0 148 #define MSM8994_VDDCX_AO 1 149 #define MSM8994_VDDCX_VFC 2 150 #define MSM8994_VDDMX 3 151 #define MSM8994_VDDMX_AO 4 152 #define MSM8994_VDDGFX 5 153 #define MSM8994_VDDGFX_VFC 6 154 155 /* MSM8996 Power Domain Indexes */ 156 #define MSM8996_VDDCX 0 157 #define MSM8996_VDDCX_AO 1 158 #define MSM8996_VDDCX_VFC 2 159 #define MSM8996_VDDMX 3 160 #define MSM8996_VDDMX_AO 4 161 #define MSM8996_VDDSSCX 5 162 #define MSM8996_VDDSSCX_VFC 6 163 164 /* MSM8998 Power Domain Indexes */ 165 #define MSM8998_VDDCX 0 166 #define MSM8998_VDDCX_AO 1 167 #define MSM8998_VDDCX_VFL 2 168 #define MSM8998_VDDMX 3 169 #define MSM8998_VDDMX_AO 4 170 #define MSM8998_VDDMX_VFL 5 171 #define MSM8998_SSCCX 6 172 #define MSM8998_SSCCX_VFL 7 173 #define MSM8998_SSCMX 8 174 #define MSM8998_SSCMX_VFL 9 175 176 /* QCS404 Power Domains */ 177 #define QCS404_VDDMX 0 178 #define QCS404_VDDMX_AO 1 179 #define QCS404_VDDMX_VFL 2 180 #define QCS404_LPICX 3 181 #define QCS404_LPICX_VFL 4 182 #define QCS404_LPIMX 5 183 #define QCS404_LPIMX_VFL 6 184 185 /* SDM660 Power Domains */ 186 #define SDM660_VDDCX 0 187 #define SDM660_VDDCX_AO 1 188 #define SDM660_VDDCX_VFL 2 189 #define SDM660_VDDMX 3 190 #define SDM660_VDDMX_AO 4 191 #define SDM660_VDDMX_VFL 5 192 #define SDM660_SSCCX 6 193 #define SDM660_SSCCX_VFL 7 194 #define SDM660_SSCMX 8 195 #define SDM660_SSCMX_VFL 9 196 197 /* SM6115 Power Domains */ 198 #define SM6115_VDDCX 0 199 #define SM6115_VDDCX_AO 1 200 #define SM6115_VDDCX_VFL 2 201 #define SM6115_VDDMX 3 202 #define SM6115_VDDMX_AO 4 203 #define SM6115_VDDMX_VFL 5 204 #define SM6115_VDD_LPI_CX 6 205 #define SM6115_VDD_LPI_MX 7 206 207 /* RPM SMD Power Domain performance levels */ 208 #define RPM_SMD_LEVEL_RETENTION 16 209 #define RPM_SMD_LEVEL_RETENTION_PLUS 32 210 #define RPM_SMD_LEVEL_MIN_SVS 48 211 #define RPM_SMD_LEVEL_LOW_SVS 64 212 #define RPM_SMD_LEVEL_SVS 128 213 #define RPM_SMD_LEVEL_SVS_PLUS 192 214 #define RPM_SMD_LEVEL_NOM 256 215 #define RPM_SMD_LEVEL_NOM_PLUS 320 216 #define RPM_SMD_LEVEL_TURBO 384 217 #define RPM_SMD_LEVEL_TURBO_NO_CPR 416 218 #define RPM_SMD_LEVEL_TURBO_HIGH 448 219 #define RPM_SMD_LEVEL_BINNING 512 220 221 #endif 222