16501c1f5SSaravanan Sekar /* SPDX-License-Identifier: GPL-2.0+ */ 26501c1f5SSaravanan Sekar /* 36501c1f5SSaravanan Sekar * mpq7920.h - Regulator definitions for mpq7920 46501c1f5SSaravanan Sekar * 56501c1f5SSaravanan Sekar * Copyright 2019 Monolithic Power Systems, Inc 66501c1f5SSaravanan Sekar * 76501c1f5SSaravanan Sekar */ 86501c1f5SSaravanan Sekar 96501c1f5SSaravanan Sekar #ifndef __MPQ7920_H__ 106501c1f5SSaravanan Sekar #define __MPQ7920_H__ 116501c1f5SSaravanan Sekar 126501c1f5SSaravanan Sekar #define MPQ7920_REG_CTL0 0x00 136501c1f5SSaravanan Sekar #define MPQ7920_REG_CTL1 0x01 146501c1f5SSaravanan Sekar #define MPQ7920_REG_CTL2 0x02 156501c1f5SSaravanan Sekar #define MPQ7920_BUCK1_REG_A 0x03 166501c1f5SSaravanan Sekar #define MPQ7920_BUCK1_REG_B 0x04 176501c1f5SSaravanan Sekar #define MPQ7920_BUCK1_REG_C 0x05 186501c1f5SSaravanan Sekar #define MPQ7920_BUCK1_REG_D 0x06 196501c1f5SSaravanan Sekar #define MPQ7920_BUCK2_REG_A 0x07 206501c1f5SSaravanan Sekar #define MPQ7920_BUCK2_REG_B 0x08 216501c1f5SSaravanan Sekar #define MPQ7920_BUCK2_REG_C 0x09 226501c1f5SSaravanan Sekar #define MPQ7920_BUCK2_REG_D 0x0a 236501c1f5SSaravanan Sekar #define MPQ7920_BUCK3_REG_A 0x0b 246501c1f5SSaravanan Sekar #define MPQ7920_BUCK3_REG_B 0x0c 256501c1f5SSaravanan Sekar #define MPQ7920_BUCK3_REG_C 0x0d 266501c1f5SSaravanan Sekar #define MPQ7920_BUCK3_REG_D 0x0e 276501c1f5SSaravanan Sekar #define MPQ7920_BUCK4_REG_A 0x0f 286501c1f5SSaravanan Sekar #define MPQ7920_BUCK4_REG_B 0x10 296501c1f5SSaravanan Sekar #define MPQ7920_BUCK4_REG_C 0x11 306501c1f5SSaravanan Sekar #define MPQ7920_BUCK4_REG_D 0x12 316501c1f5SSaravanan Sekar #define MPQ7920_LDO1_REG_A 0x13 326501c1f5SSaravanan Sekar #define MPQ7920_LDO1_REG_B 0x0 336501c1f5SSaravanan Sekar #define MPQ7920_LDO2_REG_A 0x14 346501c1f5SSaravanan Sekar #define MPQ7920_LDO2_REG_B 0x15 356501c1f5SSaravanan Sekar #define MPQ7920_LDO2_REG_C 0x16 366501c1f5SSaravanan Sekar #define MPQ7920_LDO3_REG_A 0x17 376501c1f5SSaravanan Sekar #define MPQ7920_LDO3_REG_B 0x18 386501c1f5SSaravanan Sekar #define MPQ7920_LDO3_REG_C 0x19 396501c1f5SSaravanan Sekar #define MPQ7920_LDO4_REG_A 0x1a 406501c1f5SSaravanan Sekar #define MPQ7920_LDO4_REG_B 0x1b 416501c1f5SSaravanan Sekar #define MPQ7920_LDO4_REG_C 0x1c 426501c1f5SSaravanan Sekar #define MPQ7920_LDO5_REG_A 0x1d 436501c1f5SSaravanan Sekar #define MPQ7920_LDO5_REG_B 0x1e 446501c1f5SSaravanan Sekar #define MPQ7920_LDO5_REG_C 0x1f 456501c1f5SSaravanan Sekar #define MPQ7920_REG_MODE 0x20 466501c1f5SSaravanan Sekar #define MPQ7920_REG_REGULATOR_EN1 0x22 476501c1f5SSaravanan Sekar #define MPQ7920_REG_REGULATOR_EN 0x22 486501c1f5SSaravanan Sekar 496501c1f5SSaravanan Sekar #define MPQ7920_MASK_VREF 0x7f 506501c1f5SSaravanan Sekar #define MPQ7920_MASK_BUCK_ILIM 0xd0 516501c1f5SSaravanan Sekar #define MPQ7920_MASK_LDO_ILIM BIT(6) 526501c1f5SSaravanan Sekar #define MPQ7920_MASK_DISCHARGE BIT(5) 536501c1f5SSaravanan Sekar #define MPQ7920_MASK_MODE 0xc0 546501c1f5SSaravanan Sekar #define MPQ7920_MASK_SOFTSTART 0x0c 556501c1f5SSaravanan Sekar #define MPQ7920_MASK_SWITCH_FREQ 0x30 566501c1f5SSaravanan Sekar #define MPQ7920_MASK_BUCK_PHASE_DEALY 0x30 576501c1f5SSaravanan Sekar #define MPQ7920_MASK_DVS_SLEWRATE 0xc0 58*686f6361SSaravanan Sekar #define MPQ7920_MASK_OVP 0x40 59*686f6361SSaravanan Sekar #define MPQ7920_OVP_DISABLE ~(0x40) 606501c1f5SSaravanan Sekar #define MPQ7920_DISCHARGE_ON 0x1 616501c1f5SSaravanan Sekar 626501c1f5SSaravanan Sekar #define MPQ7920_REGULATOR_EN_OFFSET 7 636501c1f5SSaravanan Sekar 646501c1f5SSaravanan Sekar /* values in mV */ 656501c1f5SSaravanan Sekar #define MPQ7920_BUCK_VOLT_MIN 400000 666501c1f5SSaravanan Sekar #define MPQ7920_LDO_VOLT_MIN 650000 676501c1f5SSaravanan Sekar #define MPQ7920_VOLT_MAX 3587500 686501c1f5SSaravanan Sekar #define MPQ7920_VOLT_STEP 12500 696501c1f5SSaravanan Sekar 706501c1f5SSaravanan Sekar #endif /* __MPQ7920_H__ */ 71