1 /* $NetBSD: qcom,spmi-vadc.h,v 1.1.1.3 2021/11/07 16:49:57 jmcneill Exp $ */ 2 3 /* SPDX-License-Identifier: GPL-2.0 */ 4 /* 5 * Copyright (c) 2012-2014,2018,2020 The Linux Foundation. All rights reserved. 6 */ 7 8 #ifndef _DT_BINDINGS_QCOM_SPMI_VADC_H 9 #define _DT_BINDINGS_QCOM_SPMI_VADC_H 10 11 /* Voltage ADC channels */ 12 #define VADC_USBIN 0x00 13 #define VADC_DCIN 0x01 14 #define VADC_VCHG_SNS 0x02 15 #define VADC_SPARE1_03 0x03 16 #define VADC_USB_ID_MV 0x04 17 #define VADC_VCOIN 0x05 18 #define VADC_VBAT_SNS 0x06 19 #define VADC_VSYS 0x07 20 #define VADC_DIE_TEMP 0x08 21 #define VADC_REF_625MV 0x09 22 #define VADC_REF_1250MV 0x0a 23 #define VADC_CHG_TEMP 0x0b 24 #define VADC_SPARE1 0x0c 25 #define VADC_SPARE2 0x0d 26 #define VADC_GND_REF 0x0e 27 #define VADC_VDD_VADC 0x0f 28 29 #define VADC_P_MUX1_1_1 0x10 30 #define VADC_P_MUX2_1_1 0x11 31 #define VADC_P_MUX3_1_1 0x12 32 #define VADC_P_MUX4_1_1 0x13 33 #define VADC_P_MUX5_1_1 0x14 34 #define VADC_P_MUX6_1_1 0x15 35 #define VADC_P_MUX7_1_1 0x16 36 #define VADC_P_MUX8_1_1 0x17 37 #define VADC_P_MUX9_1_1 0x18 38 #define VADC_P_MUX10_1_1 0x19 39 #define VADC_P_MUX11_1_1 0x1a 40 #define VADC_P_MUX12_1_1 0x1b 41 #define VADC_P_MUX13_1_1 0x1c 42 #define VADC_P_MUX14_1_1 0x1d 43 #define VADC_P_MUX15_1_1 0x1e 44 #define VADC_P_MUX16_1_1 0x1f 45 46 #define VADC_P_MUX1_1_3 0x20 47 #define VADC_P_MUX2_1_3 0x21 48 #define VADC_P_MUX3_1_3 0x22 49 #define VADC_P_MUX4_1_3 0x23 50 #define VADC_P_MUX5_1_3 0x24 51 #define VADC_P_MUX6_1_3 0x25 52 #define VADC_P_MUX7_1_3 0x26 53 #define VADC_P_MUX8_1_3 0x27 54 #define VADC_P_MUX9_1_3 0x28 55 #define VADC_P_MUX10_1_3 0x29 56 #define VADC_P_MUX11_1_3 0x2a 57 #define VADC_P_MUX12_1_3 0x2b 58 #define VADC_P_MUX13_1_3 0x2c 59 #define VADC_P_MUX14_1_3 0x2d 60 #define VADC_P_MUX15_1_3 0x2e 61 #define VADC_P_MUX16_1_3 0x2f 62 63 #define VADC_LR_MUX1_BAT_THERM 0x30 64 #define VADC_LR_MUX2_BAT_ID 0x31 65 #define VADC_LR_MUX3_XO_THERM 0x32 66 #define VADC_LR_MUX4_AMUX_THM1 0x33 67 #define VADC_LR_MUX5_AMUX_THM2 0x34 68 #define VADC_LR_MUX6_AMUX_THM3 0x35 69 #define VADC_LR_MUX7_HW_ID 0x36 70 #define VADC_LR_MUX8_AMUX_THM4 0x37 71 #define VADC_LR_MUX9_AMUX_THM5 0x38 72 #define VADC_LR_MUX10_USB_ID 0x39 73 #define VADC_AMUX_PU1 0x3a 74 #define VADC_AMUX_PU2 0x3b 75 #define VADC_LR_MUX3_BUF_XO_THERM 0x3c 76 77 #define VADC_LR_MUX1_PU1_BAT_THERM 0x70 78 #define VADC_LR_MUX2_PU1_BAT_ID 0x71 79 #define VADC_LR_MUX3_PU1_XO_THERM 0x72 80 #define VADC_LR_MUX4_PU1_AMUX_THM1 0x73 81 #define VADC_LR_MUX5_PU1_AMUX_THM2 0x74 82 #define VADC_LR_MUX6_PU1_AMUX_THM3 0x75 83 #define VADC_LR_MUX7_PU1_AMUX_HW_ID 0x76 84 #define VADC_LR_MUX8_PU1_AMUX_THM4 0x77 85 #define VADC_LR_MUX9_PU1_AMUX_THM5 0x78 86 #define VADC_LR_MUX10_PU1_AMUX_USB_ID 0x79 87 #define VADC_LR_MUX3_BUF_PU1_XO_THERM 0x7c 88 89 #define VADC_LR_MUX1_PU2_BAT_THERM 0xb0 90 #define VADC_LR_MUX2_PU2_BAT_ID 0xb1 91 #define VADC_LR_MUX3_PU2_XO_THERM 0xb2 92 #define VADC_LR_MUX4_PU2_AMUX_THM1 0xb3 93 #define VADC_LR_MUX5_PU2_AMUX_THM2 0xb4 94 #define VADC_LR_MUX6_PU2_AMUX_THM3 0xb5 95 #define VADC_LR_MUX7_PU2_AMUX_HW_ID 0xb6 96 #define VADC_LR_MUX8_PU2_AMUX_THM4 0xb7 97 #define VADC_LR_MUX9_PU2_AMUX_THM5 0xb8 98 #define VADC_LR_MUX10_PU2_AMUX_USB_ID 0xb9 99 #define VADC_LR_MUX3_BUF_PU2_XO_THERM 0xbc 100 101 #define VADC_LR_MUX1_PU1_PU2_BAT_THERM 0xf0 102 #define VADC_LR_MUX2_PU1_PU2_BAT_ID 0xf1 103 #define VADC_LR_MUX3_PU1_PU2_XO_THERM 0xf2 104 #define VADC_LR_MUX4_PU1_PU2_AMUX_THM1 0xf3 105 #define VADC_LR_MUX5_PU1_PU2_AMUX_THM2 0xf4 106 #define VADC_LR_MUX6_PU1_PU2_AMUX_THM3 0xf5 107 #define VADC_LR_MUX7_PU1_PU2_AMUX_HW_ID 0xf6 108 #define VADC_LR_MUX8_PU1_PU2_AMUX_THM4 0xf7 109 #define VADC_LR_MUX9_PU1_PU2_AMUX_THM5 0xf8 110 #define VADC_LR_MUX10_PU1_PU2_AMUX_USB_ID 0xf9 111 #define VADC_LR_MUX3_BUF_PU1_PU2_XO_THERM 0xfc 112 113 /* ADC channels for SPMI PMIC5 */ 114 115 #define ADC5_REF_GND 0x00 116 #define ADC5_1P25VREF 0x01 117 #define ADC5_VREF_VADC 0x02 118 #define ADC5_VREF_VADC5_DIV_3 0x82 119 #define ADC5_VPH_PWR 0x83 120 #define ADC5_VBAT_SNS 0x84 121 #define ADC5_VCOIN 0x85 122 #define ADC5_DIE_TEMP 0x06 123 #define ADC5_USB_IN_I 0x07 124 #define ADC5_USB_IN_V_16 0x08 125 #define ADC5_CHG_TEMP 0x09 126 #define ADC5_BAT_THERM 0x0a 127 #define ADC5_BAT_ID 0x0b 128 #define ADC5_XO_THERM 0x0c 129 #define ADC5_AMUX_THM1 0x0d 130 #define ADC5_AMUX_THM2 0x0e 131 #define ADC5_AMUX_THM3 0x0f 132 #define ADC5_AMUX_THM4 0x10 133 #define ADC5_AMUX_THM5 0x11 134 #define ADC5_GPIO1 0x12 135 #define ADC5_GPIO2 0x13 136 #define ADC5_GPIO3 0x14 137 #define ADC5_GPIO4 0x15 138 #define ADC5_GPIO5 0x16 139 #define ADC5_GPIO6 0x17 140 #define ADC5_GPIO7 0x18 141 #define ADC5_SBUx 0x99 142 #define ADC5_MID_CHG_DIV6 0x1e 143 #define ADC5_OFF 0xff 144 145 /* 30k pull-up1 */ 146 #define ADC5_BAT_THERM_30K_PU 0x2a 147 #define ADC5_BAT_ID_30K_PU 0x2b 148 #define ADC5_XO_THERM_30K_PU 0x2c 149 #define ADC5_AMUX_THM1_30K_PU 0x2d 150 #define ADC5_AMUX_THM2_30K_PU 0x2e 151 #define ADC5_AMUX_THM3_30K_PU 0x2f 152 #define ADC5_AMUX_THM4_30K_PU 0x30 153 #define ADC5_AMUX_THM5_30K_PU 0x31 154 #define ADC5_GPIO1_30K_PU 0x32 155 #define ADC5_GPIO2_30K_PU 0x33 156 #define ADC5_GPIO3_30K_PU 0x34 157 #define ADC5_GPIO4_30K_PU 0x35 158 #define ADC5_GPIO5_30K_PU 0x36 159 #define ADC5_GPIO6_30K_PU 0x37 160 #define ADC5_GPIO7_30K_PU 0x38 161 #define ADC5_SBUx_30K_PU 0x39 162 163 /* 100k pull-up2 */ 164 #define ADC5_BAT_THERM_100K_PU 0x4a 165 #define ADC5_BAT_ID_100K_PU 0x4b 166 #define ADC5_XO_THERM_100K_PU 0x4c 167 #define ADC5_AMUX_THM1_100K_PU 0x4d 168 #define ADC5_AMUX_THM2_100K_PU 0x4e 169 #define ADC5_AMUX_THM3_100K_PU 0x4f 170 #define ADC5_AMUX_THM4_100K_PU 0x50 171 #define ADC5_AMUX_THM5_100K_PU 0x51 172 #define ADC5_GPIO1_100K_PU 0x52 173 #define ADC5_GPIO2_100K_PU 0x53 174 #define ADC5_GPIO3_100K_PU 0x54 175 #define ADC5_GPIO4_100K_PU 0x55 176 #define ADC5_GPIO5_100K_PU 0x56 177 #define ADC5_GPIO6_100K_PU 0x57 178 #define ADC5_GPIO7_100K_PU 0x58 179 #define ADC5_SBUx_100K_PU 0x59 180 181 /* 400k pull-up3 */ 182 #define ADC5_BAT_THERM_400K_PU 0x6a 183 #define ADC5_BAT_ID_400K_PU 0x6b 184 #define ADC5_XO_THERM_400K_PU 0x6c 185 #define ADC5_AMUX_THM1_400K_PU 0x6d 186 #define ADC5_AMUX_THM2_400K_PU 0x6e 187 #define ADC5_AMUX_THM3_400K_PU 0x6f 188 #define ADC5_AMUX_THM4_400K_PU 0x70 189 #define ADC5_AMUX_THM5_400K_PU 0x71 190 #define ADC5_GPIO1_400K_PU 0x72 191 #define ADC5_GPIO2_400K_PU 0x73 192 #define ADC5_GPIO3_400K_PU 0x74 193 #define ADC5_GPIO4_400K_PU 0x75 194 #define ADC5_GPIO5_400K_PU 0x76 195 #define ADC5_GPIO6_400K_PU 0x77 196 #define ADC5_GPIO7_400K_PU 0x78 197 #define ADC5_SBUx_400K_PU 0x79 198 199 /* 1/3 Divider */ 200 #define ADC5_GPIO1_DIV3 0x92 201 #define ADC5_GPIO2_DIV3 0x93 202 #define ADC5_GPIO3_DIV3 0x94 203 #define ADC5_GPIO4_DIV3 0x95 204 #define ADC5_GPIO5_DIV3 0x96 205 #define ADC5_GPIO6_DIV3 0x97 206 #define ADC5_GPIO7_DIV3 0x98 207 #define ADC5_SBUx_DIV3 0x99 208 209 /* Current and combined current/voltage channels */ 210 #define ADC5_INT_EXT_ISENSE 0xa1 211 #define ADC5_PARALLEL_ISENSE 0xa5 212 #define ADC5_CUR_REPLICA_VDS 0xa7 213 #define ADC5_CUR_SENS_BATFET_VDS_OFFSET 0xa9 214 #define ADC5_CUR_SENS_REPLICA_VDS_OFFSET 0xab 215 #define ADC5_EXT_SENS_OFFSET 0xad 216 217 #define ADC5_INT_EXT_ISENSE_VBAT_VDATA 0xb0 218 #define ADC5_INT_EXT_ISENSE_VBAT_IDATA 0xb1 219 #define ADC5_EXT_ISENSE_VBAT_VDATA 0xb2 220 #define ADC5_EXT_ISENSE_VBAT_IDATA 0xb3 221 #define ADC5_PARALLEL_ISENSE_VBAT_VDATA 0xb4 222 #define ADC5_PARALLEL_ISENSE_VBAT_IDATA 0xb5 223 224 #define ADC5_MAX_CHANNEL 0xc0 225 226 /* ADC channels for ADC for PMIC7 */ 227 228 #define ADC7_REF_GND 0x00 229 #define ADC7_1P25VREF 0x01 230 #define ADC7_VREF_VADC 0x02 231 #define ADC7_DIE_TEMP 0x03 232 233 #define ADC7_AMUX_THM1 0x04 234 #define ADC7_AMUX_THM2 0x05 235 #define ADC7_AMUX_THM3 0x06 236 #define ADC7_AMUX_THM4 0x07 237 #define ADC7_AMUX_THM5 0x08 238 #define ADC7_AMUX_THM6 0x09 239 #define ADC7_GPIO1 0x0a 240 #define ADC7_GPIO2 0x0b 241 #define ADC7_GPIO3 0x0c 242 #define ADC7_GPIO4 0x0d 243 244 #define ADC7_CHG_TEMP 0x10 245 #define ADC7_USB_IN_V_16 0x11 246 #define ADC7_VDC_16 0x12 247 #define ADC7_CC1_ID 0x13 248 #define ADC7_VREF_BAT_THERM 0x15 249 #define ADC7_IIN_FB 0x17 250 251 /* 30k pull-up1 */ 252 #define ADC7_AMUX_THM1_30K_PU 0x24 253 #define ADC7_AMUX_THM2_30K_PU 0x25 254 #define ADC7_AMUX_THM3_30K_PU 0x26 255 #define ADC7_AMUX_THM4_30K_PU 0x27 256 #define ADC7_AMUX_THM5_30K_PU 0x28 257 #define ADC7_AMUX_THM6_30K_PU 0x29 258 #define ADC7_GPIO1_30K_PU 0x2a 259 #define ADC7_GPIO2_30K_PU 0x2b 260 #define ADC7_GPIO3_30K_PU 0x2c 261 #define ADC7_GPIO4_30K_PU 0x2d 262 #define ADC7_CC1_ID_30K_PU 0x33 263 264 /* 100k pull-up2 */ 265 #define ADC7_AMUX_THM1_100K_PU 0x44 266 #define ADC7_AMUX_THM2_100K_PU 0x45 267 #define ADC7_AMUX_THM3_100K_PU 0x46 268 #define ADC7_AMUX_THM4_100K_PU 0x47 269 #define ADC7_AMUX_THM5_100K_PU 0x48 270 #define ADC7_AMUX_THM6_100K_PU 0x49 271 #define ADC7_GPIO1_100K_PU 0x4a 272 #define ADC7_GPIO2_100K_PU 0x4b 273 #define ADC7_GPIO3_100K_PU 0x4c 274 #define ADC7_GPIO4_100K_PU 0x4d 275 #define ADC7_CC1_ID_100K_PU 0x53 276 277 /* 400k pull-up3 */ 278 #define ADC7_AMUX_THM1_400K_PU 0x64 279 #define ADC7_AMUX_THM2_400K_PU 0x65 280 #define ADC7_AMUX_THM3_400K_PU 0x66 281 #define ADC7_AMUX_THM4_400K_PU 0x67 282 #define ADC7_AMUX_THM5_400K_PU 0x68 283 #define ADC7_AMUX_THM6_400K_PU 0x69 284 #define ADC7_GPIO1_400K_PU 0x6a 285 #define ADC7_GPIO2_400K_PU 0x6b 286 #define ADC7_GPIO3_400K_PU 0x6c 287 #define ADC7_GPIO4_400K_PU 0x6d 288 #define ADC7_CC1_ID_400K_PU 0x73 289 290 /* 1/3 Divider */ 291 #define ADC7_GPIO1_DIV3 0x8a 292 #define ADC7_GPIO2_DIV3 0x8b 293 #define ADC7_GPIO3_DIV3 0x8c 294 #define ADC7_GPIO4_DIV3 0x8d 295 296 #define ADC7_VPH_PWR 0x8e 297 #define ADC7_VBAT_SNS 0x8f 298 299 #define ADC7_SBUx 0x94 300 #define ADC7_VBAT_2S_MID 0x96 301 302 #endif /* _DT_BINDINGS_QCOM_SPMI_VADC_H */ 303