firmware: move ICE LED handling to FPGA code. NFCI.
The existence of an FX2 pin dedicated to the ICE LED is an oversight;
it should have been hooked up directly to CDONE to save a scarce FX2
pin. Handle the LED transparently in FPGA code, with the aim of
eventually freeing its pin on a future revision.
Also, eliminate redundant state in the form of ST_FPGA_RDY latched
status bit.
by
whitequark
4 years 1 month
device.hardware: fix downloading prebuilt bitstreams.
This was broken in commit 7e170bf1.
by
whitequark
4 years 1 month
software: fix broken package_data link.
This change was missed in 68f8cfbf, and broke installation through
wheels.
by
whitequark
4 years 1 month
firmware, software: introduce revC2 revision code
by
electronic_eel
4 years 1 month
device.hardware: use hotplug events when waiting for re-enumeration.
Before this commit, there was a close race between re-enumeration in
the firmware (which takes about a second), and a hardcoded wait in
the software (which also took about a second). This would result in
spurious errors when firmware needed to be reloaded.
After this commit, hotplug events are used when available to remove
any hardcoded wait (and make the process a bit faster as well), and
on platforms without hotplug events (see libusb/libusb#86), a longer
hardcoded wait of 5 seconds is used to make the race less likely to
fail.
by
whitequark
4 years 1 month
device.hardware, cli: unbreak `factory --force`.
Before this commit, the `factory` command would ignore already
factory-programmed devices during enumeration (even if the device was
in recovery mode). This defeated the purpose of the `--force` flag.
After this commit, the `factory` command would discover any devices,
whether factory-programmed or not, such that `--force` works on any
device in any state.
Closes #236.
by
whitequark
4 years 1 month
applet.debug.arm.jtag: enable debug power.
Without debug power, AP enumeration will ~always fail.
by
whitequark
4 years 1 month
applet.debug.arm.jtag: handle AP transactions setting STICKYERR.
Also, gracefully handle failures reading AP IDR when enumerating APs.
by
whitequark
4 years 1 month
applet.debug.arm.jtag: new applet.
Currently it implements only basic AP enumeration.
by
whitequark
4 years 1 month
arch.arm{→.dap}.{ap,dp}: consolidate.
There's *way* too many DAP-related definitions for them not to have
their own namespace.
by
whitequark
4 years 1 month