Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

mfd: max77759: add register bitmasks and modify irq configs for charger

Add register bitmasks for charger function.
In addition split the charger IRQs further such that each bit represents
an IRQ downstream of charger regmap irq chip. In addition populate the
ack_base to offload irq ack to the regmap irq chip framework.

Signed-off-by: Amit Sunil Dhamne <amitsd@google.com>
Reviewed-by: André Draszik <andre.draszik@linaro.org>
Link: https://patch.msgid.link/20260325-max77759-charger-v9-3-4486dd297adc@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Amit Sunil Dhamne and committed by
Greg Kroah-Hartman
b422f7c0 47f8ba23

+222 -39
+85 -10
drivers/mfd/max77759.c
··· 201 201 * - SYSUVLO_INT 202 202 * - FSHIP_NOT_RD 203 203 * - CHGR_INT: charger 204 - * - CHG_INT 205 - * - CHG_INT2 204 + * - INT1 205 + * - AICL 206 + * - CHGIN 207 + * - WCIN 208 + * - CHG 209 + * - BAT 210 + * - INLIM 211 + * - THM2 212 + * - BYP 213 + * - INT2 214 + * - INSEL 215 + * - SYS_UVLO1 216 + * - SYS_UVLO2 217 + * - BAT_OILO 218 + * - CHG_STA_CC 219 + * - CHG_STA_CV 220 + * - CHG_STA_TO 221 + * - CHG_STA_DONE 206 222 */ 207 223 enum { 208 224 MAX77759_INT_MAXQ, ··· 244 228 }; 245 229 246 230 enum { 247 - MAX77759_CHARGER_INT_1, 248 - MAX77759_CHARGER_INT_2, 231 + MAX77759_CHGR_INT1_AICL, 232 + MAX77759_CHGR_INT1_CHGIN, 233 + MAX77759_CHGR_INT1_WCIN, 234 + MAX77759_CHGR_INT1_CHG, 235 + MAX77759_CHGR_INT1_BAT, 236 + MAX77759_CHGR_INT1_INLIM, 237 + MAX77759_CHGR_INT1_THM2, 238 + MAX77759_CHGR_INT1_BYP, 239 + MAX77759_CHGR_INT2_INSEL, 240 + MAX77759_CHGR_INT2_SYS_UVLO1, 241 + MAX77759_CHGR_INT2_SYS_UVLO2, 242 + MAX77759_CHGR_INT2_BAT_OILO, 243 + MAX77759_CHGR_INT2_CHG_STA_CC, 244 + MAX77759_CHGR_INT2_CHG_STA_CV, 245 + MAX77759_CHGR_INT2_CHG_STA_TO, 246 + MAX77759_CHGR_INT2_CHG_STA_DONE, 249 247 }; 250 248 251 249 static const struct regmap_irq max77759_pmic_irqs[] = { ··· 286 256 }; 287 257 288 258 static const struct regmap_irq max77759_chgr_irqs[] = { 289 - REGMAP_IRQ_REG(MAX77759_CHARGER_INT_1, 0, GENMASK(7, 0)), 290 - REGMAP_IRQ_REG(MAX77759_CHARGER_INT_2, 1, GENMASK(7, 0)), 259 + REGMAP_IRQ_REG(MAX77759_CHGR_INT1_AICL, 0, 260 + MAX77759_CHGR_REG_CHG_INT_AICL), 261 + REGMAP_IRQ_REG(MAX77759_CHGR_INT1_CHGIN, 0, 262 + MAX77759_CHGR_REG_CHG_INT_CHGIN), 263 + REGMAP_IRQ_REG(MAX77759_CHGR_INT1_WCIN, 0, 264 + MAX77759_CHGR_REG_CHG_INT_WCIN), 265 + REGMAP_IRQ_REG(MAX77759_CHGR_INT1_CHG, 0, 266 + MAX77759_CHGR_REG_CHG_INT_CHG), 267 + REGMAP_IRQ_REG(MAX77759_CHGR_INT1_BAT, 0, 268 + MAX77759_CHGR_REG_CHG_INT_BAT), 269 + REGMAP_IRQ_REG(MAX77759_CHGR_INT1_INLIM, 0, 270 + MAX77759_CHGR_REG_CHG_INT_INLIM), 271 + REGMAP_IRQ_REG(MAX77759_CHGR_INT1_THM2, 0, 272 + MAX77759_CHGR_REG_CHG_INT_THM2), 273 + REGMAP_IRQ_REG(MAX77759_CHGR_INT1_BYP, 0, 274 + MAX77759_CHGR_REG_CHG_INT_BYP), 275 + REGMAP_IRQ_REG(MAX77759_CHGR_INT2_INSEL, 1, 276 + MAX77759_CHGR_REG_CHG_INT2_INSEL), 277 + REGMAP_IRQ_REG(MAX77759_CHGR_INT2_SYS_UVLO1, 1, 278 + MAX77759_CHGR_REG_CHG_INT2_SYS_UVLO1), 279 + REGMAP_IRQ_REG(MAX77759_CHGR_INT2_SYS_UVLO2, 1, 280 + MAX77759_CHGR_REG_CHG_INT2_SYS_UVLO2), 281 + REGMAP_IRQ_REG(MAX77759_CHGR_INT2_BAT_OILO, 1, 282 + MAX77759_CHGR_REG_CHG_INT2_BAT_OILO), 283 + REGMAP_IRQ_REG(MAX77759_CHGR_INT2_CHG_STA_CC, 1, 284 + MAX77759_CHGR_REG_CHG_INT2_CHG_STA_CC), 285 + REGMAP_IRQ_REG(MAX77759_CHGR_INT2_CHG_STA_CV, 1, 286 + MAX77759_CHGR_REG_CHG_INT2_CHG_STA_CV), 287 + REGMAP_IRQ_REG(MAX77759_CHGR_INT2_CHG_STA_TO, 1, 288 + MAX77759_CHGR_REG_CHG_INT2_CHG_STA_TO), 289 + REGMAP_IRQ_REG(MAX77759_CHGR_INT2_CHG_STA_DONE, 1, 290 + MAX77759_CHGR_REG_CHG_INT2_CHG_STA_DONE), 291 291 }; 292 292 293 293 static const struct regmap_irq_chip max77759_pmic_irq_chip = { ··· 357 297 .num_irqs = ARRAY_SIZE(max77759_topsys_irqs), 358 298 }; 359 299 360 - static const struct regmap_irq_chip max77759_chrg_irq_chip = { 300 + static const struct regmap_irq_chip max77759_chgr_irq_chip = { 361 301 .name = "max77759-chgr", 362 302 .domain_suffix = "CHGR", 363 303 .status_base = MAX77759_CHGR_REG_CHG_INT, 364 304 .mask_base = MAX77759_CHGR_REG_CHG_INT_MASK, 305 + .ack_base = MAX77759_CHGR_REG_CHG_INT, 365 306 .num_regs = 2, 366 307 .irqs = max77759_chgr_irqs, 367 308 .num_irqs = ARRAY_SIZE(max77759_chgr_irqs), ··· 386 325 }; 387 326 388 327 static const struct resource max77759_charger_resources[] = { 389 - DEFINE_RES_IRQ_NAMED(MAX77759_CHARGER_INT_1, "INT1"), 390 - DEFINE_RES_IRQ_NAMED(MAX77759_CHARGER_INT_2, "INT2"), 328 + DEFINE_RES_IRQ_NAMED(MAX77759_CHGR_INT1_AICL, "AICL"), 329 + DEFINE_RES_IRQ_NAMED(MAX77759_CHGR_INT1_CHGIN, "CHGIN"), 330 + DEFINE_RES_IRQ_NAMED(MAX77759_CHGR_INT1_WCIN, "WCIN"), 331 + DEFINE_RES_IRQ_NAMED(MAX77759_CHGR_INT1_CHG, "CHG"), 332 + DEFINE_RES_IRQ_NAMED(MAX77759_CHGR_INT1_BAT, "BAT"), 333 + DEFINE_RES_IRQ_NAMED(MAX77759_CHGR_INT1_INLIM, "INLIM"), 334 + DEFINE_RES_IRQ_NAMED(MAX77759_CHGR_INT1_THM2, "THM2"), 335 + DEFINE_RES_IRQ_NAMED(MAX77759_CHGR_INT1_BYP, "BYP"), 336 + DEFINE_RES_IRQ_NAMED(MAX77759_CHGR_INT2_INSEL, "INSEL"), 337 + DEFINE_RES_IRQ_NAMED(MAX77759_CHGR_INT2_SYS_UVLO1, "SYS_UVLO1"), 338 + DEFINE_RES_IRQ_NAMED(MAX77759_CHGR_INT2_SYS_UVLO2, "SYS_UVLO2"), 339 + DEFINE_RES_IRQ_NAMED(MAX77759_CHGR_INT2_BAT_OILO, "BAT_OILO"), 340 + DEFINE_RES_IRQ_NAMED(MAX77759_CHGR_INT2_CHG_STA_CC, "CHG_STA_CC"), 341 + DEFINE_RES_IRQ_NAMED(MAX77759_CHGR_INT2_CHG_STA_CV, "CHG_STA_CV"), 342 + DEFINE_RES_IRQ_NAMED(MAX77759_CHGR_INT2_CHG_STA_TO, "CHG_STA_TO"), 343 + DEFINE_RES_IRQ_NAMED(MAX77759_CHGR_INT2_CHG_STA_DONE, "CHG_STA_DONE"), 391 344 }; 392 345 393 346 static const struct mfd_cell max77759_cells[] = { ··· 642 567 max77759->regmap_charger, 643 568 MAX77759_INT_CHGR, 644 569 parent, 645 - &max77759_chrg_irq_chip, 570 + &max77759_chgr_irq_chip, 646 571 &irq_chip_data); 647 572 if (ret) 648 573 return ret;
+137 -29
include/linux/mfd/max77759.h
··· 59 59 #define MAX77759_MAXQ_REG_AP_DATAIN0 0xb1 60 60 #define MAX77759_MAXQ_REG_UIC_SWRST 0xe0 61 61 62 - #define MAX77759_CHGR_REG_CHG_INT 0xb0 63 - #define MAX77759_CHGR_REG_CHG_INT2 0xb1 64 - #define MAX77759_CHGR_REG_CHG_INT_MASK 0xb2 65 - #define MAX77759_CHGR_REG_CHG_INT2_MASK 0xb3 66 - #define MAX77759_CHGR_REG_CHG_INT_OK 0xb4 67 - #define MAX77759_CHGR_REG_CHG_DETAILS_00 0xb5 68 - #define MAX77759_CHGR_REG_CHG_DETAILS_01 0xb6 69 - #define MAX77759_CHGR_REG_CHG_DETAILS_02 0xb7 70 - #define MAX77759_CHGR_REG_CHG_DETAILS_03 0xb8 71 - #define MAX77759_CHGR_REG_CHG_CNFG_00 0xb9 72 - #define MAX77759_CHGR_REG_CHG_CNFG_01 0xba 73 - #define MAX77759_CHGR_REG_CHG_CNFG_02 0xbb 74 - #define MAX77759_CHGR_REG_CHG_CNFG_03 0xbc 75 - #define MAX77759_CHGR_REG_CHG_CNFG_04 0xbd 76 - #define MAX77759_CHGR_REG_CHG_CNFG_05 0xbe 77 - #define MAX77759_CHGR_REG_CHG_CNFG_06 0xbf 78 - #define MAX77759_CHGR_REG_CHG_CNFG_07 0xc0 79 - #define MAX77759_CHGR_REG_CHG_CNFG_08 0xc1 80 - #define MAX77759_CHGR_REG_CHG_CNFG_09 0xc2 81 - #define MAX77759_CHGR_REG_CHG_CNFG_10 0xc3 82 - #define MAX77759_CHGR_REG_CHG_CNFG_11 0xc4 83 - #define MAX77759_CHGR_REG_CHG_CNFG_12 0xc5 84 - #define MAX77759_CHGR_REG_CHG_CNFG_13 0xc6 85 - #define MAX77759_CHGR_REG_CHG_CNFG_14 0xc7 86 - #define MAX77759_CHGR_REG_CHG_CNFG_15 0xc8 87 - #define MAX77759_CHGR_REG_CHG_CNFG_16 0xc9 88 - #define MAX77759_CHGR_REG_CHG_CNFG_17 0xca 89 - #define MAX77759_CHGR_REG_CHG_CNFG_18 0xcb 90 - #define MAX77759_CHGR_REG_CHG_CNFG_19 0xcc 62 + #define MAX77759_CHGR_REG_CHG_INT 0xb0 63 + #define MAX77759_CHGR_REG_CHG_INT_AICL BIT(7) 64 + #define MAX77759_CHGR_REG_CHG_INT_CHGIN BIT(6) 65 + #define MAX77759_CHGR_REG_CHG_INT_WCIN BIT(5) 66 + #define MAX77759_CHGR_REG_CHG_INT_CHG BIT(4) 67 + #define MAX77759_CHGR_REG_CHG_INT_BAT BIT(3) 68 + #define MAX77759_CHGR_REG_CHG_INT_INLIM BIT(2) 69 + #define MAX77759_CHGR_REG_CHG_INT_THM2 BIT(1) 70 + #define MAX77759_CHGR_REG_CHG_INT_BYP BIT(0) 71 + #define MAX77759_CHGR_REG_CHG_INT2 0xb1 72 + #define MAX77759_CHGR_REG_CHG_INT2_INSEL BIT(7) 73 + #define MAX77759_CHGR_REG_CHG_INT2_SYS_UVLO1 BIT(6) 74 + #define MAX77759_CHGR_REG_CHG_INT2_SYS_UVLO2 BIT(5) 75 + #define MAX77759_CHGR_REG_CHG_INT2_BAT_OILO BIT(4) 76 + #define MAX77759_CHGR_REG_CHG_INT2_CHG_STA_CC BIT(3) 77 + #define MAX77759_CHGR_REG_CHG_INT2_CHG_STA_CV BIT(2) 78 + #define MAX77759_CHGR_REG_CHG_INT2_CHG_STA_TO BIT(1) 79 + #define MAX77759_CHGR_REG_CHG_INT2_CHG_STA_DONE BIT(0) 80 + #define MAX77759_CHGR_REG_CHG_INT_MASK 0xb2 81 + #define MAX77759_CHGR_REG_CHG_INT2_MASK 0xb3 82 + #define MAX77759_CHGR_REG_CHG_INT_OK 0xb4 83 + #define MAX77759_CHGR_REG_CHG_DETAILS_00 0xb5 84 + #define MAX77759_CHGR_REG_CHG_DETAILS_00_CHGIN_DTLS GENMASK(6, 5) 85 + #define MAX77759_CHGR_REG_CHG_DETAILS_01 0xb6 86 + #define MAX77759_CHGR_REG_CHG_DETAILS_01_BAT_DTLS GENMASK(6, 4) 87 + #define MAX77759_CHGR_REG_CHG_DETAILS_01_CHG_DTLS GENMASK(3, 0) 88 + #define MAX77759_CHGR_REG_CHG_DETAILS_02 0xb7 89 + #define MAX77759_CHGR_REG_CHG_DETAILS_02_CHGIN_STS BIT(5) 90 + #define MAX77759_CHGR_REG_CHG_DETAILS_03 0xb8 91 + #define MAX77759_CHGR_REG_CHG_CNFG_00 0xb9 92 + #define MAX77759_CHGR_REG_CHG_CNFG_00_MODE GENMASK(3, 0) 93 + #define MAX77759_CHGR_REG_CHG_CNFG_01 0xba 94 + #define MAX77759_CHGR_REG_CHG_CNFG_02 0xbb 95 + #define MAX77759_CHGR_REG_CHG_CNFG_02_CHGCC GENMASK(5, 0) 96 + #define MAX77759_CHGR_REG_CHG_CNFG_03 0xbc 97 + #define MAX77759_CHGR_REG_CHG_CNFG_04 0xbd 98 + #define MAX77759_CHGR_REG_CHG_CNFG_04_CHG_CV_PRM GENMASK(5, 0) 99 + #define MAX77759_CHGR_REG_CHG_CNFG_05 0xbe 100 + #define MAX77759_CHGR_REG_CHG_CNFG_06 0xbf 101 + #define MAX77759_CHGR_REG_CHG_CNFG_06_CHGPROT GENMASK(3, 2) 102 + #define MAX77759_CHGR_REG_CHG_CNFG_07 0xc0 103 + #define MAX77759_CHGR_REG_CHG_CNFG_08 0xc1 104 + #define MAX77759_CHGR_REG_CHG_CNFG_09 0xc2 105 + #define MAX77759_CHGR_REG_CHG_CNFG_09_CHGIN_ILIM GENMASK(6, 0) 106 + #define MAX77759_CHGR_REG_CHG_CNFG_10 0xc3 107 + #define MAX77759_CHGR_REG_CHG_CNFG_11 0xc4 108 + #define MAX77759_CHGR_REG_CHG_CNFG_12 0xc5 109 + /* Wireless Charging input channel select */ 110 + #define MAX77759_CHGR_REG_CHG_CNFG_12_WCINSEL BIT(6) 111 + /* CHGIN/USB input channel select */ 112 + #define MAX77759_CHGR_REG_CHG_CNFG_12_CHGINSEL BIT(5) 113 + #define MAX77759_CHGR_REG_CHG_CNFG_13 0xc6 114 + #define MAX77759_CHGR_REG_CHG_CNFG_14 0xc7 115 + #define MAX77759_CHGR_REG_CHG_CNFG_15 0xc8 116 + #define MAX77759_CHGR_REG_CHG_CNFG_16 0xc9 117 + #define MAX77759_CHGR_REG_CHG_CNFG_17 0xca 118 + #define MAX77759_CHGR_REG_CHG_CNFG_18 0xcb 119 + #define MAX77759_CHGR_REG_CHG_CNFG_18_WDTEN BIT(0) 120 + #define MAX77759_CHGR_REG_CHG_CNFG_19 0xcc 91 121 92 122 /* MaxQ opcodes for max77759_maxq_command() */ 93 123 #define MAX77759_MAXQ_OPCODE_MAXLENGTH (MAX77759_MAXQ_REG_AP_DATAOUT32 - \ ··· 130 100 #define MAX77759_MAXQ_OPCODE_GPIO_CONTROL_WRITE 0x24 131 101 #define MAX77759_MAXQ_OPCODE_USER_SPACE_READ 0x81 132 102 #define MAX77759_MAXQ_OPCODE_USER_SPACE_WRITE 0x82 103 + 104 + /* 105 + * enum max77759_chgr_chgin_dtls_status - Charger Input Status 106 + * @MAX77759_CHGR_CHGIN_DTLS_VBUS_UNDERVOLTAGE: 107 + * Charger input voltage (Vchgin) < Under Voltage Threshold (Vuvlo) 108 + * @MAX77759_CHGR_CHGIN_DTLS_VBUS_MARGINAL_VOLTAGE: Vchgin > Vuvlo and 109 + * Vchgin < (Battery Voltage (Vbatt) + system voltage (Vsys)) 110 + * @MAX77759_CHGR_CHGIN_DTLS_VBUS_OVERVOLTAGE: 111 + * Vchgin > Over Voltage threshold (Vovlo) 112 + * @MAX77759_CHGR_CHGIN_DTLS_VBUS_VALID: 113 + * Vchgin > Vuvlo, Vchgin < Vovlo and Vchgin > (Vsys + Vbatt) 114 + */ 115 + enum max77759_chgr_chgin_dtls_status { 116 + MAX77759_CHGR_CHGIN_DTLS_VBUS_UNDERVOLTAGE, 117 + MAX77759_CHGR_CHGIN_DTLS_VBUS_MARGINAL_VOLTAGE, 118 + MAX77759_CHGR_CHGIN_DTLS_VBUS_OVERVOLTAGE, 119 + MAX77759_CHGR_CHGIN_DTLS_VBUS_VALID, 120 + }; 121 + 122 + /* 123 + * enum max77759_chgr_bat_dtls_states - Battery Details 124 + * @MAX77759_CHGR_BAT_DTLS_NO_BATT_CHG_SUSP: No battery and the charger suspended 125 + * @MAX77759_CHGR_BAT_DTLS_DEAD_BATTERY: Vbatt < Vtrickle 126 + * @MAX77759_CHGR_BAT_DTLS_BAT_CHG_TIMER_FAULT: Charging suspended due to timer fault 127 + * @MAX77759_CHGR_BAT_DTLS_BAT_OKAY: Battery okay and Vbatt > Min Sys Voltage (Vsysmin) 128 + * @MAX77759_CHGR_BAT_DTLS_BAT_UNDERVOLTAGE: Battery is okay. Vtrickle < Vbatt < Vsysmin 129 + * @MAX77759_CHGR_BAT_DTLS_BAT_OVERVOLTAGE: Battery voltage > Overvoltage threshold 130 + * @MAX77759_CHGR_BAT_DTLS_BAT_OVERCURRENT: Battery current exceeds overcurrent threshold 131 + * @MAX77759_CHGR_BAT_DTLS_BAT_ONLY_MODE: Battery only mode and battery level not available 132 + */ 133 + enum max77759_chgr_bat_dtls_states { 134 + MAX77759_CHGR_BAT_DTLS_NO_BATT_CHG_SUSP, 135 + MAX77759_CHGR_BAT_DTLS_DEAD_BATTERY, 136 + MAX77759_CHGR_BAT_DTLS_BAT_CHG_TIMER_FAULT, 137 + MAX77759_CHGR_BAT_DTLS_BAT_OKAY, 138 + MAX77759_CHGR_BAT_DTLS_BAT_UNDERVOLTAGE, 139 + MAX77759_CHGR_BAT_DTLS_BAT_OVERVOLTAGE, 140 + MAX77759_CHGR_BAT_DTLS_BAT_OVERCURRENT, 141 + MAX77759_CHGR_BAT_DTLS_BAT_ONLY_MODE, 142 + }; 143 + 144 + /* 145 + * enum max77759_chgr_chg_dtls_states - Charger Details 146 + * @MAX77759_CHGR_CHG_DTLS_PREQUAL: Charger in prequalification mode 147 + * @MAX77759_CHGR_CHG_DTLS_CC: Charger in fast charge const curr mode 148 + * @MAX77759_CHGR_CHG_DTLS_CV: Charger in fast charge const voltage mode 149 + * @MAX77759_CHGR_CHG_DTLS_TO: Charger is in top off mode 150 + * @MAX77759_CHGR_CHG_DTLS_DONE: Charger is done 151 + * @MAX77759_CHGR_CHG_DTLS_RSVD_1: Reserved 152 + * @MAX77759_CHGR_CHG_DTLS_TIMER_FAULT: Charger is in timer fault mode 153 + * @MAX77759_CHGR_CHG_DTLS_SUSP_BATT_THM: Charger is suspended as battery removal detected 154 + * @MAX77759_CHGR_CHG_DTLS_OFF: Charger is off. Input invalid or charger disabled 155 + * @MAX77759_CHGR_CHG_DTLS_RSVD_2: Reserved 156 + * @MAX77759_CHGR_CHG_DTLS_RSVD_3: Reserved 157 + * @MAX77759_CHGR_CHG_DTLS_OFF_WDOG_TIMER: Charger is off as watchdog timer expired 158 + * @MAX77759_CHGR_CHG_DTLS_SUSP_JEITA: Charger is in JEITA control mode 159 + */ 160 + enum max77759_chgr_chg_dtls_states { 161 + MAX77759_CHGR_CHG_DTLS_PREQUAL, 162 + MAX77759_CHGR_CHG_DTLS_CC, 163 + MAX77759_CHGR_CHG_DTLS_CV, 164 + MAX77759_CHGR_CHG_DTLS_TO, 165 + MAX77759_CHGR_CHG_DTLS_DONE, 166 + MAX77759_CHGR_CHG_DTLS_RSVD_1, 167 + MAX77759_CHGR_CHG_DTLS_TIMER_FAULT, 168 + MAX77759_CHGR_CHG_DTLS_SUSP_BATT_THM, 169 + MAX77759_CHGR_CHG_DTLS_OFF, 170 + MAX77759_CHGR_CHG_DTLS_RSVD_2, 171 + MAX77759_CHGR_CHG_DTLS_RSVD_3, 172 + MAX77759_CHGR_CHG_DTLS_OFF_WDOG_TIMER, 173 + MAX77759_CHGR_CHG_DTLS_SUSP_JEITA, 174 + }; 175 + 176 + enum max77759_chgr_mode { 177 + MAX77759_CHGR_MODE_OFF, 178 + MAX77759_CHGR_MODE_CHG_BUCK_ON = 0x5, 179 + MAX77759_CHGR_MODE_OTG_BOOST_ON = 0xA, 180 + }; 133 181 134 182 /** 135 183 * struct max77759 - core max77759 internal data structure