Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / include / linux / power / max8903_charger.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * max8903_charger.h - Maxim 8903 USB/Adapter Charger Driver
4  *
5  * Copyright (C) 2011 Samsung Electronics
6  * MyungJoo Ham <myungjoo.ham@samsung.com>
7  */
8
9 #ifndef __MAX8903_CHARGER_H__
10 #define __MAX8903_CHARGER_H__
11
12 struct max8903_pdata {
13         /*
14          * GPIOs
15          * cen, chg, flt, dcm and usus are optional.
16          * dok and uok are not optional depending on the status of
17          * dc_valid and usb_valid.
18          */
19         int cen;        /* Charger Enable input */
20         int dok;        /* DC(Adapter) Power OK output */
21         int uok;        /* USB Power OK output */
22         int chg;        /* Charger status output */
23         int flt;        /* Fault output */
24         int dcm;        /* Current-Limit Mode input (1: DC, 2: USB) */
25         int usus;       /* USB Suspend Input (1: suspended) */
26
27         /*
28          * DC(Adapter/TA) is wired
29          * When dc_valid is true,
30          *      dok should be valid.
31          *
32          * At least one of dc_valid or usb_valid should be true.
33          */
34         bool dc_valid;
35         /*
36          * USB is wired
37          * When usb_valid is true,
38          *      uok should be valid.
39          */
40         bool usb_valid;
41 };
42
43 #endif /* __MAX8903_CHARGER_H__ */