Lines Matching refs:fsm
123 void fsl_otg_chrg_vbus(struct otg_fsm *fsm, int on) in fsl_otg_chrg_vbus() argument
159 void fsl_otg_drv_vbus(struct otg_fsm *fsm, int on) in fsl_otg_drv_vbus() argument
177 void fsl_otg_loc_conn(struct otg_fsm *fsm, int on) in fsl_otg_loc_conn() argument
196 void fsl_otg_loc_sof(struct otg_fsm *fsm, int on) in fsl_otg_loc_sof() argument
211 void fsl_otg_start_pulse(struct otg_fsm *fsm) in fsl_otg_start_pulse() argument
224 fsl_otg_add_timer(fsm, b_data_pulse_tmr); in fsl_otg_start_pulse()
241 fsl_otg_chrg_vbus(&fsl_otg_dev->fsm, 1); in fsl_otg_pulse_vbus()
243 fsl_otg_add_timer(&fsl_otg_dev->fsm, b_vbus_pulse_tmr); in fsl_otg_pulse_vbus()
248 fsl_otg_chrg_vbus(&fsl_otg_dev->fsm, 0); in b_vbus_pulse_end()
256 fsl_otg_add_timer(&fsl_otg_dev->fsm, b_srp_wait_tmr); in b_vbus_pulse_end()
265 fsl_otg_dev->fsm.b_sess_vld) in b_srp_end()
266 fsl_otg_dev->fsm.b_srp_done = 1; in b_srp_end()
278 fsl_otg_add_timer(&fsl_otg_dev->fsm, a_wait_enum_tmr); in a_wait_enum()
280 otg_statemachine(&fsl_otg_dev->fsm); in a_wait_enum()
290 int fsl_otg_init_timers(struct otg_fsm *fsm) in fsl_otg_init_timers() argument
294 (unsigned long)&fsm->a_wait_vrise_tmout); in fsl_otg_init_timers()
299 (unsigned long)&fsm->a_wait_bcon_tmout); in fsl_otg_init_timers()
304 (unsigned long)&fsm->a_aidl_bdis_tmout); in fsl_otg_init_timers()
309 (unsigned long)&fsm->b_ase0_brst_tmout); in fsl_otg_init_timers()
314 (unsigned long)&fsm->b_se0_srp); in fsl_otg_init_timers()
319 (unsigned long)&fsm->b_srp_done); in fsl_otg_init_timers()
324 (unsigned long)&fsm); in fsl_otg_init_timers()
399 void fsl_otg_add_timer(struct otg_fsm *fsm, void *gtimer) in fsl_otg_add_timer() argument
417 static void fsl_otg_fsm_add_timer(struct otg_fsm *fsm, enum otg_fsm_timer t) in fsl_otg_fsm_add_timer() argument
425 fsl_otg_add_timer(fsm, timer); in fsl_otg_fsm_add_timer()
429 void fsl_otg_del_timer(struct otg_fsm *fsm, void *gtimer) in fsl_otg_del_timer() argument
439 static void fsl_otg_fsm_del_timer(struct otg_fsm *fsm, enum otg_fsm_timer t) in fsl_otg_fsm_del_timer() argument
447 fsl_otg_del_timer(fsm, timer); in fsl_otg_fsm_del_timer()
463 int fsl_otg_start_host(struct otg_fsm *fsm, int on) in fsl_otg_start_host() argument
465 struct usb_otg *otg = fsm->otg; in fsl_otg_start_host()
479 fsm->a_vbus_vld = in fsl_otg_start_host()
490 if (fsm->id) { in fsl_otg_start_host()
492 fsl_otg_drv_vbus(fsm, 1); in fsl_otg_start_host()
515 if (fsm->id) in fsl_otg_start_host()
517 fsl_otg_drv_vbus(fsm, 0); in fsl_otg_start_host()
530 int fsl_otg_start_gadget(struct otg_fsm *fsm, int on) in fsl_otg_start_gadget() argument
532 struct usb_otg *otg = fsm->otg; in fsl_otg_start_gadget()
569 otg_dev->fsm.a_bus_drop = 0; in fsl_otg_set_host()
570 otg_dev->fsm.a_bus_req = 1; in fsl_otg_set_host()
576 otg->host->is_b_host = otg_dev->fsm.id; in fsl_otg_set_host()
590 struct otg_fsm *fsm = &otg_dev->fsm; in fsl_otg_set_host() local
593 fsm->protocol = PROTO_UNDEF; in fsl_otg_set_host()
599 otg_statemachine(&otg_dev->fsm); in fsl_otg_set_host()
624 otg_dev->fsm.b_bus_req = 0; in fsl_otg_set_peripheral()
625 otg_statemachine(&otg_dev->fsm); in fsl_otg_set_peripheral()
630 otg->gadget->is_a_peripheral = !otg_dev->fsm.id; in fsl_otg_set_peripheral()
632 otg_dev->fsm.b_bus_req = 1; in fsl_otg_set_peripheral()
635 pr_debug("ID pin=%d\n", otg_dev->fsm.id); in fsl_otg_set_peripheral()
636 if (otg_dev->fsm.id == 1) { in fsl_otg_set_peripheral()
637 fsl_otg_start_host(&otg_dev->fsm, 0); in fsl_otg_set_peripheral()
638 otg_drv_vbus(&otg_dev->fsm, 0); in fsl_otg_set_peripheral()
639 fsl_otg_start_gadget(&otg_dev->fsm, 1); in fsl_otg_set_peripheral()
669 struct otg_fsm *fsm = &og->fsm; in fsl_otg_event() local
671 if (fsm->id) { /* switch to gadget */ in fsl_otg_event()
672 fsl_otg_start_host(fsm, 0); in fsl_otg_event()
673 otg_drv_vbus(fsm, 0); in fsl_otg_event()
674 fsl_otg_start_gadget(fsm, 1); in fsl_otg_event()
690 otg_dev->fsm.b_bus_req = 1; in fsl_otg_start_srp()
691 otg_statemachine(&otg_dev->fsm); in fsl_otg_start_srp()
711 otg_dev->fsm.a_bus_req = 0; in fsl_otg_start_hnp()
712 otg_statemachine(&otg_dev->fsm); in fsl_otg_start_hnp()
725 struct otg_fsm *fsm = &((struct fsl_otg *)dev_id)->fsm; in fsl_otg_isr() local
736 fsm->id = (otg_sc & OTGSC_STS_USB_ID) ? 1 : 0; in fsl_otg_isr()
737 otg->default_a = (fsm->id == 0); in fsl_otg_isr()
742 fsm->id = (otg_sc & OTGSC_STS_USB_ID) ? 1 : 0; in fsl_otg_isr()
743 otg->default_a = (fsm->id == 0); in fsl_otg_isr()
745 if (fsm->id) in fsl_otg_isr()
746 fsm->b_conn = 0; in fsl_otg_isr()
748 fsm->a_conn = 0; in fsl_otg_isr()
751 otg->host->is_b_host = fsm->id; in fsl_otg_isr()
753 otg->gadget->is_a_peripheral = !fsm->id; in fsl_otg_isr()
754 VDBG("ID int (ID is %d)\n", fsm->id); in fsl_otg_isr()
756 if (fsm->id) { /* switch to gadget */ in fsl_otg_isr()
764 fsl_otg_start_gadget(fsm, 0); in fsl_otg_isr()
765 otg_drv_vbus(fsm, 1); in fsl_otg_isr()
766 fsl_otg_start_host(fsm, 1); in fsl_otg_isr()
811 status = fsl_otg_init_timers(&fsl_otg_tc->fsm); in fsl_otg_conf()
816 mutex_init(&fsl_otg_tc->fsm.lock); in fsl_otg_conf()
819 fsl_otg_tc->fsm.ops = &fsl_otg_ops; in fsl_otg_conf()
854 struct otg_fsm *fsm; in usb_otg_start() local
861 fsm = &p_otg->fsm; in usb_otg_start()
865 fsm->otg = p_otg->phy.otg; in usb_otg_start()
959 p_otg->fsm.id = 1; in usb_otg_start()
962 p_otg->fsm.id = 0; in usb_otg_start()
965 pr_debug("initial ID pin=%d\n", p_otg->fsm.id); in usb_otg_start()
982 struct otg_fsm *fsm = &fsl_otg_dev->fsm; in show_fsl_usb2_otg_state() local
987 mutex_lock(&fsm->lock); in show_fsl_usb2_otg_state()
1037 fsm->a_bus_req, in show_fsl_usb2_otg_state()
1038 fsm->b_bus_req, in show_fsl_usb2_otg_state()
1039 fsm->a_bus_resume, in show_fsl_usb2_otg_state()
1040 fsm->a_bus_suspend, in show_fsl_usb2_otg_state()
1041 fsm->a_conn, in show_fsl_usb2_otg_state()
1042 fsm->a_sess_vld, in show_fsl_usb2_otg_state()
1043 fsm->a_srp_det, in show_fsl_usb2_otg_state()
1044 fsm->a_vbus_vld, in show_fsl_usb2_otg_state()
1045 fsm->b_bus_resume, in show_fsl_usb2_otg_state()
1046 fsm->b_bus_suspend, in show_fsl_usb2_otg_state()
1047 fsm->b_conn, in show_fsl_usb2_otg_state()
1048 fsm->b_se0_srp, in show_fsl_usb2_otg_state()
1049 fsm->b_ssend_srp, in show_fsl_usb2_otg_state()
1050 fsm->b_sess_vld, in show_fsl_usb2_otg_state()
1051 fsm->id); in show_fsl_usb2_otg_state()
1055 mutex_unlock(&fsm->lock); in show_fsl_usb2_otg_state()
1080 fsl_otg_dev->fsm.a_suspend_req_inf = arg; in fsl_otg_ioctl()
1084 fsl_otg_dev->fsm.a_bus_drop = arg; in fsl_otg_ioctl()
1088 fsl_otg_dev->fsm.a_bus_req = arg; in fsl_otg_ioctl()
1092 fsl_otg_dev->fsm.b_bus_req = arg; in fsl_otg_ioctl()
1099 otg_statemachine(&fsl_otg_dev->fsm); in fsl_otg_ioctl()