2 * Copyright (c) 2015 Google, Inc
3 * Written by Simon Glass <sjg@chromium.org>
5 * SPDX-License-Identifier: GPL-2.0+
8 #ifndef __TPS65090_PMIC_H_
9 #define __TPS65090_PMIC_H_
11 /* I2C device address for TPS65090 PMU */
12 #define TPS65090_I2C_ADDR 0x48
14 /* TPS65090 register addresses */
19 REG_FET_BASE = 0xe, /* Not a real register, FETs count from here */
32 CG_CTRL0_ENC_MASK = 0x01,
35 MAX_CTRL_READ_TRIES = 5,
37 /* TPS65090 FET_CTRL register values */
38 FET_CTRL_TOFET = 1 << 7, /* Timeout, startup, overload */
39 FET_CTRL_PGFET = 1 << 4, /* Power good for FET status */
40 FET_CTRL_WAIT = 3 << 2, /* Overcurrent timeout max */
41 FET_CTRL_ADENFET = 1 << 1, /* Enable output auto discharge */
42 FET_CTRL_ENFET = 1 << 0, /* Enable FET */
46 /* Status register fields */
47 TPS65090_ST1_OTC = 1 << 0,
48 TPS65090_ST1_OCC = 1 << 1,
49 TPS65090_ST1_STATE_SHIFT = 4,
50 TPS65090_ST1_STATE_MASK = 0xf << TPS65090_ST1_STATE_SHIFT,
54 #define TPS65090_FET_DRIVER "tps65090_fet"
56 #endif /* __TPS65090_PMIC_H_ */