]>
Commit | Line | Data |
---|---|---|
ac1058fd TWHT |
1 | /* |
2 | * Copyright (c) 2012 The Chromium OS Authors. | |
3 | * | |
4 | * SPDX-License-Identifier: GPL-2.0+ | |
5 | */ | |
6 | ||
7 | #ifndef __TPS65090_PMIC_H_ | |
8 | #define __TPS65090_PMIC_H_ | |
9 | ||
10 | /* I2C device address for TPS65090 PMU */ | |
11 | #define TPS65090_I2C_ADDR 0x48 | |
12 | ||
13 | enum { | |
14 | /* Status register fields */ | |
15 | TPS65090_ST1_OTC = 1 << 0, | |
16 | TPS65090_ST1_OCC = 1 << 1, | |
17 | TPS65090_ST1_STATE_SHIFT = 4, | |
18 | TPS65090_ST1_STATE_MASK = 0xf << TPS65090_ST1_STATE_SHIFT, | |
19 | }; | |
20 | ||
21 | /** | |
22 | * Enable FET | |
23 | * | |
24 | * @param fet_id FET ID, value between 1 and 7 | |
25 | * @return 0 on success, non-0 on failure | |
26 | */ | |
27 | int tps65090_fet_enable(unsigned int fet_id); | |
28 | ||
29 | /** | |
30 | * Disable FET | |
31 | * | |
32 | * @param fet_id FET ID, value between 1 and 7 | |
33 | * @return 0 on success, non-0 on failure | |
34 | */ | |
35 | int tps65090_fet_disable(unsigned int fet_id); | |
36 | ||
37 | /** | |
38 | * Is FET enabled? | |
39 | * | |
40 | * @param fet_id FET ID, value between 1 and 7 | |
41 | * @return 1 enabled, 0 disabled, negative value on failure | |
42 | */ | |
43 | int tps65090_fet_is_enabled(unsigned int fet_id); | |
44 | ||
45 | /** | |
46 | * Enable / disable the battery charger | |
47 | * | |
48 | * @param enable 0 to disable charging, non-zero to enable | |
49 | */ | |
50 | int tps65090_set_charge_enable(int enable); | |
51 | ||
52 | /** | |
53 | * Check whether we have enabled battery charging | |
54 | * | |
55 | * @return 1 if enabled, 0 if disabled | |
56 | */ | |
57 | int tps65090_get_charging(void); | |
58 | ||
59 | /** | |
60 | * Return the value of the status register | |
61 | * | |
62 | * @return status register value, or -1 on error | |
63 | */ | |
64 | int tps65090_get_status(void); | |
65 | ||
66 | /** | |
67 | * Initialize the TPS65090 PMU. | |
68 | * | |
69 | * @return 0 on success, non-0 on failure | |
70 | */ | |
71 | int tps65090_init(void); | |
72 | ||
73 | #endif /* __TPS65090_PMIC_H_ */ |