How to Find the Silicon Revision of your OMAP35x or AM/DM37x

From Texas Instruments Wiki
Jump to: navigation, search


Intro

This info can be used for a couple different uses:

  • Determining at run-time whether the target is OMAP35x or AM/DM37x
  • Determining the silicon revision at run-time

Having this information allows software engineers to create a single binary capable of running on several different devices. At run-time the code can intelligently decide whether certain features are available or whether certain bugs need to be worked around.

How

Using your favorite memory probing tool, read back a 32 bit word from the CONTROL_IDCODE Register at address 0x4830 A204:

Table 1. OMAP35xx

Silicon Revision 32bit readback value
ES1.0 0x0B6D 602F
ES2.0 0x1B7A E02F
ES2.1 0x2B7A E02F
ES3.0 0x3B7A E02F
ES3.1 0x4B7A E02F
ES3.1.x 0x7B7A E02F


Table 2. AM/DM37xx

Silicon Revision 32bit readback value
ES1.0 0x0B89 102F
ES1.1 0x1B89 102F
ES1.2 0x2B89 102F

Example

On Linux

Use the memory dump capability of u-boot from a standard PSP Linux Release:

OMAP3EVM #md 0x4830A204 1
4830a204: 2b7ae02f    /.z+

From the read back value: 2b7ae02f, you can see the revison of this OMAP35x corresponds to ES2.1

On WinCE

Similarly, in a WinCE command prompt or Platform Builder shell:

Windows CE>in32 4830A204
4830a204: 4b7ae02f

From the read back value: 4b7ae02f, you can see the revison of this OMAP35x corresponds to ES3.1