usb: dwc_otg_310: fix usb vbus power controlled by pmic
[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 #include <linux/power/rk_usbbc.h>
5
6 enum {
7         BC_BVALID = 0,
8         BC_IDDIG,
9 };
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         INNO_BC_BVALID = 0,
26         INNO_BC_IDDIG,
27         INNO_BC_VDMSRCEN,
28         INNO_BC_VDPSRCEN,
29         INNO_BC_RDMPDEN,
30         INNO_BC_IDPSRCEN,
31         INNO_BC_IDMSINKEN,
32         INNO_BC_IDPSINKEN,
33         INNO_BC_DPATTACH,
34         INNO_BC_CPDET,
35         INNO_BC_DCPATTACH,
36         INNO_BC_MAX,
37 };
38
39 enum {
40         RK_BC_BVALID = 0,
41         RK_BC_IDDIG,
42         RK_BC_LINESTATE,
43         RK_BC_SOFTCTRL,
44         RK_BC_OPMODE,
45         RK_BC_XCVRSELECT,
46         RK_BC_TERMSELECT,
47         RK_BC_MAX,
48 };
49
50 #define T_DCD_TIMEOUT    (400)
51 #define T_BC_WAIT_CHGDET (40)
52 #define T_BC_CHGDET_VALID (200)
53
54 enum {
55         DCD_POSITIVE = 0,
56         DCD_PASSED,
57         DCD_TIMEOUT,
58 };
59
60 /***********************************
61 USB Port Type
62 0 : Disconnect
63 1 : SDP - pc
64 2 : DCP - charger
65 3 : CDP - pc with big currect charge
66 ***********************************/
67 extern enum bc_port_type usb_battery_charger_detect(bool wait);
68 extern void rk_battery_charger_detect_cb(int charger_type_new);
69
70 #endif