mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-03-16 23:07:00 +00:00
omap3/sys_info: provide interface to read die id
introduce get_die_id() function which allows generation of information such as fake MAC address from the processor ID code. Signed-off-by: Nishanth Menon <nm@ti.com>
This commit is contained in:
parent
8a0c6d6fa9
commit
79e7e87f91
2 changed files with 15 additions and 5 deletions
|
@ -40,12 +40,24 @@ static char *rev_s_37xx[CPU_37XX_MAX_REV] = {
|
|||
"1.2"};
|
||||
#endif /* CONFIG_DISPLAY_CPUINFO */
|
||||
|
||||
/*****************************************************************
|
||||
* get_dieid(u32 *id) - read die ID
|
||||
*****************************************************************/
|
||||
void get_dieid(u32 *id)
|
||||
{
|
||||
struct ctrl_id *id_base = (struct ctrl_id *)OMAP34XX_ID_L4_IO_BASE;
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
/*****************************************************************
|
||||
* dieid_num_r(void) - read and set die ID
|
||||
*****************************************************************/
|
||||
void dieid_num_r(void)
|
||||
{
|
||||
struct ctrl_id *id_base = (struct ctrl_id *)OMAP34XX_ID_L4_IO_BASE;
|
||||
char *uid_s, die_id[34];
|
||||
u32 id[4];
|
||||
|
||||
|
@ -54,10 +66,7 @@ void dieid_num_r(void)
|
|||
uid_s = getenv("dieid#");
|
||||
|
||||
if (uid_s == NULL) {
|
||||
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);
|
||||
get_dieid(id);
|
||||
sprintf(die_id, "%08x%08x%08x%08x", id[0], id[1], id[2], id[3]);
|
||||
setenv("dieid#", die_id);
|
||||
uid_s = die_id;
|
||||
|
|
|
@ -68,6 +68,7 @@ void make_cs1_contiguous(void);
|
|||
void omap_nand_switch_ecc(uint32_t, uint32_t);
|
||||
void power_init_r(void);
|
||||
void dieid_num_r(void);
|
||||
void get_dieid(u32 *id);
|
||||
void do_omap3_emu_romcode_call(u32 service_id, u32 parameters);
|
||||
void omap3_gp_romcode_call(u32 service_id, u32 parameter);
|
||||
u32 warm_reset(void);
|
||||
|
|
Loading…
Add table
Reference in a new issue