we found the ROM is composed of public ROM and secure ROM. As we know the public ROM is for boot, but secure ROM is for what? Could you illustrate an example?
I didn't find any more description about the secure ROM in TI's document like sprugx8.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
we found the ROM is composed of public ROM and secure ROM. As we know the public ROM is for boot, but secure ROM is for what? Could you illustrate an example?
I didn't find any more description about the secure ROM in TI's document like sprugx8.
Hi Jack,
What type of DM816x device do you have, GP or HS? If GP device, the secure ROM memory is not accessible/used. For more information regarding the secure ROM and any other security related questions, refer to your local TI representative/FAE. We cannot discuss this in public.
BR,
Pavel
hi Pavel,
What type of DM816x device do you have, GP or HS?
- how did I distinguish this?
Hi Jack,
You can check the device type from the u-boot log. When I boot up, my u-boot is reporting:
U-Boot 2010.06-dirty (Jul 23 2012 - 15:29:19)
TI8168-GP rev 1.1
Which means I have DM8168 GP silicon revision 1.1 device.
Does your u-boot report something like the above?
Regards,
Pavel
Does your u-boot report something like the above?
- yes, mine is as below
204536 bytes read
## Starting application at 0x80800000 ...
U-Boot 2010.06 (Sep 13 2012 - 15:02:32)
TI8168-GP rev 1.1
so did you mean if it's HS version, then it will show "TI8168-HS". Right?
Yes, this is right.
This is the u-boot source code in EZSDK:
{EZSDK}/board-support/u-boot-2010.06-psp04.04.00.01/arch/arm/arm_cortexa8/ti81xx/sys_info.c
/*************************************************************
* get_device_type(): tell if GP/HS/EMU/TST
*************************************************************/
u32 get_device_type(void)
{
int mode;
mode = __raw_readl(CONTROL_STATUS) & (DEVICE_MASK);
return(mode >>= 8);
}
/**
* Print CPU information
*/
int print_cpuinfo (void)
{
char *cpu_s, *sec_s;
int arm_freq, ddr_freq , rev;
#ifdef CONFIG_DM385
int l3_freq, dss_freq, iva_freq, iss_freq;
#endif
rev = get_cpu_rev();
switch (get_cpu_type()) {
case TI8168:
cpu_s = "TI8168";
break;
case TI8148:
cpu_s = "TI8148";
break;
case DM385:
cpu_s = "DM385";
break;
default:
cpu_s = "Unknown cpu type";
break;
}
switch (get_device_type()) {
case TST_DEVICE:
sec_s = "TST";
break;
case EMU_DEVICE:
sec_s = "EMU";
break;
case HS_DEVICE:
sec_s = "HS";
break;
case GP_DEVICE:
sec_s = "GP";
break;
default:
sec_s = "?";
}
For RDK, should be similar.
Regards,
Pavel