| 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 | |