nrf5x iso support#518
Merged
Merged
Conversation
Collaborator
|
Ah yes sorry for the delay! I promise to get the PR done by the end of this week! :)
|
Owner
|
hihi, sorry for late response, I am scratching my head with other things just now. Will check out this ASAP 😅 |
hathach
reviewed
Sep 30, 2020
Owner
hathach
left a comment
There was a problem hiding this comment.
Thank you very much for this great PR, and sorry for being late with review (was busy with other works for last week 😪). This look great, I only have a few minor comment,
- the only issue is the if logic in the
dcd_edpt_stall - There is lots of number
8used for ISO endpoint, maybe we should have an enumEPNUM_ISO = 8or any name like that just to make it easier to tell the diff when we refer to EP ISO or the count of CBI.
Currently number of endpoints was hard coded to 8. NRF52 has 9 IN and 9 OUT endpoints. ISO endpoints are 0x08 and 0x88 and without this change those two ISO endpoint could not be used.
Closing endpoints can be important when there are alternate instances. This adds functionality of closing endpoints similar to what exists in other drivers.
msp stores max packet size. For ISO endpoints 8 bits is not enough so it's changed to 16 bits.
ISO endpoints were not covered so far by the driver code. This adds support for ISO IN and OUT endpoint handling. Registers for ISO IN(OUT) endpoints are placed just after normal IN(OUT) so in some cases common code could be used for handling all type of transfers. Generally code synchronizes ISO endpoint handling to SOF interrupt. This code does not change the way of how non-ISO endpoints are treated. Code uses strategy outlined in nRF52840 Produce Specification v1.0 sections 6.35.11.1 and 6.35.11.2.
3a245f5 to
96da1ca
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Describe the PR
ISO endpoints were not covered in nrf5x driver.
Code deals with ISO IN and OUT endpoints.
Intermediate steps needed for ISO to work on NRF:
Additional context
Code should not affect current non-ISO control flow.
It was tested with audio driver that @PanRe is going hopefully to submit soon :)