USB: Fix usb battery charger detect bug.
[firefly-linux-kernel-4.4.55.git] / drivers / usb / dwc_otg_310 / usbdev_bc.h
1 #ifndef _USBDEV_BC_H
2 #define _USBDEV_BC_H
3
4 /* USB Charger Types */
5 #define USB_BC_TYPE_DISCNT  (0)
6 #define USB_BC_TYPE_SDP     (1)
7 #define USB_BC_TYPE_DCP     (2)
8 #define USB_BC_TYPE_CDP     (3)
9 #define USB_BC_TYPE_UNKNOW  (4)
10
11 enum {
12         SYNOP_BC_BVALID = 0,
13         SYNOP_BC_IDDIG,
14         SYNOP_BC_DCDENB,
15         SYNOP_BC_VDATSRCENB,
16         SYNOP_BC_VDATDETENB,
17         SYNOP_BC_CHRGSEL,
18         SYNOP_BC_CHGDET,
19         SYNOP_BC_FSVPLUS,
20         SYNOP_BC_FSVMINUS,
21         SYNOP_BC_MAX,
22 };
23
24 enum {
25         RK_BC_BVALID = 0,
26         RK_BC_IDDIG,
27         RK_BC_LINESTATE,
28         RK_BC_SOFTCTRL,
29         RK_BC_OPMODE,
30         RK_BC_XCVRSELECT,
31         RK_BC_TERMSELECT,
32         RK_BC_MAX,
33 };
34
35 #define T_DCD_TIMEOUT    (400)
36 #define T_BC_WAIT_CHGDET (40)
37 #define T_BC_CHGDET_VALID (200)
38
39 enum {
40         DCD_POSITIVE = 0,
41         DCD_PASSED,
42         DCD_TIMEOUT,
43 };
44
45 /***********************************
46 USB Port Type
47 0 : Disconnect
48 1 : SDP - pc
49 2 : DCP - charger
50 3 : CDP - pc with big currect charge
51 ***********************************/
52
53 extern int dwc_otg_check_dpdm(bool wait);
54 extern int usb_battery_charger_detect(bool wait);
55 extern void usb20otg_battery_charger_detect_cb(int charger_type_new);
56
57 #endif