6 /* dump a memory range */
7 void memdump_range(unsigned int *ptr, unsigned int len)
9 unsigned int *end = ptr + (len/4);
12 for (tmp = ptr; tmp < end; tmp += 8) {
14 printf("%08X: ", (unsigned int) tmp);
16 for (i = 0; i < 8; i++)
17 printf("%08X %s", *(tmp+i), i == 3 ? " " : "");
24 #define MBIT (1024*KBIT)
27 puts("Dump 64kBits of internal ROM\n");
28 memdump_range((void *)0x03800000, 64*KBIT/8);
30 puts("Dump 8Mbits of external flash\n");
31 memdump_range((void *)0x00000000, 8*MBIT/8);
33 puts("Dump 2Mbits of internal RAM\n");
34 memdump_range((void *)0x00800000, 2*MBIT/8);
36 puts("Dump 2Mbits of external RAM\n");
37 memdump_range((void *)0x01000000, 2*MBIT/8);
40 #define REG_DEV_ID_CODE 0xfffef000
41 #define REG_DEV_VER_CODE 0xfffef002
42 #define REG_DEV_ARMVER_CODE 0xfffffe00
43 #define REG_cDSP_ID_CODE 0xfffffe02
44 #define REG_DIE_ID_CODE 0xfffef010
46 void dump_dev_id(void)
50 printf("Device ID code: 0x%04x\n", readw(REG_DEV_ID_CODE));
51 printf("Device Version code: 0x%04x\n", readw(REG_DEV_VER_CODE));
52 printf("ARM ID code: 0x%04x\n", readw(REG_DEV_ARMVER_CODE));
53 printf("cDSP ID code: 0x%04x\n", readw(REG_cDSP_ID_CODE));
54 puts("Die ID code: ");
55 for (i = 0; i < 64/8; i += 4)
56 printf("%08x", readl(REG_DIE_ID_CODE+i));