Skip to content

Can the RP2040 USB host adapt to a device that replies to the first BULK IN transfer with a DATA1 PID packet? #2702

Answered by rppicomidi
rppicomidi asked this question in Q&A
Discussion options

You must be logged in to vote

The answer is yes, sort of. You can control the initial value of the DATA0/DATA1 PID for each endpoint in the buffer control register for that endpoint, bit 13. See section 4.1.2.5.4. Buffer control register in the RP2040 specification document. There is a chip bug in the auto-sequenced host hardware, so the adaptation is not automatic and there is no register to allow software to detect that this issue occurring for a random device. The workaround is to know in advance that a particular device has an issue, and then program the buffer control register bit for the misbehaving endpoint opposite what it should normally be.

The real workaround for this issue is to not use EP1-EP15 auto-seque…

Replies: 3 comments

Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
0 replies
Answer selected by rppicomidi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
1 participant