Repository navigation
rp2: Add HSTX support. - #18345
Open
sfe-SparkFro wants to merge 3 commits into
Open
rp2: Add HSTX support.#18345sfe-SparkFro wants to merge 3 commits into
sfe-SparkFro wants to merge 3 commits into
Conversation
This was referenced Oct 29, 2025
Signed-off-by: Dryw Wade <[email protected]>
sfe-SparkFro
force-pushed
the
rp2_hstx
branch
from
October 29, 2025 22:38
a5d5d1f to
c24e8ef
Compare
Contributor
Author
|
Oh also, would be good to implement this #17692 (comment) so |
|
Code size report: |
Member
|
Thanks for this, it looks good! I'll need to test it. Eventually it will need docs, and ideally a test. |
Contributor
Author
|
Great to hear, thanks! Also, this PR would benefit greatly from #18458 so the alt function can be set without the use of |
sfe-SparkFro
force-pushed
the
rp2_hstx
branch
from
November 21, 2025 22:35
5f34a97 to
b005b40
Compare
Signed-off-by: Dryw Wade <[email protected]>
sfe-SparkFro
force-pushed
the
rp2_hstx
branch
from
November 21, 2025 22:36
b005b40 to
4f2c806
Compare
Contributor
Author
First draft in 4f2c806! |
Has to be done in `init()` instead of `deinit()`, because there could be a DMA channel still filling the FIFO when `deinit()` gets called. Signed-off-by: Dryw Wade <[email protected]>
Contributor
|
Just adding that I've tested this using the DVI output of the Adafruit Fruit Jam and it worked great!
|
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.

Summary
HSTX support for the RP2350! Resolves #17111
This implementation is similar to
rp2.DMAin that the control registers values are created withpackfunctions. The FIFO registers are accessed with special functions. It also supports the buffer protocol (write only) so DMA transfers are relatively simple.Note that this implementation is entirely application agnostic, unlike other HSTX implementations (which often just implement DVI, and end up hogging specific resources for it).
Testing
I've created 2 demos here. The first is a simple blink, the second is a DVI implementation.
Both tested to work with the following:
Though it should work with any RP2350 board and appropriate hardware to run the DVI example.
Trade-offs and Alternatives
On my machine, this adds 1852 bytes (+0.59%) to the
RPI_PICO2build. IMO this is worth the extra functionality for the reasons outlined in #17111.