xref: /linux/drivers/regulator/mpq7920.h (revision 8dd06ef34b6e2f41b29fbf5fc1663780f2524285)
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_EN	0x22
476501c1f5SSaravanan Sekar 
486501c1f5SSaravanan Sekar #define MPQ7920_MASK_VREF		0x7f
49*53ba2f1aSAxel Lin #define MPQ7920_MASK_BUCK_ILIM		0xc0
506501c1f5SSaravanan Sekar #define MPQ7920_MASK_LDO_ILIM		BIT(6)
516501c1f5SSaravanan Sekar #define MPQ7920_MASK_DISCHARGE		BIT(5)
526501c1f5SSaravanan Sekar #define MPQ7920_MASK_MODE		0xc0
536501c1f5SSaravanan Sekar #define MPQ7920_MASK_SOFTSTART		0x0c
546501c1f5SSaravanan Sekar #define MPQ7920_MASK_SWITCH_FREQ	0x30
556501c1f5SSaravanan Sekar #define MPQ7920_MASK_BUCK_PHASE_DEALY	0x30
566501c1f5SSaravanan Sekar #define MPQ7920_MASK_DVS_SLEWRATE	0xc0
57686f6361SSaravanan Sekar #define MPQ7920_MASK_OVP		0x40
58686f6361SSaravanan Sekar #define MPQ7920_OVP_DISABLE		~(0x40)
59*53ba2f1aSAxel Lin #define MPQ7920_DISCHARGE_ON		BIT(5)
606501c1f5SSaravanan Sekar 
616501c1f5SSaravanan Sekar #define MPQ7920_REGULATOR_EN_OFFSET	7
626501c1f5SSaravanan Sekar 
636501c1f5SSaravanan Sekar /* values in mV */
646501c1f5SSaravanan Sekar #define MPQ7920_BUCK_VOLT_MIN		400000
656501c1f5SSaravanan Sekar #define MPQ7920_LDO_VOLT_MIN		650000
666501c1f5SSaravanan Sekar #define MPQ7920_VOLT_MAX		3587500
676501c1f5SSaravanan Sekar #define MPQ7920_VOLT_STEP		12500
686501c1f5SSaravanan Sekar 
696501c1f5SSaravanan Sekar #endif /* __MPQ7920_H__ */
70