root/drivers/regulator/mpq7920.h
/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * mpq7920.h  -  Regulator definitions for mpq7920
 *
 * Copyright 2019 Monolithic Power Systems, Inc
 *
 */

#ifndef __MPQ7920_H__
#define __MPQ7920_H__

#define MPQ7920_REG_CTL0                0x00
#define MPQ7920_REG_CTL1                0x01
#define MPQ7920_REG_CTL2                0x02
#define MPQ7920_BUCK1_REG_A             0x03
#define MPQ7920_BUCK1_REG_B             0x04
#define MPQ7920_BUCK1_REG_C             0x05
#define MPQ7920_BUCK1_REG_D             0x06
#define MPQ7920_BUCK2_REG_A             0x07
#define MPQ7920_BUCK2_REG_B             0x08
#define MPQ7920_BUCK2_REG_C             0x09
#define MPQ7920_BUCK2_REG_D             0x0a
#define MPQ7920_BUCK3_REG_A             0x0b
#define MPQ7920_BUCK3_REG_B             0x0c
#define MPQ7920_BUCK3_REG_C             0x0d
#define MPQ7920_BUCK3_REG_D             0x0e
#define MPQ7920_BUCK4_REG_A             0x0f
#define MPQ7920_BUCK4_REG_B             0x10
#define MPQ7920_BUCK4_REG_C             0x11
#define MPQ7920_BUCK4_REG_D             0x12
#define MPQ7920_LDO1_REG_A              0x13
#define MPQ7920_LDO1_REG_B              0x0
#define MPQ7920_LDO2_REG_A              0x14
#define MPQ7920_LDO2_REG_B              0x15
#define MPQ7920_LDO2_REG_C              0x16
#define MPQ7920_LDO3_REG_A              0x17
#define MPQ7920_LDO3_REG_B              0x18
#define MPQ7920_LDO3_REG_C              0x19
#define MPQ7920_LDO4_REG_A              0x1a
#define MPQ7920_LDO4_REG_B              0x1b
#define MPQ7920_LDO4_REG_C              0x1c
#define MPQ7920_LDO5_REG_A              0x1d
#define MPQ7920_LDO5_REG_B              0x1e
#define MPQ7920_LDO5_REG_C              0x1f
#define MPQ7920_REG_MODE                0x20
#define MPQ7920_REG_REGULATOR_EN        0x22

#define MPQ7920_MASK_VREF               0x7f
#define MPQ7920_MASK_BUCK_ILIM          0xc0
#define MPQ7920_MASK_LDO_ILIM           BIT(6)
#define MPQ7920_MASK_DISCHARGE          BIT(5)
#define MPQ7920_MASK_MODE               0xc0
#define MPQ7920_MASK_SOFTSTART          0x0c
#define MPQ7920_MASK_SWITCH_FREQ        0x30
#define MPQ7920_MASK_BUCK_PHASE_DEALY   0x30
#define MPQ7920_MASK_DVS_SLEWRATE       0xc0
#define MPQ7920_MASK_OVP                0x40
#define MPQ7920_OVP_DISABLE             ~(0x40)
#define MPQ7920_DISCHARGE_ON            BIT(5)

#define MPQ7920_REGULATOR_EN_OFFSET     7

/* values in mV */
#define MPQ7920_BUCK_VOLT_MIN           400000
#define MPQ7920_LDO_VOLT_MIN            650000
#define MPQ7920_VOLT_MAX                3587500
#define MPQ7920_VOLT_STEP               12500

#endif /* __MPQ7920_H__ */