Merge tag 'for-5.18/block-2022-04-01' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.git] / include / linux / mfd / sy7636a.h
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 */