|
@@ -54,25 +54,34 @@ enum otg_fsm_timer {
|
|
|
/* OTG state machine according to the OTG spec */
|
|
|
struct otg_fsm {
|
|
|
/* Input */
|
|
|
+ int id;
|
|
|
int adp_change;
|
|
|
int power_up;
|
|
|
int test_device;
|
|
|
int a_bus_drop;
|
|
|
int a_bus_req;
|
|
|
+ int a_srp_det;
|
|
|
+ int a_vbus_vld;
|
|
|
+ int b_conn;
|
|
|
int a_bus_resume;
|
|
|
int a_bus_suspend;
|
|
|
int a_conn;
|
|
|
int b_bus_req;
|
|
|
- int a_sess_vld;
|
|
|
- int a_srp_det;
|
|
|
- int a_vbus_vld;
|
|
|
- int b_bus_resume;
|
|
|
- int b_bus_suspend;
|
|
|
- int b_conn;
|
|
|
int b_se0_srp;
|
|
|
int b_ssend_srp;
|
|
|
int b_sess_vld;
|
|
|
- int id;
|
|
|
+ /* Auxilary inputs */
|
|
|
+ int a_sess_vld;
|
|
|
+ int b_bus_resume;
|
|
|
+ int b_bus_suspend;
|
|
|
+
|
|
|
+ /* Output */
|
|
|
+ int data_pulse;
|
|
|
+ int drv_vbus;
|
|
|
+ int loc_conn;
|
|
|
+ int loc_sof;
|
|
|
+ int adp_prb;
|
|
|
+ int adp_sns;
|
|
|
|
|
|
/* Internal variables */
|
|
|
int a_set_b_hnp_en;
|
|
@@ -80,6 +89,14 @@ struct otg_fsm {
|
|
|
int b_hnp_enable;
|
|
|
int a_clr_err;
|
|
|
|
|
|
+ /* Informative variables */
|
|
|
+ int a_bus_drop_inf;
|
|
|
+ int a_bus_req_inf;
|
|
|
+ int a_clr_err_inf;
|
|
|
+ int b_bus_req_inf;
|
|
|
+ /* Auxilary informative variables */
|
|
|
+ int a_suspend_req_inf;
|
|
|
+
|
|
|
/* Timeout indicator for timers */
|
|
|
int a_wait_vrise_tmout;
|
|
|
int a_wait_vfall_tmout;
|
|
@@ -88,21 +105,6 @@ struct otg_fsm {
|
|
|
int b_ase0_brst_tmout;
|
|
|
int a_bidl_adis_tmout;
|
|
|
|
|
|
- /* Informative variables */
|
|
|
- int a_bus_drop_inf;
|
|
|
- int a_bus_req_inf;
|
|
|
- int a_clr_err_inf;
|
|
|
- int a_suspend_req_inf;
|
|
|
- int b_bus_req_inf;
|
|
|
-
|
|
|
- /* Output */
|
|
|
- int data_pulse;
|
|
|
- int drv_vbus;
|
|
|
- int loc_conn;
|
|
|
- int loc_sof;
|
|
|
- int adp_prb;
|
|
|
- int adp_sns;
|
|
|
-
|
|
|
struct otg_fsm_ops *ops;
|
|
|
struct usb_otg *otg;
|
|
|
|