1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Functions to access SY3686A power management chip.
4 *
5 * Copyright (C) 2021 reMarkable AS - http://www.remarkable.com/
6 */
7
8#ifndef __MFD_SY7636A_H
9#define __MFD_SY7636A_H
10
11#define SY7636A_REG_OPERATION_MODE_CRL		0x00
12/* It is set if a gpio is used to control the regulator */
13#define SY7636A_OPERATION_MODE_CRL_VCOMCTL	BIT(6)
14#define SY7636A_OPERATION_MODE_CRL_ONOFF	BIT(7)
15#define SY7636A_REG_VCOM_ADJUST_CTRL_L		0x01
16#define SY7636A_REG_VCOM_ADJUST_CTRL_H		0x02
17#define SY7636A_REG_VCOM_ADJUST_CTRL_MASK	0x01ff
18#define SY7636A_REG_VLDO_VOLTAGE_ADJULST_CTRL	0x03
19#define SY7636A_REG_POWER_ON_DELAY_TIME		0x06
20#define SY7636A_REG_FAULT_FLAG			0x07
21#define SY7636A_FAULT_FLAG_PG			BIT(0)
22#define SY7636A_REG_TERMISTOR_READOUT		0x08
23
24#define SY7636A_REG_MAX				0x08
25
26#define VCOM_ADJUST_CTRL_MASK	0x1ff
27// Used to shift the high byte
28#define VCOM_ADJUST_CTRL_SHIFT	8
29// Used to scale from VCOM_ADJUST_CTRL to mv
30#define VCOM_ADJUST_CTRL_SCAL	10000
31
32#define FAULT_FLAG_SHIFT	1
33
34#endif /* __LINUX_MFD_SY7636A_H */
35