1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Copyright (c) 2018, The Linux Foundation. All rights reserved. */ 3 4 #ifndef _DT_BINDINGS_POWER_QCOM_RPMPD_H 5 #define _DT_BINDINGS_POWER_QCOM_RPMPD_H 6 7 #include <dt-bindings/power/qcom,rpmhpd.h> 8 9 /* Generic RPM Power Domain Indexes */ 10 #define RPMPD_VDDCX 0 11 #define RPMPD_VDDCX_AO 1 12 /* VFC and VFL are mutually exclusive and can not be present on the same platform */ 13 #define RPMPD_VDDCX_VFC 2 14 #define RPMPD_VDDCX_VFL 2 15 #define RPMPD_VDDMX 3 16 #define RPMPD_VDDMX_AO 4 17 #define RPMPD_VDDMX_VFL 5 18 #define RPMPD_SSCCX 6 19 #define RPMPD_SSCCX_VFL 7 20 #define RPMPD_SSCMX 8 21 #define RPMPD_SSCMX_VFL 9 22 23 /* 24 * Platform-specific power domain bindings. Don't add new entries here, use 25 * RPMPD_* above. 26 */ 27 28 /* MDM9607 Power Domains */ 29 #define MDM9607_VDDCX RPMPD_VDDCX 30 #define MDM9607_VDDCX_AO RPMPD_VDDCX_AO 31 #define MDM9607_VDDCX_VFL RPMPD_VDDCX_VFL 32 #define MDM9607_VDDMX RPMPD_VDDMX 33 #define MDM9607_VDDMX_AO RPMPD_VDDMX_AO 34 #define MDM9607_VDDMX_VFL RPMPD_VDDMX_VFL 35 36 /* MSM8226 Power Domain Indexes */ 37 #define MSM8226_VDDCX RPMPD_VDDCX 38 #define MSM8226_VDDCX_AO RPMPD_VDDCX_AO 39 #define MSM8226_VDDCX_VFC RPMPD_VDDCX_VFC 40 41 /* MSM8939 Power Domains */ 42 #define MSM8939_VDDMDCX 0 43 #define MSM8939_VDDMDCX_AO 1 44 #define MSM8939_VDDMDCX_VFC 2 45 #define MSM8939_VDDCX 3 46 #define MSM8939_VDDCX_AO 4 47 #define MSM8939_VDDCX_VFC 5 48 #define MSM8939_VDDMX 6 49 #define MSM8939_VDDMX_AO 7 50 51 /* MSM8916 Power Domain Indexes */ 52 #define MSM8916_VDDCX RPMPD_VDDCX 53 #define MSM8916_VDDCX_AO RPMPD_VDDCX_AO 54 #define MSM8916_VDDCX_VFC RPMPD_VDDCX_VFC 55 #define MSM8916_VDDMX RPMPD_VDDMX 56 #define MSM8916_VDDMX_AO RPMPD_VDDMX_AO 57 58 /* MSM8909 Power Domain Indexes */ 59 #define MSM8909_VDDCX MSM8916_VDDCX 60 #define MSM8909_VDDCX_AO MSM8916_VDDCX_AO 61 #define MSM8909_VDDCX_VFC MSM8916_VDDCX_VFC 62 #define MSM8909_VDDMX MSM8916_VDDMX 63 #define MSM8909_VDDMX_AO MSM8916_VDDMX_AO 64 65 /* MSM8917 Power Domain Indexes */ 66 #define MSM8917_VDDCX RPMPD_VDDCX 67 #define MSM8917_VDDCX_AO RPMPD_VDDCX_AO 68 #define MSM8917_VDDCX_VFL RPMPD_VDDCX_VFL 69 #define MSM8917_VDDMX RPMPD_VDDMX 70 #define MSM8917_VDDMX_AO RPMPD_VDDMX_AO 71 72 /* MSM8937 Power Domain Indexes */ 73 #define MSM8937_VDDCX MSM8917_VDDCX 74 #define MSM8937_VDDCX_AO MSM8917_VDDCX_AO 75 #define MSM8937_VDDCX_VFL MSM8917_VDDCX_VFL 76 #define MSM8937_VDDMX MSM8917_VDDMX 77 #define MSM8937_VDDMX_AO MSM8917_VDDMX_AO 78 79 /* QM215 Power Domain Indexes */ 80 #define QM215_VDDCX MSM8917_VDDCX 81 #define QM215_VDDCX_AO MSM8917_VDDCX_AO 82 #define QM215_VDDCX_VFL MSM8917_VDDCX_VFL 83 #define QM215_VDDMX MSM8917_VDDMX 84 #define QM215_VDDMX_AO MSM8917_VDDMX_AO 85 86 /* MSM8953 Power Domain Indexes */ 87 #define MSM8953_VDDMD 0 88 #define MSM8953_VDDMD_AO 1 89 #define MSM8953_VDDCX 2 90 #define MSM8953_VDDCX_AO 3 91 #define MSM8953_VDDCX_VFL 4 92 #define MSM8953_VDDMX 5 93 #define MSM8953_VDDMX_AO 6 94 95 /* MSM8974 Power Domain Indexes */ 96 #define MSM8974_VDDCX 0 97 #define MSM8974_VDDCX_AO 1 98 #define MSM8974_VDDCX_VFC 2 99 #define MSM8974_VDDGFX 3 100 #define MSM8974_VDDGFX_VFC 4 101 102 /* MSM8976 Power Domain Indexes */ 103 #define MSM8976_VDDCX RPMPD_VDDCX 104 #define MSM8976_VDDCX_AO RPMPD_VDDCX_AO 105 #define MSM8976_VDDCX_VFL RPMPD_VDDCX_VFL 106 #define MSM8976_VDDMX RPMPD_VDDMX 107 #define MSM8976_VDDMX_AO RPMPD_VDDMX_AO 108 #define MSM8976_VDDMX_VFL RPMPD_VDDMX_VFL 109 110 /* MSM8994 Power Domain Indexes */ 111 #define MSM8994_VDDCX 0 112 #define MSM8994_VDDCX_AO 1 113 #define MSM8994_VDDCX_VFC 2 114 #define MSM8994_VDDMX 3 115 #define MSM8994_VDDMX_AO 4 116 #define MSM8994_VDDGFX 5 117 #define MSM8994_VDDGFX_VFC 6 118 119 /* MSM8996 Power Domain Indexes */ 120 #define MSM8996_VDDCX 0 121 #define MSM8996_VDDCX_AO 1 122 #define MSM8996_VDDCX_VFC 2 123 #define MSM8996_VDDMX 3 124 #define MSM8996_VDDMX_AO 4 125 #define MSM8996_VDDSSCX 5 126 #define MSM8996_VDDSSCX_VFC 6 127 128 /* MSM8998 Power Domain Indexes */ 129 #define MSM8998_VDDCX RPMPD_VDDCX 130 #define MSM8998_VDDCX_AO RPMPD_VDDCX_AO 131 #define MSM8998_VDDCX_VFL RPMPD_VDDCX_VFL 132 #define MSM8998_VDDMX RPMPD_VDDMX 133 #define MSM8998_VDDMX_AO RPMPD_VDDMX_AO 134 #define MSM8998_VDDMX_VFL RPMPD_VDDMX_VFL 135 #define MSM8998_SSCCX RPMPD_SSCCX 136 #define MSM8998_SSCCX_VFL RPMPD_SSCCX_VFL 137 #define MSM8998_SSCMX RPMPD_SSCMX 138 #define MSM8998_SSCMX_VFL RPMPD_SSCMX_VFL 139 140 /* QCM2290 Power Domains */ 141 #define QCM2290_VDDCX 0 142 #define QCM2290_VDDCX_AO 1 143 #define QCM2290_VDDCX_VFL 2 144 #define QCM2290_VDDMX 3 145 #define QCM2290_VDDMX_AO 4 146 #define QCM2290_VDDMX_VFL 5 147 #define QCM2290_VDD_LPI_CX 6 148 #define QCM2290_VDD_LPI_MX 7 149 150 /* QCS404 Power Domains */ 151 #define QCS404_VDDMX 0 152 #define QCS404_VDDMX_AO 1 153 #define QCS404_VDDMX_VFL 2 154 #define QCS404_LPICX 3 155 #define QCS404_LPICX_VFL 4 156 #define QCS404_LPIMX 5 157 #define QCS404_LPIMX_VFL 6 158 159 /* SDM660 Power Domains */ 160 #define SDM660_VDDCX RPMPD_VDDCX 161 #define SDM660_VDDCX_AO RPMPD_VDDCX_AO 162 #define SDM660_VDDCX_VFL RPMPD_VDDCX_VFL 163 #define SDM660_VDDMX RPMPD_VDDMX 164 #define SDM660_VDDMX_AO RPMPD_VDDMX_AO 165 #define SDM660_VDDMX_VFL RPMPD_VDDMX_VFL 166 #define SDM660_SSCCX RPMPD_SSCCX 167 #define SDM660_SSCCX_VFL RPMPD_SSCCX_VFL 168 #define SDM660_SSCMX RPMPD_SSCMX 169 #define SDM660_SSCMX_VFL RPMPD_SSCMX_VFL 170 171 /* SM6115 Power Domains */ 172 #define SM6115_VDDCX 0 173 #define SM6115_VDDCX_AO 1 174 #define SM6115_VDDCX_VFL 2 175 #define SM6115_VDDMX 3 176 #define SM6115_VDDMX_AO 4 177 #define SM6115_VDDMX_VFL 5 178 #define SM6115_VDD_LPI_CX 6 179 #define SM6115_VDD_LPI_MX 7 180 181 /* SM6125 Power Domains */ 182 #define SM6125_VDDCX RPMPD_VDDCX 183 #define SM6125_VDDCX_AO RPMPD_VDDCX_AO 184 #define SM6125_VDDCX_VFL RPMPD_VDDCX_VFL 185 #define SM6125_VDDMX RPMPD_VDDMX 186 #define SM6125_VDDMX_AO RPMPD_VDDMX_AO 187 #define SM6125_VDDMX_VFL RPMPD_VDDMX_VFL 188 189 /* SM6375 Power Domain Indexes */ 190 #define SM6375_VDDCX 0 191 #define SM6375_VDDCX_AO 1 192 #define SM6375_VDDCX_VFL 2 193 #define SM6375_VDDMX 3 194 #define SM6375_VDDMX_AO 4 195 #define SM6375_VDDMX_VFL 5 196 #define SM6375_VDDGX 6 197 #define SM6375_VDDGX_AO 7 198 #define SM6375_VDD_LPI_CX 8 199 #define SM6375_VDD_LPI_MX 9 200 201 /* RPM SMD Power Domain performance levels */ 202 #define RPM_SMD_LEVEL_RETENTION 16 203 #define RPM_SMD_LEVEL_RETENTION_PLUS 32 204 #define RPM_SMD_LEVEL_MIN_SVS 48 205 #define RPM_SMD_LEVEL_LOW_SVS 64 206 #define RPM_SMD_LEVEL_SVS 128 207 #define RPM_SMD_LEVEL_SVS_PLUS 192 208 #define RPM_SMD_LEVEL_NOM 256 209 #define RPM_SMD_LEVEL_NOM_PLUS 320 210 #define RPM_SMD_LEVEL_TURBO 384 211 #define RPM_SMD_LEVEL_TURBO_NO_CPR 416 212 #define RPM_SMD_LEVEL_TURBO_HIGH 448 213 #define RPM_SMD_LEVEL_BINNING 512 214 215 #endif 216