mirror of
https://github.com/micropython/micropython.git
synced 2025-12-16 01:40:14 +01:00
rp2/rp2_pio: Add fifo_join support for PIO.
The PIO state machines on the RP2040 have 4 word deep TX and RX FIFOs. If you only need one direction, you can "merge" them into either a single 8 word deep TX or RX FIFO. We simply add constants to the PIO object, and set the appropriate bits in `shiftctrl`. Resolves #6854. Signed-off-by: Tim Radvan <tim@tjvr.org>
This commit is contained in:
committed by
Damien George
parent
e5d2ddde25
commit
f842a40df4
@@ -31,7 +31,8 @@ class PIOASMEmit:
|
||||
autopush=False,
|
||||
autopull=False,
|
||||
push_thresh=32,
|
||||
pull_thresh=32
|
||||
pull_thresh=32,
|
||||
fifo_join=0
|
||||
):
|
||||
# uarray is a built-in module so importing it here won't require
|
||||
# scanning the filesystem.
|
||||
@@ -40,7 +41,8 @@ class PIOASMEmit:
|
||||
self.labels = {}
|
||||
execctrl = 0
|
||||
shiftctrl = (
|
||||
(pull_thresh & 0x1F) << 25
|
||||
fifo_join << 30
|
||||
| (pull_thresh & 0x1F) << 25
|
||||
| (push_thresh & 0x1F) << 20
|
||||
| out_shiftdir << 19
|
||||
| in_shiftdir << 18
|
||||
|
||||
Reference in New Issue
Block a user