diff options
Diffstat (limited to 'apps/debug_menu.c')
-rw-r--r-- | apps/debug_menu.c | 125 |
1 files changed, 121 insertions, 4 deletions
diff --git a/apps/debug_menu.c b/apps/debug_menu.c index f5dbbf17a5..2e075479bf 100644 --- a/apps/debug_menu.c +++ b/apps/debug_menu.c | |||
@@ -87,6 +87,10 @@ | |||
87 | #include "ds2411.h" | 87 | #include "ds2411.h" |
88 | #endif | 88 | #endif |
89 | #include "hwcompat.h" | 89 | #include "hwcompat.h" |
90 | #include "button.h" | ||
91 | #if CONFIG_RTC == RTC_PCF50605 | ||
92 | #include "pcf50605.h" | ||
93 | #endif | ||
90 | 94 | ||
91 | #if CONFIG_CPU == DM320 || CONFIG_CPU == S3C2440 | 95 | #if CONFIG_CPU == DM320 || CONFIG_CPU == S3C2440 |
92 | #include "debug-target.h" | 96 | #include "debug-target.h" |
@@ -1167,14 +1171,20 @@ bool dbg_ports(void) | |||
1167 | lcd_puts(0, line++, buf); | 1171 | lcd_puts(0, line++, buf); |
1168 | line++; | 1172 | line++; |
1169 | 1173 | ||
1170 | snprintf(buf, sizeof(buf), "GPO32: %08lx", GPO32_VAL); | 1174 | snprintf(buf, sizeof(buf), "GPO32_VAL: %08lx", GPO32_VAL); |
1175 | lcd_puts(0, line++, buf); | ||
1176 | snprintf(buf, sizeof(buf), "GPO32_EN: %08lx", GPO32_ENABLE); | ||
1171 | lcd_puts(0, line++, buf); | 1177 | lcd_puts(0, line++, buf); |
1172 | snprintf(buf, sizeof(buf), "DEV_EN: %08lx", DEV_EN); | 1178 | snprintf(buf, sizeof(buf), "DEV_EN: %08lx", DEV_EN); |
1173 | lcd_puts(0, line++, buf); | 1179 | lcd_puts(0, line++, buf); |
1174 | snprintf(buf, sizeof(buf), "DEV_EN2: %08lx", DEV_EN2); | 1180 | snprintf(buf, sizeof(buf), "DEV_EN2: %08lx", DEV_EN2); |
1175 | lcd_puts(0, line++, buf); | 1181 | lcd_puts(0, line++, buf); |
1176 | snprintf(buf, sizeof(buf), "DEV_EN3: %08lx", inl(0x60006044)); | 1182 | snprintf(buf, sizeof(buf), "DEV_EN3: %08lx", inl(0x60006044)); |
1177 | lcd_puts(0, line++, buf); /* to be verified */ | 1183 | lcd_puts(0, line++, buf); /* to be verified */ |
1184 | snprintf(buf, sizeof(buf), "DEV_INIT1: %08lx", DEV_INIT1); | ||
1185 | lcd_puts(0, line++, buf); | ||
1186 | snprintf(buf, sizeof(buf), "DEV_INIT2: %08lx", DEV_INIT2); | ||
1187 | lcd_puts(0, line++, buf); | ||
1178 | 1188 | ||
1179 | #if defined(IRIVER_H10) || defined(IRIVER_H10_5GB) | 1189 | #if defined(IRIVER_H10) || defined(IRIVER_H10_5GB) |
1180 | line++; | 1190 | line++; |
@@ -1353,6 +1363,60 @@ bool dbg_ports(void) | |||
1353 | #endif /* !HAVE_LCD_BITMAP */ | 1363 | #endif /* !HAVE_LCD_BITMAP */ |
1354 | #endif /* !SIMULATOR */ | 1364 | #endif /* !SIMULATOR */ |
1355 | 1365 | ||
1366 | #if CONFIG_RTC == RTC_PCF50605 | ||
1367 | static bool dbg_pcf(void) | ||
1368 | { | ||
1369 | char buf[128]; | ||
1370 | int line; | ||
1371 | |||
1372 | #ifdef HAVE_LCD_BITMAP | ||
1373 | lcd_setmargins(0, 0); | ||
1374 | lcd_setfont(FONT_SYSFIXED); | ||
1375 | #endif | ||
1376 | lcd_clear_display(); | ||
1377 | |||
1378 | while(1) | ||
1379 | { | ||
1380 | line = 0; | ||
1381 | |||
1382 | snprintf(buf, sizeof(buf), "DCDC1: %02x", pcf50605_read(0x1b)); | ||
1383 | lcd_puts(0, line++, buf); | ||
1384 | snprintf(buf, sizeof(buf), "DCDC2: %02x", pcf50605_read(0x1c)); | ||
1385 | lcd_puts(0, line++, buf); | ||
1386 | snprintf(buf, sizeof(buf), "DCDC3: %02x", pcf50605_read(0x1d)); | ||
1387 | lcd_puts(0, line++, buf); | ||
1388 | snprintf(buf, sizeof(buf), "DCDC4: %02x", pcf50605_read(0x1e)); | ||
1389 | lcd_puts(0, line++, buf); | ||
1390 | snprintf(buf, sizeof(buf), "DCDEC1: %02x", pcf50605_read(0x1f)); | ||
1391 | lcd_puts(0, line++, buf); | ||
1392 | snprintf(buf, sizeof(buf), "DCDEC2: %02x", pcf50605_read(0x20)); | ||
1393 | lcd_puts(0, line++, buf); | ||
1394 | snprintf(buf, sizeof(buf), "DCUDC1: %02x", pcf50605_read(0x21)); | ||
1395 | lcd_puts(0, line++, buf); | ||
1396 | snprintf(buf, sizeof(buf), "DCUDC2: %02x", pcf50605_read(0x22)); | ||
1397 | lcd_puts(0, line++, buf); | ||
1398 | snprintf(buf, sizeof(buf), "IOREGC: %02x", pcf50605_read(0x23)); | ||
1399 | lcd_puts(0, line++, buf); | ||
1400 | snprintf(buf, sizeof(buf), "D1REGC: %02x", pcf50605_read(0x24)); | ||
1401 | lcd_puts(0, line++, buf); | ||
1402 | snprintf(buf, sizeof(buf), "D2REGC: %02x", pcf50605_read(0x25)); | ||
1403 | lcd_puts(0, line++, buf); | ||
1404 | snprintf(buf, sizeof(buf), "D3REGC: %02x", pcf50605_read(0x26)); | ||
1405 | lcd_puts(0, line++, buf); | ||
1406 | snprintf(buf, sizeof(buf), "LPREG1: %02x", pcf50605_read(0x27)); | ||
1407 | lcd_puts(0, line++, buf); | ||
1408 | |||
1409 | lcd_update(); | ||
1410 | if (button_get_w_tmo(HZ/10) == (DEBUG_CANCEL|BUTTON_REL)) | ||
1411 | { | ||
1412 | return false; | ||
1413 | } | ||
1414 | } | ||
1415 | |||
1416 | return false; | ||
1417 | } | ||
1418 | #endif | ||
1419 | |||
1356 | #ifdef HAVE_ADJUSTABLE_CPU_FREQ | 1420 | #ifdef HAVE_ADJUSTABLE_CPU_FREQ |
1357 | static bool dbg_cpufreq(void) | 1421 | static bool dbg_cpufreq(void) |
1358 | { | 1422 | { |
@@ -2251,6 +2315,53 @@ static bool cpu_boost_log(void) | |||
2251 | } | 2315 | } |
2252 | #endif | 2316 | #endif |
2253 | 2317 | ||
2318 | #if (defined(HAVE_SCROLLWHEEL) && (CONFIG_KEYPAD==IPOD_4G_PAD) && !defined(SIMULATOR)) | ||
2319 | extern bool wheel_is_touched; | ||
2320 | extern int old_wheel_value; | ||
2321 | extern int new_wheel_value; | ||
2322 | extern int wheel_delta; | ||
2323 | extern unsigned int accumulated_wheel_delta; | ||
2324 | extern unsigned int wheel_velocity; | ||
2325 | |||
2326 | static bool dbg_scrollwheel(void) | ||
2327 | { | ||
2328 | char buf[64]; | ||
2329 | unsigned int speed; | ||
2330 | |||
2331 | lcd_setmargins(0, 0); | ||
2332 | lcd_setfont(FONT_SYSFIXED); | ||
2333 | |||
2334 | while (1) | ||
2335 | { | ||
2336 | if (action_userabort(HZ/10)) | ||
2337 | return false; | ||
2338 | |||
2339 | lcd_clear_display(); | ||
2340 | |||
2341 | /* show internal variables of scrollwheel driver */ | ||
2342 | snprintf(buf, sizeof(buf), "wheel touched: %s", (wheel_is_touched) ? "true" : "false"); | ||
2343 | lcd_puts(0, 0, buf); | ||
2344 | snprintf(buf, sizeof(buf), "new position: %2d", new_wheel_value); | ||
2345 | lcd_puts(0, 1, buf); | ||
2346 | snprintf(buf, sizeof(buf), "old position: %2d", old_wheel_value); | ||
2347 | lcd_puts(0, 2, buf); | ||
2348 | snprintf(buf, sizeof(buf), "wheel delta: %2d", wheel_delta); | ||
2349 | lcd_puts(0, 3, buf); | ||
2350 | snprintf(buf, sizeof(buf), "accumulated delta: %2d", accumulated_wheel_delta); | ||
2351 | lcd_puts(0, 4, buf); | ||
2352 | snprintf(buf, sizeof(buf), "velo [deg/s]: %4d", (int)wheel_velocity); | ||
2353 | lcd_puts(0, 5, buf); | ||
2354 | |||
2355 | /* show effective accelerated scrollspeed */ | ||
2356 | speed = button_apply_acceleration( (1<<31)|(1<<24)|wheel_velocity); | ||
2357 | snprintf(buf, sizeof(buf), "accel. speed: %4d", speed); | ||
2358 | lcd_puts(0, 6, buf); | ||
2359 | |||
2360 | lcd_update(); | ||
2361 | } | ||
2362 | return false; | ||
2363 | } | ||
2364 | #endif | ||
2254 | 2365 | ||
2255 | 2366 | ||
2256 | /****** The menu *********/ | 2367 | /****** The menu *********/ |
@@ -2269,6 +2380,9 @@ static const struct the_menu_item menuitems[] = { | |||
2269 | #if CONFIG_CPU == SH7034 || defined(CPU_COLDFIRE) || defined(CPU_PP) || CONFIG_CPU == S3C2440 | 2380 | #if CONFIG_CPU == SH7034 || defined(CPU_COLDFIRE) || defined(CPU_PP) || CONFIG_CPU == S3C2440 |
2270 | { "View I/O ports", dbg_ports }, | 2381 | { "View I/O ports", dbg_ports }, |
2271 | #endif | 2382 | #endif |
2383 | #if CONFIG_RTC == RTC_PCF50605 | ||
2384 | { "View PCF registers", dbg_pcf }, | ||
2385 | #endif | ||
2272 | #if defined(HAVE_TSC2100) && !defined(SIMULATOR) | 2386 | #if defined(HAVE_TSC2100) && !defined(SIMULATOR) |
2273 | { "TSC2100 debug", tsc2100_debug }, | 2387 | { "TSC2100 debug", tsc2100_debug }, |
2274 | #endif | 2388 | #endif |
@@ -2328,6 +2442,9 @@ static const struct the_menu_item menuitems[] = { | |||
2328 | #ifdef CPU_BOOST_LOGGING | 2442 | #ifdef CPU_BOOST_LOGGING |
2329 | {"cpu_boost log",cpu_boost_log}, | 2443 | {"cpu_boost log",cpu_boost_log}, |
2330 | #endif | 2444 | #endif |
2445 | #if (defined(HAVE_SCROLLWHEEL) && (CONFIG_KEYPAD==IPOD_4G_PAD) && !defined(SIMULATOR)) | ||
2446 | {"Debug scrollwheel", dbg_scrollwheel}, | ||
2447 | #endif | ||
2331 | }; | 2448 | }; |
2332 | static int menu_action_callback(int btn, struct gui_synclist *lists) | 2449 | static int menu_action_callback(int btn, struct gui_synclist *lists) |
2333 | { | 2450 | { |