From 360d3d720b87f2029c399a468294838a71181f64 Mon Sep 17 00:00:00 2001 From: Maurus Cuelenaere Date: Mon, 16 Feb 2009 22:49:58 +0000 Subject: Onda VX747: * Rework battery reading * Get power off back working * Add time to debug view * Convert TABs to spaces in firmware/export/mips*.h git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20024 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/mips/ingenic_jz47xx/debug-jz4740.c | 6 +++++ .../ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c | 27 ++++++++-------------- .../target/mips/ingenic_jz47xx/system-jz4740.c | 3 +++ 3 files changed, 18 insertions(+), 18 deletions(-) (limited to 'firmware/target/mips') diff --git a/firmware/target/mips/ingenic_jz47xx/debug-jz4740.c b/firmware/target/mips/ingenic_jz47xx/debug-jz4740.c index 2164f1d323..7b0b74ed0d 100644 --- a/firmware/target/mips/ingenic_jz47xx/debug-jz4740.c +++ b/firmware/target/mips/ingenic_jz47xx/debug-jz4740.c @@ -28,6 +28,7 @@ #include "kernel.h" #include "font.h" #include "button.h" +#include "timefuncs.h" static int line = 0; static void printf(const char *format, ...) @@ -150,6 +151,7 @@ bool __dbg_ports(void) bool __dbg_hw_info(void) { int btn = 0, touch; + struct tm *cur_time; lcd_setfont(FONT_SYSFIXED); while(btn ^ BUTTON_POWER) @@ -159,7 +161,11 @@ bool __dbg_hw_info(void) display_clocks(); display_enabled_clocks(); btn = button_read_device(&touch); + cur_time = get_time(); printf("X: %d Y: %d BTN: 0x%X", touch>>16, touch&0xFFFF, btn); + printf("%02d/%02d/%04d %02d:%02d:%02d", cur_time->tm_mday, + cur_time->tm_mon, cur_time->tm_year, cur_time->tm_hour, + cur_time->tm_min, cur_time->tm_sec); lcd_update(); sleep(HZ/16); } diff --git a/firmware/target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c b/firmware/target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c index f750efdf57..c6fffdec42 100644 --- a/firmware/target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c +++ b/firmware/target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c @@ -108,34 +108,25 @@ const unsigned short percent_to_volt_charge[11] = /* Returns battery voltage from ADC [millivolts] */ unsigned int battery_adc_voltage(void) { - unsigned int val, i; + unsigned int dummy, timeout=1000; mutex_lock(&battery_mtx); - val = REG_SADC_BATDAT; - val = REG_SADC_BATDAT; + dummy = REG_SADC_BATDAT; + dummy = REG_SADC_BATDAT; REG_SADC_ENA |= SADC_ENA_PBATEN; - for(i=0; i<4; i++) - { - bat_val = 0; - - /* primitive wakeup event */ - while(bat_val == 0) - sleep(0); - - val += bat_val; - } - REG_SADC_ENA &= ~SADC_ENA_PBATEN; + bat_val = 0; - val /= 4; + /* primitive wakeup event */ + while(bat_val == 0 && timeout--) + sleep(0); - logf("%d %d %d", val, (val*BATTERY_SCALE_FACTOR)>>12, - (val*0xAAAAAAAB >> 32) >> 1); + logf("%d %d", bat_val, (bat_val*BATTERY_SCALE_FACTOR)>>12); mutex_unlock(&battery_mtx); - return (val*BATTERY_SCALE_FACTOR)>>12; + return (bat_val*BATTERY_SCALE_FACTOR)>>12; } void button_init_device(void) diff --git a/firmware/target/mips/ingenic_jz47xx/system-jz4740.c b/firmware/target/mips/ingenic_jz47xx/system-jz4740.c index e37f17c73f..c029dd46bb 100644 --- a/firmware/target/mips/ingenic_jz47xx/system-jz4740.c +++ b/firmware/target/mips/ingenic_jz47xx/system-jz4740.c @@ -509,6 +509,9 @@ void system_exception_wait(void) void power_off(void) { + /* Enable RTC clock */ + __cpm_start_rtc(); + /* Put system into hibernate mode */ __rtc_clear_alarm_flag(); __rtc_clear_hib_stat_all(); -- cgit v1.2.3