firmware: move ICE LED handling to FPGA code. NFCI...
by whitequark 4 years 7 months
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.
23aacd73
device.hardware: fix downloading prebuilt bitstrea...
by whitequark 4 years 7 months
device.hardware: fix downloading prebuilt bitstreams.

This was broken in commit 7e170bf1.
7a68db06
software: fix broken package_data link.
by whitequark 4 years 7 months
software: fix broken package_data link.

This change was missed in 68f8cfbf, and broke installation through
wheels.
a020406a
firmware, software: introduce revC2 revision code
by electronic_eel 4 years 7 months
2a1e2f10
device.hardware: use hotplug events when waiting f...
by whitequark 4 years 7 months
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.
ab212954
device.hardware, cli: unbreak `factory --force`.
by whitequark 4 years 7 months
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.
a0dbdffd
applet.debug.arm.jtag: enable debug power.
by whitequark 4 years 7 months
applet.debug.arm.jtag: enable debug power.

Without debug power, AP enumeration will ~always fail.
87284331
applet.debug.arm.jtag: handle AP transactions sett...
by whitequark 4 years 7 months
applet.debug.arm.jtag: handle AP transactions setting STICKYERR.

Also, gracefully handle failures reading AP IDR when enumerating APs.
4613a279
applet.debug.arm.jtag: new applet.
by whitequark 4 years 7 months
applet.debug.arm.jtag: new applet.

Currently it implements only basic AP enumeration.
ff6449d4
arch.arm{→.dap}.{ap,dp}: consolidate.
by whitequark 4 years 7 months
arch.arm{→.dap}.{ap,dp}: consolidate.

There's *way* too many DAP-related definitions for them not to have
their own namespace.
d0398fa6
Report a bug