----- "Cory Xie" <cory.xie@xxxxxxxxx> wrote: > If the a_bidl_adis_tmr timer times out, the A-device will enter > a_wait_bcon state; But the timer out value > TA_BIDL_ADIS (B-Idle to A-Disconnect) is 155 ms (min) to 200 ms > (max); So, if this timer is started once > the a_peripheral state is entered, it means the A-device can at most > stay in a_peripheral state for 200ms, > and that doesn't make sense because the B-device (b_host) may need > more time to work with the A-device > (a_pheripheral). > From the name of this timer, it seems it should be started when the > A-device detects B-device idles the bus > (or suspend the bus) while the A-device is in a_peripheral state. > But there is a saying "In the case of any conflict between these > diagrams and the behavior described in the > rest of the document, the state machines take precedence." > So which one should we follow to start the a_bidl_adis_tmr ? As per my understanding, a_bidl_adis_tmr should be started only after finding the bus idle in a_peripheral state. The other timers mentioned in OTG2.0 spec like a_wait_vrise_tmr, a_wait_bcon, a_aidl_bdis_tmr are started when entering to the respective OTG state. But a_bidl_adis_tmr is an exception. -- Sent by a consultant of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html