diff options
author | Li Jun <B47624@freescale.com> | 2014-03-13 07:22:50 (GMT) |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2014-04-24 14:53:57 (GMT) |
commit | 2284bb35503ce7b05fce8f0dc8e1cb2a3134ae4e (patch) | |
tree | 0e228746fbdadcecb5662fc22d46f2a17ae75527 /drivers/usb | |
parent | a31a942a148e0083ce560ffeb54fb60e06ab7201 (diff) | |
download | linux-2284bb35503ce7b05fce8f0dc8e1cb2a3134ae4e.tar.xz |
usb: phy: fsm: update OTG HNP state transition
According to:"On-The-Go and Embedded Host Supplement to the USB Revision 2.0
Specification July 27, 2012 Revision 2.0 version 1.1a"
- add a_wait_vrise to a_wait_vfall
- update condition from a_wait_vrise to a_wait_bcon
Signed-off-by: Li Jun <b47624@freescale.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/phy/phy-fsm-usb.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/usb/phy/phy-fsm-usb.c b/drivers/usb/phy/phy-fsm-usb.c index c47e5a6..731b4a5 100644 --- a/drivers/usb/phy/phy-fsm-usb.c +++ b/drivers/usb/phy/phy-fsm-usb.c @@ -303,10 +303,11 @@ int otg_statemachine(struct otg_fsm *fsm) otg_set_state(fsm, OTG_STATE_A_WAIT_VRISE); break; case OTG_STATE_A_WAIT_VRISE: - if (fsm->id || fsm->a_bus_drop || fsm->a_vbus_vld || - fsm->a_wait_vrise_tmout) { + if (fsm->a_vbus_vld) otg_set_state(fsm, OTG_STATE_A_WAIT_BCON); - } + else if (fsm->id || fsm->a_bus_drop || + fsm->a_wait_vrise_tmout) + otg_set_state(fsm, OTG_STATE_A_WAIT_VFALL); break; case OTG_STATE_A_WAIT_BCON: if (!fsm->a_vbus_vld) |