Each OMAP has a unique 128 bit ID. The following code will print it out.
#define CONTROL_ID_CODE_ADDR 0x4830A204 //VERSION Bits [31:28], HAWKEYE
Bits [27:12] (Silicon Type)
#define CONTROL_DIE_ID_0 0x4830A218
#define CONTROL_DIE_ID_1 0x4830A21C
#define CONTROL_DIE_ID_2 0x4830A220
#define CONTROL_DIE_ID_3 0x4830A224
unsigned int regVal0, regVal1, regVal2, regVal3;
regVal0 = *(unsigned int*)CONTROL_ID_CODE_ADDR;
serial_printf("VERSION %x\r\n",0xf&(regVal0>>28));
serial_printf("HAWKEYE %x\r\n",0xffff&(regVal0>>12));
//Print out the unique 128 bit ID for this CPU
regVal3 = *(unsigned int*)CONTROL_DIE_ID_3;
regVal2 = *(unsigned int*)CONTROL_DIE_ID_2;
regVal1 = *(unsigned int*)CONTROL_DIE_ID_1;
regVal0 = *(unsigned int*)CONTROL_DIE_ID_0;
serial_printf("Serial #
%08x%08x%08x%08x\r\n",regVal3,regVal2,regVal1,regVal0);
Regards,
Brad Badke
Hemisphere GPS
8444 N 90th St #130
Scottsdale, AZ 85258
Direct: 480-348-6323
Fax: 480-348-6370
bbadke@hemispheregps.com <mailto:bbadke@hemispheregps.com>
www.hemispheregps.com <http://www.hemispheregps.com/>