diff options
author | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2009-02-16 22:49:58 +0000 |
---|---|---|
committer | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2009-02-16 22:49:58 +0000 |
commit | 360d3d720b87f2029c399a468294838a71181f64 (patch) | |
tree | fec2a00b06d17c4fe8395757ab3df8399abf0972 /firmware/target/mips | |
parent | 67a5c56103f5f57d778be90a6babdf5726295bfd (diff) | |
download | rockbox-360d3d720b87f2029c399a468294838a71181f64.tar.gz rockbox-360d3d720b87f2029c399a468294838a71181f64.zip |
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
Diffstat (limited to 'firmware/target/mips')
3 files changed, 18 insertions, 18 deletions
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 @@ | |||
28 | #include "kernel.h" | 28 | #include "kernel.h" |
29 | #include "font.h" | 29 | #include "font.h" |
30 | #include "button.h" | 30 | #include "button.h" |
31 | #include "timefuncs.h" | ||
31 | 32 | ||
32 | static int line = 0; | 33 | static int line = 0; |
33 | static void printf(const char *format, ...) | 34 | static void printf(const char *format, ...) |
@@ -150,6 +151,7 @@ bool __dbg_ports(void) | |||
150 | bool __dbg_hw_info(void) | 151 | bool __dbg_hw_info(void) |
151 | { | 152 | { |
152 | int btn = 0, touch; | 153 | int btn = 0, touch; |
154 | struct tm *cur_time; | ||
153 | 155 | ||
154 | lcd_setfont(FONT_SYSFIXED); | 156 | lcd_setfont(FONT_SYSFIXED); |
155 | while(btn ^ BUTTON_POWER) | 157 | while(btn ^ BUTTON_POWER) |
@@ -159,7 +161,11 @@ bool __dbg_hw_info(void) | |||
159 | display_clocks(); | 161 | display_clocks(); |
160 | display_enabled_clocks(); | 162 | display_enabled_clocks(); |
161 | btn = button_read_device(&touch); | 163 | btn = button_read_device(&touch); |
164 | cur_time = get_time(); | ||
162 | printf("X: %d Y: %d BTN: 0x%X", touch>>16, touch&0xFFFF, btn); | 165 | printf("X: %d Y: %d BTN: 0x%X", touch>>16, touch&0xFFFF, btn); |
166 | printf("%02d/%02d/%04d %02d:%02d:%02d", cur_time->tm_mday, | ||
167 | cur_time->tm_mon, cur_time->tm_year, cur_time->tm_hour, | ||
168 | cur_time->tm_min, cur_time->tm_sec); | ||
163 | lcd_update(); | 169 | lcd_update(); |
164 | sleep(HZ/16); | 170 | sleep(HZ/16); |
165 | } | 171 | } |
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] = | |||
108 | /* Returns battery voltage from ADC [millivolts] */ | 108 | /* Returns battery voltage from ADC [millivolts] */ |
109 | unsigned int battery_adc_voltage(void) | 109 | unsigned int battery_adc_voltage(void) |
110 | { | 110 | { |
111 | unsigned int val, i; | 111 | unsigned int dummy, timeout=1000; |
112 | 112 | ||
113 | mutex_lock(&battery_mtx); | 113 | mutex_lock(&battery_mtx); |
114 | 114 | ||
115 | val = REG_SADC_BATDAT; | 115 | dummy = REG_SADC_BATDAT; |
116 | val = REG_SADC_BATDAT; | 116 | dummy = REG_SADC_BATDAT; |
117 | 117 | ||
118 | REG_SADC_ENA |= SADC_ENA_PBATEN; | 118 | REG_SADC_ENA |= SADC_ENA_PBATEN; |
119 | for(i=0; i<4; i++) | 119 | bat_val = 0; |
120 | { | ||
121 | bat_val = 0; | ||
122 | |||
123 | /* primitive wakeup event */ | ||
124 | while(bat_val == 0) | ||
125 | sleep(0); | ||
126 | |||
127 | val += bat_val; | ||
128 | } | ||
129 | REG_SADC_ENA &= ~SADC_ENA_PBATEN; | ||
130 | 120 | ||
131 | val /= 4; | 121 | /* primitive wakeup event */ |
122 | while(bat_val == 0 && timeout--) | ||
123 | sleep(0); | ||
132 | 124 | ||
133 | logf("%d %d %d", val, (val*BATTERY_SCALE_FACTOR)>>12, | 125 | logf("%d %d", bat_val, (bat_val*BATTERY_SCALE_FACTOR)>>12); |
134 | (val*0xAAAAAAAB >> 32) >> 1); | ||
135 | 126 | ||
136 | mutex_unlock(&battery_mtx); | 127 | mutex_unlock(&battery_mtx); |
137 | 128 | ||
138 | return (val*BATTERY_SCALE_FACTOR)>>12; | 129 | return (bat_val*BATTERY_SCALE_FACTOR)>>12; |
139 | } | 130 | } |
140 | 131 | ||
141 | void button_init_device(void) | 132 | 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) | |||
509 | 509 | ||
510 | void power_off(void) | 510 | void power_off(void) |
511 | { | 511 | { |
512 | /* Enable RTC clock */ | ||
513 | __cpm_start_rtc(); | ||
514 | |||
512 | /* Put system into hibernate mode */ | 515 | /* Put system into hibernate mode */ |
513 | __rtc_clear_alarm_flag(); | 516 | __rtc_clear_alarm_flag(); |
514 | __rtc_clear_hib_stat_all(); | 517 | __rtc_clear_hib_stat_all(); |