From e5c815272dc8436f487c3b6ed238d80910f0fde0 Mon Sep 17 00:00:00 2001 From: Michael Sparmann Date: Wed, 17 Feb 2010 15:57:53 +0000 Subject: [PATCH] Add more information to the battery debug screen for Nano2G git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24723 a1c6a512-1295-4272-9138-f99709370657 --- apps/debug_menu.c | 22 +++++ apps/plugins/SOURCES | 11 +++ apps/plugins/battery_bench.c | 2 +- apps/plugins/doom/doom.make | 2 +- apps/plugins/plugin.lds | 4 +- bootloader/ipodnano2g.c | 4 +- firmware/panic.c | 2 +- firmware/target/arm/s5l8700/app.lds | 4 +- firmware/target/arm/s5l8700/crt0.S | 96 +++++++++---------- firmware/target/arm/s5l8700/debug-s5l8700.c | 3 + .../arm/s5l8700/ipodnano2g/power-nano2g.c | 2 +- 11 files changed, 94 insertions(+), 58 deletions(-) diff --git a/apps/debug_menu.c b/apps/debug_menu.c index aba3964369..c8f7cf14f0 100644 --- a/apps/debug_menu.c +++ b/apps/debug_menu.c @@ -1648,6 +1648,28 @@ static bool view_battery(void) #elif defined(IPOD_NANO2G) y = pmu_read_battery_current(); lcd_putsf(0, 2, "Battery current: %d mA", y); + lcd_putsf(0, 3, "PWRCON: %8x", PWRCON); + lcd_putsf(0, 4, "PWRCONEXT: %8x", PWRCONEXT); + x = pmu_read(0x1b) & 0xf; + y = pmu_read(0x1a) * 25 + 625; + lcd_putsf(0, 5, "AUTO: %x / %d mV", x, y); + x = pmu_read(0x1f) & 0xf; + y = pmu_read(0x1e) * 25 + 625; + lcd_putsf(0, 6, "DOWN1: %x / %d mV", x, y); + x = pmu_read(0x23) & 0xf; + y = pmu_read(0x22) * 25 + 625; + lcd_putsf(0, 7, "DOWN2: %x / %d mV", x, y); + x = pmu_read(0x27) & 0xf; + y = pmu_read(0x26) * 100 + 900; + lcd_putsf(0, 8, "MEMLDO: %x / %d mV", x, y); + for (i = 0; i < 6; i++) + { + x = pmu_read(0x2e + (i << 1)) & 0xf; + y = pmu_read(0x2d + (i << 1)) * 100 + 900; + lcd_putsf(0, 9 + i, "LDO%d: %x / %d mV", i + 1, x, y); + } + lcd_putsf(0, 15, "CLKCON: %8x", CLKCON); + lcd_putsf(17, 15, "PLL0: %6x", PLL0PMS); #else lcd_putsf(0, 3, "Charger: %s", charger_inserted() ? "present" : "absent"); diff --git a/apps/plugins/SOURCES b/apps/plugins/SOURCES index da906e6967..34940b4ee4 100644 --- a/apps/plugins/SOURCES +++ b/apps/plugins/SOURCES @@ -179,3 +179,14 @@ md5sum.c #ifdef USB_ENABLE_HID remote_control.c #endif + +test_codec.c +test_core_jpeg.c +test_disk.c +test_fps.c +test_gfx.c +test_mem_jpeg.c +test_resize.c +test_sampr.c +test_scanrate.c +test_viewports.c diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c index e4e399ff7b..6eda335bc7 100644 --- a/apps/plugins/battery_bench.c +++ b/apps/plugins/battery_bench.c @@ -30,7 +30,7 @@ PLUGIN_HEADER #define EV_EXIT 1337 /* seems to work with 1300, but who knows... */ -#define THREAD_STACK_SIZE DEFAULT_STACK_SIZE + 0x200 +#define THREAD_STACK_SIZE DEFAULT_STACK_SIZE + 0x1200 #if CONFIG_KEYPAD == RECORDER_PAD diff --git a/apps/plugins/doom/doom.make b/apps/plugins/doom/doom.make index bdc32230eb..af302fa5bb 100644 --- a/apps/plugins/doom/doom.make +++ b/apps/plugins/doom/doom.make @@ -10,7 +10,7 @@ DOOMSRCDIR := $(APPSDIR)/plugins/doom DOOMBUILDDIR := $(BUILDDIR)/apps/plugins/doom -ROCKS += $(DOOMBUILDDIR)/doom.rock +#ROCKS += $(DOOMBUILDDIR)/doom.rock DOOM_SRC := $(call preprocess, $(DOOMSRCDIR)/SOURCES) DOOM_SRC += $(ROOTDIR)/firmware/common/sscanf.c diff --git a/apps/plugins/plugin.lds b/apps/plugins/plugin.lds index fe38b646d9..436f8b4447 100644 --- a/apps/plugins/plugin.lds +++ b/apps/plugins/plugin.lds @@ -142,8 +142,8 @@ OUTPUT_FORMAT(elf32-littlemips) #elif CONFIG_CPU==S5L8700 #define DRAMORIG 0x08000000 -#define IRAMORIG (0x00000000 + (64*1024)) -#define IRAMSIZE (64*1024) +#define IRAMORIG (0x00000000 + (128*1024)) +#define IRAMSIZE (128*1024) #elif CONFIG_CPU==S5L8701 #define DRAMORIG 0x08000000 diff --git a/bootloader/ipodnano2g.c b/bootloader/ipodnano2g.c index 020da207bd..14b5bbce20 100644 --- a/bootloader/ipodnano2g.c +++ b/bootloader/ipodnano2g.c @@ -84,8 +84,8 @@ void fatal_error(void) } } -/* aes_decrypt() and readfw() functions taken from iloader - (C) - Michael Sparmann and licenced under GPL v2 or later. +/* aes_decrypt() and readfw() functions taken from iLoader. + (C) Michael Sparmann and licenced under GPL v2 or later. */ static void aes_decrypt(void* data, uint32_t size) diff --git a/firmware/panic.c b/firmware/panic.c index 9230337ba4..36eec67f12 100644 --- a/firmware/panic.c +++ b/firmware/panic.c @@ -32,7 +32,7 @@ #include "system.h" static char panic_buf[128]; -#define LINECHARS (LCD_WIDTH/SYSFONT_WIDTH) +#define LINECHARS (LCD_WIDTH/SYSFONT_WIDTH) - 2 /* * "Dude. This is pretty fucked-up, right here." diff --git a/firmware/target/arm/s5l8700/app.lds b/firmware/target/arm/s5l8700/app.lds index e431ee1fd7..ed47ad5643 100644 --- a/firmware/target/arm/s5l8700/app.lds +++ b/firmware/target/arm/s5l8700/app.lds @@ -28,7 +28,7 @@ STARTUP(target/arm/s5l8700/crt0.o) #define DRAMSIZE (DRAM_SIZE - STUBOFFSET - PLUGINSIZE - CODECSIZE) #define CODECORIG (ENDAUDIOADDR) #if CONFIG_CPU==S5L8700 -#define IRAMSIZE (64*1024) /* 128KB total - 64KB for core, 64KB for plugins */ +#define IRAMSIZE (128*1024) /* 256KB total - 128KB for core, 128KB for plugins */ #else /* S5L8701 */ #define IRAMSIZE (96*1024) /* 176KB total - 96KB for core, 80KB for plugins */ #endif @@ -108,7 +108,7 @@ SECTIONS stackbegin = .; _stackbegin = .; #ifdef IPOD_NANO2G - . += 0x4000; + . += 0x2000; #endif . += 0x2000; stackend = .; diff --git a/firmware/target/arm/s5l8700/crt0.S b/firmware/target/arm/s5l8700/crt0.S index bb6d910e22..fe2a2c1980 100644 --- a/firmware/target/arm/s5l8700/crt0.S +++ b/firmware/target/arm/s5l8700/crt0.S @@ -260,64 +260,64 @@ start_loc: #if defined(MEIZU_M6SP) || defined(MEIZU_M3) /* setup SDRAM for Meizu M6SP */ - ldr r1, =0x38200000 - // configure SDR drive strength and pad settings + ldr r1, =0x38200000 + // configure SDR drive strength and pad settings mov r0, #SDR_DSS_SEL_B - str r0, [r1, #0x4C] // MIU_DSS_SEL_B + str r0, [r1, #0x4C] // MIU_DSS_SEL_B mov r0, #SDR_DSS_SEL_O - str r0, [r1, #0x50] // MIU_DSS_SEL_O + str r0, [r1, #0x50] // MIU_DSS_SEL_O mov r0, #SDR_DSS_SEL_C - str r0, [r1, #0x54] // MIU_DSS_SEL_C - mov r0, #2 - str r0, [r1, #0x60] // SSTL2_PAD_ON - // select SDR mode + str r0, [r1, #0x54] // MIU_DSS_SEL_C + mov r0, #2 + str r0, [r1, #0x60] // SSTL2_PAD_ON + // select SDR mode ldr r0, [r1, #0x40] - mov r2, #0xFFFDFFFF - and r0, r0, r2 - orr r0, r0, #1 - str r0, [r1, #0x40] // MIUORG + mov r2, #0xFFFDFFFF + and r0, r0, r2 + orr r0, r0, #1 + str r0, [r1, #0x40] // MIUORG // set controller configuration mov r0, #SDR_CONFIG str r0, [r1] // MIUCON - // set SDRAM timing + // set SDRAM timing ldr r0, =SDR_TIMING - str r0, [r1, #0x10] // MIUSDPARA - // set refresh rate - mov r0, #0x1080 - str r0, [r1, #0x08] // MIUAREF - // initialise SDRAM - mov r0, #0x003 - str r0, [r1, #0x04] // MIUCOM = nop - ldr r0, =0x203 - str r0, [r1, #0x04] // MIUCOM = precharge all banks - nop - nop - nop - ldr r0, =0x303 - str r0, [r1, #0x04] // MIUCOM = auto-refresh - nop - nop - nop - nop - str r0, [r1, #0x04] // MIUCOM = auto-refresh - nop - nop - nop - nop - str r0, [r1, #0x04] // MIUCOM = auto-refresh - nop - nop - nop - nop - // set mode register + str r0, [r1, #0x10] // MIUSDPARA + // set refresh rate + mov r0, #0x1080 + str r0, [r1, #0x08] // MIUAREF + // initialise SDRAM + mov r0, #0x003 + str r0, [r1, #0x04] // MIUCOM = nop + ldr r0, =0x203 + str r0, [r1, #0x04] // MIUCOM = precharge all banks + nop + nop + nop + ldr r0, =0x303 + str r0, [r1, #0x04] // MIUCOM = auto-refresh + nop + nop + nop + nop + str r0, [r1, #0x04] // MIUCOM = auto-refresh + nop + nop + nop + nop + str r0, [r1, #0x04] // MIUCOM = auto-refresh + nop + nop + nop + nop + // set mode register mov r0, #SDR_MRS - str r0, [r1, #0x0C] // MIUMRS - ldr r0, =0x103 - str r0, [r1, #0x04] // MIUCOM = mode register set + str r0, [r1, #0x0C] // MIUMRS + ldr r0, =0x103 + str r0, [r1, #0x04] // MIUCOM = mode register set ldr r0, =SDR_EMRS - str r0, [r1, #0x0C] // MIUMRS - ldr r0, =0x103 - str r0, [r1, #0x04] // MIUCOM = mode register set + str r0, [r1, #0x0C] // MIUMRS + ldr r0, =0x103 + str r0, [r1, #0x04] // MIUCOM = mode register set #endif /* MEIZU_M6SP */ mov r1, #0x1 diff --git a/firmware/target/arm/s5l8700/debug-s5l8700.c b/firmware/target/arm/s5l8700/debug-s5l8700.c index fe04d142e3..51321760ec 100644 --- a/firmware/target/arm/s5l8700/debug-s5l8700.c +++ b/firmware/target/arm/s5l8700/debug-s5l8700.c @@ -92,6 +92,9 @@ bool __dbg_ports(void) _DEBUG_PRINTF("GPIO 11: %08x",(unsigned int)PDAT11); _DEBUG_PRINTF("GPIO 13: %08x",(unsigned int)PDAT13); _DEBUG_PRINTF("GPIO 14: %08x",(unsigned int)PDAT14); + _DEBUG_PRINTF("5USEC : %08x",(unsigned int)FIVE_USEC_TIMER); + _DEBUG_PRINTF("USEC : %08x",(unsigned int)USEC_TIMER); + _DEBUG_PRINTF("USECREG: %08x",(unsigned int)(*(REG32_PTR_T)(0x3C700084))); lcd_update(); if (button_get_w_tmo(HZ/10) == (DEBUG_CANCEL|BUTTON_REL)) diff --git a/firmware/target/arm/s5l8700/ipodnano2g/power-nano2g.c b/firmware/target/arm/s5l8700/ipodnano2g/power-nano2g.c index 419c71a867..0626a91514 100644 --- a/firmware/target/arm/s5l8700/ipodnano2g/power-nano2g.c +++ b/firmware/target/arm/s5l8700/ipodnano2g/power-nano2g.c @@ -48,7 +48,7 @@ void power_off(void) void power_init(void) { - /* TODO */ + pmu_write(0x1e, 15); /* Vcore = 1.000V */ } #if CONFIG_CHARGING