AnsweredAssumed Answered

USB host RETRYDIS

Question asked by Jason Valenzuela on Feb 19, 2016
Latest reply on Feb 21, 2016 by Kan_Li

I have an application with a K60 operating as a full-speed host, and have a question about the RETRYDIS bit in the USB0_ENDPT[0] register. Using the default value, 0, SETUP, IN, and OUT transactions operate normally. I would like to set this bit to allow the application to determine the response to NAKs according to the token PID. Specifically, NAKs are not permitted in response to a SETUP token, so instead of a hardware retry as would occur with RETRYDIS clear, the application will interpret a NAK as a failure without any reattempts. The problem I am encountering is the PID value returned in the buffer descriptor's TOK_PID[n] field during an IN transaction. During a IN transaction, the host generates the handshake, and a host is never permitted to generate a NAK or STALL, so I am assuming the only possible values of TOK_PID[n] after an IN transaction are DATA0, DATA1, timeout, and data error, however, I'm getting a NAK. If RETRYDIS is left clear, the same transaction works properly.

 

 

 

Thank you,

Jason Valenzuela

Outcomes