forked from len0rd/rockbox
imx233: add more ocotp registers to debug screen
Change-Id: I327ddd5506598c80263424d85afa84cd3c9acfeb
This commit is contained in:
parent
823d090d6b
commit
be6da12c09
1 changed files with 45 additions and 2 deletions
|
@ -550,17 +550,47 @@ bool dbg_hw_info_pinctrl(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
const char *name;
|
||||||
|
volatile uint32_t *addr;
|
||||||
|
} dbg_ocotp[] =
|
||||||
|
{
|
||||||
|
#define E(n,v) { .name = n, .addr = &v }
|
||||||
|
E("CUST0", HW_OCOTP_CUSTx(0)), E("CUST1", HW_OCOTP_CUSTx(1)),
|
||||||
|
E("CUST2", HW_OCOTP_CUSTx(2)), E("CUST0", HW_OCOTP_CUSTx(3)),
|
||||||
|
E("HWCAP0", HW_OCOTP_HWCAPx(0)), E("HWCAP1", HW_OCOTP_HWCAPx(1)),
|
||||||
|
E("HWCAP2", HW_OCOTP_HWCAPx(2)), E("HWCAP3", HW_OCOTP_HWCAPx(3)),
|
||||||
|
E("HWCAP4", HW_OCOTP_HWCAPx(4)), E("HWCAP5", HW_OCOTP_HWCAPx(5)),
|
||||||
|
E("SWCAP", HW_OCOTP_SWCAP), E("CUSTCAP", HW_OCOTP_CUSTCAP),
|
||||||
|
E("OPS0", HW_OCOTP_OPSx(0)), E("OPS1", HW_OCOTP_OPSx(1)),
|
||||||
|
E("OPS2", HW_OCOTP_OPSx(2)), E("OPS2", HW_OCOTP_OPSx(3)),
|
||||||
|
E("UN0", HW_OCOTP_UNx(0)), E("UN1", HW_OCOTP_UNx(1)),
|
||||||
|
E("UN2", HW_OCOTP_UNx(2)),
|
||||||
|
E("ROM0", HW_OCOTP_ROMx(0)), E("ROM1", HW_OCOTP_ROMx(1)),
|
||||||
|
E("ROM2", HW_OCOTP_ROMx(2)), E("ROM3", HW_OCOTP_ROMx(3)),
|
||||||
|
E("ROM4", HW_OCOTP_ROMx(4)), E("ROM5", HW_OCOTP_ROMx(5)),
|
||||||
|
E("ROM6", HW_OCOTP_ROMx(6)), E("ROM7", HW_OCOTP_ROMx(7)),
|
||||||
|
};
|
||||||
|
|
||||||
bool dbg_hw_info_ocotp(void)
|
bool dbg_hw_info_ocotp(void)
|
||||||
{
|
{
|
||||||
lcd_setfont(FONT_SYSFIXED);
|
lcd_setfont(FONT_SYSFIXED);
|
||||||
|
|
||||||
|
unsigned top_user = 0;
|
||||||
|
|
||||||
while(1)
|
while(1)
|
||||||
{
|
{
|
||||||
int button = get_action(CONTEXT_STD, HZ / 10);
|
int button = get_action(CONTEXT_STD, HZ / 10);
|
||||||
switch(button)
|
switch(button)
|
||||||
{
|
{
|
||||||
case ACTION_STD_NEXT:
|
case ACTION_STD_NEXT:
|
||||||
|
top_user++;
|
||||||
|
break;
|
||||||
case ACTION_STD_PREV:
|
case ACTION_STD_PREV:
|
||||||
|
if(top_user > 0)
|
||||||
|
top_user--;
|
||||||
|
break;
|
||||||
case ACTION_STD_OK:
|
case ACTION_STD_OK:
|
||||||
case ACTION_STD_MENU:
|
case ACTION_STD_MENU:
|
||||||
lcd_setfont(FONT_UI);
|
lcd_setfont(FONT_UI);
|
||||||
|
@ -571,8 +601,21 @@ bool dbg_hw_info_ocotp(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
lcd_clear_display();
|
lcd_clear_display();
|
||||||
for(int i = 0; i < 4; i++)
|
unsigned cur_line = 0;
|
||||||
lcd_putsf(0, i, "OPS%d=%08x", i, imx233_ocotp_read(&HW_OCOTP_OPSx(i)));
|
unsigned last_line = lcd_getheight() / font_get(lcd_getfont())->height;
|
||||||
|
unsigned i = 0;
|
||||||
|
|
||||||
|
for(i = 0; i < ARRAYLEN(dbg_ocotp); i++)
|
||||||
|
{
|
||||||
|
if(i >= top_user && cur_line < last_line)
|
||||||
|
{
|
||||||
|
lcd_putsf(0, cur_line, "%s", dbg_ocotp[i].name);
|
||||||
|
lcd_putsf(8, cur_line++, "%x", imx233_ocotp_read(dbg_ocotp[i].addr));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(i < top_user)
|
||||||
|
top_user = i - 1;
|
||||||
|
|
||||||
lcd_update();
|
lcd_update();
|
||||||
yield();
|
yield();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue