ICEpick revision greater than C?

Hi Gerald,

I am trying to update the OpenOCD files for the latest Rev. B of the
BeagleBoard-xM. Currently, scripts/target/amdm37c.cfg has a TAPID for
the JRC (ICEpick) of 0x0b89102f, which apparently belongs to the "rev C"
ICEpick. However, the latest board contains an ICEpick with a version 1,
thus an ID of 0x1b89102f (note the 1).

A temporary fix is to edit this file to add a secondary TAPID:

dm37x {
    # Primary TAP: ICEpick-C (JTAG route controller) and boundary scan
    set _JRC_TAPID 0x0b89102f
    set _JRC_TAPID1 0x1b89102f

And then also add this new TAPID to the jtag configuration:

# Primary TAP: ICEpick - it is closest to TDI so last in the chain
jtag newtap $_CHIPNAME jrc -irlen 6 -ircapture 0x1 -irmask 0x3f \
   -expected-id $_JRC_TAPID -expected-id $_JRC_TAPID1

This is sufficient to have the Rev B. usable by OpenOCD again.

Before I send a patch upstream, can you clarify whether I should be
calling this a Rev "D" ICEpick, "Rev C1", or something else? Bits of
this are very well documented (for example, in chapter 27 of the DM3730
TRM) but the exact revision information on ICEpick seems not to be
public in those documents, unless I am missing something.


I have no idea. I will have to see what I can find out.