ARM64: DTS: Add rk3399-firefly uart4 device, node as /dev/ttyS1
[firefly-linux-kernel-4.4.55.git] / include / linux / power / rt5025-charger.h
1 /*
2  *  include/linux/power/rt5025/rt5025-charger.h
3  *  Include header file for Richtek RT5025 Core charger Driver
4  *
5  *  Copyright (C) 2014 Richtek Technology Corp.
6  *  cy_huang <cy_huang@richtek.com>
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as
10  * published by the Free Software Foundation; either version 2
11  * of the License, or (at your option) any later version.
12  */
13
14 #ifndef __LINUX_RT5025_CHARGER_H
15 #define __LINUX_RT5025_CHARGER_H
16
17 enum {
18         CHGEVENT_TIMEOUT_CC,
19         CHGEVENT_TIMEOUT_PC,
20         CHGEVENT_CHVSREGI = 5,
21         CHGEVENT_CHTREGI,
22         CHGEVENT_CHRCHGI,
23         CHGEVENT_CHTERMI,
24         CHGEVENT_CHBATOVI,
25         CHGEVENT_CHGOODI_INUSB,
26         CHGEVENT_CHBADI_INUSB,
27         CHGEVENT_CHSLPI_INUSB,
28         CHGEVENT_CHGOODI_INAC,
29         CHGEVENT_CHBADI_INAC,
30         CHGEVENT_CHSLPI_INAC,
31         CHGEVENT_BATABS,
32         CHGEVENT_INUSB_PLUGIN = 19,
33         CHGEVENT_INUSBOVP,
34         CHGEVENT_INAC_PLUGIN = 22,
35         CHGEVENT_INACOVP,
36         /*append TALRT IRQ*/
37         CHGEVENT_TALRTMIN = 28,
38         CHGEVENT_TALRTMAX = 29,
39         CHGEVENT_MAX,
40 };
41
42 enum {
43         RT5025_BATTEMP_COLD,
44         RT5025_BATTEMP_COOL,
45         RT5025_BATTEMP_NORMAL,
46         RT5025_BATTEMP_WARM,
47         RT5025_BATTEMP_HOT,
48         RT5025_BATTEMP_MAX,
49 };
50
51 enum {
52         RT5025_INTTEMP_NORMAL,
53         RT5025_INTTEMP_WARM,
54         RT5025_INTTEMP_HOT,
55         RT5025_INTTEMP_MAX,
56 };
57
58 #define RT5025_CHGIPREC_MASK    0x01
59 #define RT5025_CHGIPREC_SHFT    0
60 #define RT5025_CHGIEOC_MASK     0x02
61 #define RT5025_CHGIEOC_SHFT     1
62 #define RT5025_CHGVPREC_MASK    0x1C
63 #define RT5025_CHGVPREC_SHFT    2
64 #define RT5025_CHGVDPM_MASK     0x30
65 #define RT5025_CHGVDPM_SHFT     4
66
67 #define RT5025_CHGCEN_MASK      0x10
68 #define RT5025_CHGAICR_MASK     0x06
69 #define RT5025_CHGAICR_SHFT     1
70 #define RT5025_CHGICC_MASK      0x78
71 #define RT5025_CHGICC_SHFT      3
72 #define RT5025_CHGCV_MASK       0xFC
73 #define RT5025_CHGCV_SHFT       2
74 #define RT5025_CHGTEEN_MASK     0x04
75 #define RT5025_BATDEN_MASK      0x40
76 #define RT5025_VBUSHZ_MASK      0x01
77 #define RT5025_CHGBCEN_MASK     0x02
78 #define RT5025_CHRCHGI_MASK     0x80
79 #define RT5025_CHTERMI_MASK     0x01
80 #define RT5025_ACUSABLE_MASK    0x02
81 #define RT5025_USBUSABLE_MASK   0x01
82
83 #define RT5025_TALRTMX_MASK     0x20
84 #define RT5025_TALRTMN_MASK     0x10
85
86 #endif /* #ifndef __LINUX_RT5025_POWER_H */