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.
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.