linux/include/linux/mfd/samsung/s2mpu02.h

/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * Copyright (c) 2014 Samsung Electronics Co., Ltd
 *              http://www.samsung.com
 */

#ifndef __LINUX_MFD_S2MPU02_H
#define __LINUX_MFD_S2MPU02_H

/* S2MPU02 registers */
enum S2MPU02_reg {};

/* S2MPU02 regulator ids */
enum S2MPU02_regulators {};

/* Regulator constraints for BUCKx */
#define S2MPU02_BUCK1234_MIN_600MV
#define S2MPU02_BUCK5_MIN_1081_25MV
#define S2MPU02_BUCK6_MIN_1700MV
#define S2MPU02_BUCK7_MIN_900MV

#define S2MPU02_BUCK1234_STEP_6_25MV
#define S2MPU02_BUCK5_STEP_6_25MV
#define S2MPU02_BUCK6_STEP_2_50MV
#define S2MPU02_BUCK7_STEP_6_25MV

#define S2MPU02_BUCK1234_START_SEL
#define S2MPU02_BUCK5_START_SEL
#define S2MPU02_BUCK6_START_SEL
#define S2MPU02_BUCK7_START_SEL

#define S2MPU02_BUCK_RAMP_DELAY

/* Regulator constraints for different types of LDOx */
#define S2MPU02_LDO_MIN_900MV
#define S2MPU02_LDO_MIN_1050MV
#define S2MPU02_LDO_MIN_1600MV
#define S2MPU02_LDO_STEP_12_5MV
#define S2MPU02_LDO_STEP_25MV
#define S2MPU02_LDO_STEP_50MV

#define S2MPU02_LDO_GROUP1_START_SEL
#define S2MPU02_LDO_GROUP2_START_SEL
#define S2MPU02_LDO_GROUP3_START_SEL

#define S2MPU02_LDO_VSEL_MASK
#define S2MPU02_BUCK_VSEL_MASK
#define S2MPU02_ENABLE_MASK
#define S2MPU02_ENABLE_SHIFT

/* On/Off controlled by PWREN */
#define S2MPU02_ENABLE_SUSPEND
#define S2MPU02_DISABLE_SUSPEND
#define S2MPU02_LDO_N_VOLTAGES
#define S2MPU02_BUCK_N_VOLTAGES

/* RAMP delay for BUCK1234*/
#define S2MPU02_BUCK1_RAMP_SHIFT
#define S2MPU02_BUCK2_RAMP_SHIFT
#define S2MPU02_BUCK3_RAMP_SHIFT
#define S2MPU02_BUCK4_RAMP_SHIFT
#define S2MPU02_BUCK1234_RAMP_MASK

#endif /*  __LINUX_MFD_S2MPU02_H */