-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
iMX.RT EHCI add dcache support and other fixes + refactor #2061
Merged
Merged
Changes from 1 commit
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
206d63e
correct EHCI reporting failed xfer (instead of stalled) when device i…
hathach 1c4f22a
EHCI: fix xfer failed with disconnected device as stalled
hathach 2c48050
add various check for disconncted device, also fix #1511 un-roll recu…
hathach 1e998ce
usbd: fix control transfer issue for chipidea hs when previous status…
hathach a9aa0e3
fix error on EHCI causes xfer error in non-queued qhd which cause mem…
hathach eb89df4
adding hcd_dcache_clean/hcd_dcache_invalidate
hathach a3e017b
EHCI adding dcahe support, passing enumertaion
hathach e4f4ad5
use weak local for dcache function to skip if()
hathach a0aea52
more cache, fix an similar issue with OHCI when removing an queue head
hathach 49e2aab
EHCI more improvement
hathach 27acaa0
refactor ehci, since usbh only queue 1 TD per queue head
hathach ec4bd39
refactor ehci: add attached_buffer for dcache invalidate for IN transfer
hathach f22d8ee
add rt1060 jlink config
hathach f26a939
only clean/invalidate dcache on imxrt if memory is not in DTCM
hathach 5dae5e1
ehci fix dcache clean when control endpoint failed
hathach 7211dd1
more dcache fix
hathach File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about make the cache related function optional (default ON) ?
For IMX.RT in order to have best performance, RAM will be configured to ITCM & DTCM, so they are accessed at CPU clock instead of bus clock (600MHz vs 133MHz)
Since TCM bypass the cache there is no need to flush or invalidate.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah you are right, I think we can check the address to see if it is within the DTCM (non-cachable) and skip the clean/invalidate will update in the next push or so. Circuitpython is currently placing ehci_data and/or user memory randomly and may not be in DTCM.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DTCM is 1MB reserved in 2000000-2010000,this should be good enough.