Allow use of MSC/CDC USB endpoints for bulk on sam3u2 #1022
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The sam3u2 USB peripheral does not have enough endpoints after CDC and MSC are enabled to enable the BULK endpoints. Bulk endpoints are required for CMSIS-DAP v2 support - the existing projects for this HIC use HID+MSC+CDC
This PR makes it possible for the sam3u2 to enable BULK if either CDC or MSC are disabled.
In order to demonstrate this setup, the sam3u2c_bulk_test_if project has been added which uses HID+CDC+BULK,
I have tested this configuration with a nanoDAP-hs, probe-rs-cli and few computers I had at my disposal:
raspberry pi 4 - hid: 90KB/s, bulk: 152KB/s
AMD 7700x, ubuntu 22.10 - hid: 17KB/s, bulk: 280KB/s
intel u5200, windows 10 - hid: 100KB/s, bulk: 160KB/s
Not sure why my AMD box is so slow with HID, but the speed-up is very significant in this case.