applet.spi.flash_25c: add HOLD# pin, always high.
by whitequark 6 years 11 months
applet.spi.flash_25c: add HOLD# pin, always high.

Flashes (usually?) don't have an internal pullup there, so
an explicit pin makes it easier to remember that, and use a straight
8-to-8 socket adapter, if we ever get any.
eccd9de6
applet.spi.master: SS should always be driven.
by whitequark 6 years 11 months
applet.spi.master: SS should always be driven.

This broke spi.flash-25c applet in mysterious ways.
7b0737e5
applet.spi.flash_25c: use proper dummy byte count ...
by whitequark 6 years 11 months
applet.spi.flash_25c: use proper dummy byte count for RDP.
e5b57b85
access.direct.multiplexer: fix FIFO flush write po...
by whitequark 6 years 11 months
access.direct.multiplexer: fix FIFO flush write port forwarding.

This caused flush to be never asserted, and stuck FIFOs.
273ee5c3
applet.spi.master: fix refactoring issue.
by whitequark 6 years 11 months
applet.spi.master: fix refactoring issue.

This broke dependent applets like applet.spi.flash_25c.
3bc0da89
applet.spi.master: simplify.
by whitequark 6 years 11 months
fd1e3971
access: allow hinting reads for dramatically impro...
by whitequark 6 years 11 months
access: allow hinting reads for dramatically improved performance.

The `hint` argument to `read` chooses the size of the buffer
submitted to the OS. It should be set to the amount of data expected
to be recived, and using it correctly is essential to avoid
FIFO underflows and poor performance.
e82ecabb
gateware.fx2: replace "non-streaming" FIFOs with "...
by whitequark 6 years 11 months
gateware.fx2: replace "non-streaming" FIFOs with "auto-flush" FIFOs.

The difference is that all FIFOs are now flush-capable, and
auto-flush FIFOs simply always assert flush. This means that applets
can flush on demand.

The manual-flush mode currently has an issue where if a flush is
asserted after all data is already transferred into the FX2 side
FIFO, the packet is not sent. Thus, it is not usable in general.
aa80b038
applet.jtag.pinout: also probe TRST# if pulldowns ...
by whitequark 6 years 11 months
applet.jtag.pinout: also probe TRST# if pulldowns are detected.

There is no need to probe it if it has a pullup or is Hi-Z because
we get all those to high before probing other pins.

Also write out the arguments to the `jtag` applet. This isn't
entirely correct as it'll break with indirect access, but it's good
enough for now.
60cf9599
applet.jtag.pinout: new applet.
by whitequark 6 years 11 months
4afd2fd7
Report a bug