forked from len0rd/rockbox
tsc2100 debug screen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15405 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
f57ea9acd7
commit
13343c02ca
1 changed files with 71 additions and 0 deletions
|
|
@ -1481,6 +1481,74 @@ static bool dbg_cpufreq(void)
|
||||||
}
|
}
|
||||||
#endif /* HAVE_ADJUSTABLE_CPU_FREQ */
|
#endif /* HAVE_ADJUSTABLE_CPU_FREQ */
|
||||||
|
|
||||||
|
#if defined(HAVE_TSC2100) && !defined(SIMULATOR)
|
||||||
|
#include "tsc2100.h"
|
||||||
|
char *itob(int n, int len)
|
||||||
|
{
|
||||||
|
static char binary[64];
|
||||||
|
int i,j;
|
||||||
|
for (i=1, j=0;i<=len;i++)
|
||||||
|
{
|
||||||
|
binary[j++] = n&(1<<(len-i))?'1':'0';
|
||||||
|
if (i%4 == 0)
|
||||||
|
binary[j++] = ' ';
|
||||||
|
}
|
||||||
|
binary[j] = '\0';
|
||||||
|
return binary;
|
||||||
|
}
|
||||||
|
static char* tsc2100_debug_getname(int selected_item, void * data, char *buffer)
|
||||||
|
{
|
||||||
|
int *page = (int*)data;
|
||||||
|
bool reserved = false;
|
||||||
|
switch (*page)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
if ((selected_item > 0x0a) ||
|
||||||
|
(selected_item == 0x04) ||
|
||||||
|
(selected_item == 0x08))
|
||||||
|
reserved = true;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if ((selected_item > 0x05) ||
|
||||||
|
(selected_item == 0x02))
|
||||||
|
reserved = true;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (selected_item > 0x1e)
|
||||||
|
reserved = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (reserved)
|
||||||
|
snprintf(buffer, MAX_PATH, "%02x: RESERVED", selected_item);
|
||||||
|
else
|
||||||
|
snprintf(buffer, MAX_PATH, "%02x: %s", selected_item,
|
||||||
|
itob(tsc2100_readreg(*page, selected_item)&0xffff,16));
|
||||||
|
return buffer;
|
||||||
|
}
|
||||||
|
static int tsc2100debug_action_callback(int action, struct gui_synclist *lists)
|
||||||
|
{
|
||||||
|
int *page = (int*)lists->gui_list[SCREEN_MAIN].data;
|
||||||
|
if (action == ACTION_STD_OK)
|
||||||
|
{
|
||||||
|
*page = (*page+1)%3;
|
||||||
|
snprintf(lists->gui_list[SCREEN_MAIN].title, 32,
|
||||||
|
"tsc2100 registers - Page %d", *page);
|
||||||
|
return ACTION_REDRAW;
|
||||||
|
}
|
||||||
|
return action;
|
||||||
|
}
|
||||||
|
bool tsc2100_debug(void)
|
||||||
|
{
|
||||||
|
int page = 0;
|
||||||
|
char title[32] = "tsc2100 registers - Page 0";
|
||||||
|
struct simplelist_info info;
|
||||||
|
simplelist_info_init(&info, title, 32, &page);
|
||||||
|
info.timeout = HZ/100;
|
||||||
|
info.get_name = tsc2100_debug_getname;
|
||||||
|
info.action_callback= tsc2100debug_action_callback;
|
||||||
|
return simplelist_show_list(&info);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#ifndef SIMULATOR
|
#ifndef SIMULATOR
|
||||||
#ifdef HAVE_LCD_BITMAP
|
#ifdef HAVE_LCD_BITMAP
|
||||||
/*
|
/*
|
||||||
|
|
@ -2278,6 +2346,9 @@ static const struct the_menu_item menuitems[] = {
|
||||||
#if CONFIG_CPU == SH7034 || defined(CPU_COLDFIRE) || defined(CPU_PP) || CONFIG_CPU == S3C2440
|
#if CONFIG_CPU == SH7034 || defined(CPU_COLDFIRE) || defined(CPU_PP) || CONFIG_CPU == S3C2440
|
||||||
{ "View I/O ports", dbg_ports },
|
{ "View I/O ports", dbg_ports },
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(HAVE_TSC2100) && !defined(SIMULATOR)
|
||||||
|
{ "TSC2100 debug", tsc2100_debug },
|
||||||
|
#endif
|
||||||
#ifdef HAVE_ADJUSTABLE_CPU_FREQ
|
#ifdef HAVE_ADJUSTABLE_CPU_FREQ
|
||||||
{ "CPU frequency", dbg_cpufreq },
|
{ "CPU frequency", dbg_cpufreq },
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue