Reporting Unknown JTAG TAP IDS
------------------------------

If OpenOCD reports an UNKNOWN or Unexpected Tap ID please report it to
the development mailing list - However - keep reading.

openocd-devel@lists.sourceforge.net.

========================================

About "UNEXPECTED" tap ids.

  Before reporting an "UNEXPECTED TAP ID" - take a closer look.
  Perhaps you have your OpenOCD configured the wrong way, maybe you
  have the tap configured the wrong way? Or something else is wrong.
  (Remember: OpenOCD does not stop if the tap is not present)

  This "tap id check" is there for a purpose.
  The goal is to help get the *right* configuration.

The idea is this:

  Every JTAG tap is suppose to have "a unique 32bit tap id" number.
  They are suppose to be "sort of unique" but they are not.  There are
  no guarantees.

Version Number Changes:

  Sometimes, the tap ID only differs by VERSION number. If so - it's
  not a big deal.  Please do report this information.  We'd like to
  know about it.

  For example

Error:  ERROR: Tap: s3c4510.cpu - Expected id: 0x3f0f0f0f, Got: 0x1f0f0f0f
Error:  ERROR: expected: mfg: 0x787, part: 0xf0f0, ver: 0x3
Error:  ERROR:      got: mfg: 0x787, part: 0xf0f0, ver: 0x1

========================================

Updating the Tap ID number your self

  Why do this? You just want the warning to go away.  And don't want
  to update your version/instance of OpenOCD.

  On simple systems, to fix this problem, in your "openocd.cfg" file,
  override the tap id.  Depending on the tap, add one of these 3
  commands:

	set CPUTAPID   newvalue
  or	set BSTAPID    newvalue
  or	set FLASHTAPID newvalue
  or	set ETMTAPID   newvalue

  Where "newvalue" is the new value you are seeing.

  On complex systems, (with many taps and chips) you probably have a
  custom configuration file. Its is more complicated, you're going to
  have to read through the configuration files

========================================

What to send:

Cut & paste the output of OpenOCD that pointed you at this file.

Please include the VERSION number of OpenOCD you are using.

And please include the information below.

========================================

A) The JTAG TAP ID code.

This is always a 32bit hex number.

Examples:
    0x1f0f0f0f - is an old ARM7TDMI
    0x3f0f0f0f - is a newer ARM7TDMI
    0x3ba00477 - is an ARM Cortex-M3

Some chips have multiple JTAG taps - be sure to list
each one individually - ORDER is important!

========================================
B) The maker of the part

Examples:
    Xilinx, Atmel, ST Micro Systems, Freescale

========================================
C) The family of parts it belongs to

Examples:
   "NXP LPC Series"
   "Atmel SAM7 Series"

========================================

D) The actual part number on the package

   For example: "S3C45101x01"

========================================

E) What type of board it is.

ie: a "commercial off the self eval board" that one can purchase (as
opposed to your private internal custom board)

For example: ST Micro systems has Eval boards, so does Analog Devices

Or - if it is inside something "hackers like to hack" that information
is helpful too.

For example: A consumer GPS unit or a cellphone

========================================

(F)   The maker of the board
        ie: Olimex, LogicPD, Freescale(eval board)

========================================

(G)   Identifying information on the board.

      Not good:   "iar red ST eval board"

      Really good: "IAR STR912-SK evaluation board"

========================================

(H) Are there other interesting (JTAG) chips on the board?

    ie: An FPGA or CPLD ...

========================================

(I) What target config files need updating?

    In fact it's best if you submit a patch with those
    updates.  Most of the other information listed here
    is just to help create a good patch.

========================================
