Commit Graph

15 Commits

Author SHA1 Message Date
Triss ddfffa06fb jtagdev, pif, mehfet: refactor device_class ops to be unified under jtagdev instead of using separate implementations 2022-07-31 19:24:08 +02:00
Triss 5f30c8c217 jtaglib: refactor
In order to support CPUX and Xv2 devices, some refactoring is needed:

* split jtaglib into files concerning low-level JTAG/SBW physical layer
  stuff, and a file containing the actual debug routines. the latter is
  implemented in a separate file per CPU type (CPUX and Xv2 currently empty)
* use a lookup table dependig on the JTAG ID or CPU type to select which
  function to use
* move the 'struct device' dependency in pif and mehfet to jtdev, as it
  is needed everywhere, especially for device identification

In a next step, the following actions can be performed:

* Unify the read and write callbacks in pif and mehfet (used in readmem
  and writemem of struct device) to remove the redundancy
* Unify the init_device function in pif and mehfet to properly detect
  the device type, as done in v3hil. The device base type does query
  this data independenly, however, which feels unwanted.
2022-07-31 19:23:24 +02:00
Triss ab76a0ef3c jtaglib: refactor: allow driver backends to implement higher-level IR/DR-shifts, TMS-sequence, etc. commands instead of requiring a bit-banging interface 2021-10-10 00:05:50 +02:00
Alex Orange 682d7ecc9c Add a bus pirate driver.
This is extremely slow at programming things, but is very useful for
unbricking an MSP-FET430UIF if you have a bus pirate and no other
programmers around.
2017-06-14 13:53:03 -06:00
Alex Orange 8a1afe6c91 Add a function to the device struct to handle config fuses.
Also provide a getconfigfuses implementation for the pif based drivers (pif
and gpio).
2017-06-14 13:28:07 -06:00
zcsahok 38ea6143cd added common readmem/writemem implementation with alignment and memory range checking
changed pif and goodfet to use common readmem/writemem
2015-10-24 15:48:21 +02:00
zcsahok f5f881bc33 added optional common chip identification 2015-10-21 08:20:15 +02:00
Peter Bägel (DF5EQ) fdaad416b2 jtaglib: implement breakpoints. 2015-02-24 11:58:40 +13:00
Peter Bägel (DF5EQ) 320e560b99 jtaglib: implement single-stepping. 2015-02-24 11:37:29 +13:00
Jan Willeke 1be4ed0679 gpio driver Add gpio driver interface.
Signed-off-by: Jan Willeke <willeke@smartmote.de>
2015-02-04 12:48:30 +13:00
Jan Willeke 9497265e72 gpio driver prepare patch
moves jtdev functions to pointers, to exchange late on.

Signed-off-by: Jan Willeke <willeke@smartmote.de>
2015-02-04 12:48:30 +13:00
Ingo Donasch 7e04b31e65 pif: fix flash address range. 2015-01-03 10:01:13 +13:00
Tamas TEVESZ 16a25f206a Rework Unix delay_s()/delay_ms()
Make delay_ms() sleep through the entire specified interval unless
Ctrl-C is pressed;

Using this feature, simplify Ctrl-C checking in places.
2013-12-07 10:16:41 +13:00
Daniel Beer 5c1805ff2b JTAG fuse blow: add "blow_jtag_fuse" command.
Support exists for this command on FET-like devices (including Olimex)
and the tilib driver.
2013-12-03 07:27:32 +13:00
Daniel Beer e14a578555 Parallel JTAG driver (Linux only for now).
Based on a patch submitted by Peter Bägel <peter@baegel.de>.
2012-10-12 11:33:20 +13:00