]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - include/power/tps65090_pmic.h
Merge branch 'u-boot-imx/master' into 'u-boot-arm/master'
[karo-tx-uboot.git] / include / power / tps65090_pmic.h
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_ */