At least on the am335x, the trick actually works! I have a working demo which configures ICEPick registers and even performs transactions on the debug interconnect. I've been lazy and imported a bunch of files from my baremetal projects so I could easily mess with the hardware, rudely bypassing the kernel. The whole implementation is hideous in all sorts of ways, but it gets the job done: https://github.com/dutchanddutch/jbang The key part, how to bitbang JTAG, is reasonably isolated from all this in src/jbang.cc and glues onto the device-specific part via hw-subarctic.h. You could probably also turn jbang.cc into plain C without too much effort and discard the rest... I accept that my code style is probably a bit of an acquired taste ;-) For the omap3, apart from the differences in padconf details, you'll want to change icepick_init_regs[] to just { 0x23002100 } I think and hopefully you can then write the DAPCTL regs using ap_write(). I hope this example is of any help. Matthijs -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html