[U-Boot] OMAP DIE_ID
Dirk Behme
dirk.behme at googlemail.com
Fri Aug 14 19:04:10 CEST 2009
Frederik Kriewitz wrote:
> I'm a bit confused about the u-boot code which reads the OMAP die id.
>
>>From the OMAP TRM:
> CONTROL.CONTROL_DIE_ID[127:0]
> Address: 0x4830A218
> Size: 128
>
> u-boot code: http://gitorious.org/u-boot-omap3/mainline/blobs/master/cpu/arm_cortexa8/omap3/sys_info.c#line44
>
> result: Die ID #: 04ba0054 00000020 0401463b 0401c214
> Memory Dump: 4830a218: 0401c214 0401463b 00000020 04ba0054
>
> Shouldn't u-boot read/show the die id the other way around (just as in
> the memory dump)?
>
> Please just tell me that I'm wrong :)
I wouldn't talk about right or wrong here ;) Most probably this is
just personal taste.
First, short summary about what we are talking:
u32 die_id_0; /* 0x18 */
u32 die_id_1; /* 0x1C */
u32 die_id_2; /* 0x20 */
u32 die_id_3; /* 0x24 */
id[3] = readl(&id_base->die_id_0);
id[2] = readl(&id_base->die_id_1);
id[1] = readl(&id_base->die_id_2);
id[0] = readl(&id_base->die_id_3);
sprintf(die_id, "%08x%08x%08x%08x", id[0], id[1], id[2], id[3]);
From memory dump point of view, using above example, this is
4830a218: 0401c214 CONTROL_DIE_ID[31:0]
4830a21C: 0401463b CONTROL_DIE_ID[63:32]
4830a220: 00000020 CONTROL_DIE_ID[95:64]
4830a224: 04ba0054 CONTROL_DIE_ID[127:96]
So we are printing
Die ID #: DIE_ID[127:96] DIE_ID[95:64] DIE_ID[63:32] DIE_ID[31:0]
as a 128 bit value with lowest value right and highest value left.
Is this correct?
At least, this is what I think was intended ;)
Best regards
Dirk
More information about the U-Boot
mailing list