summaryrefslogtreecommitdiff
path: root/firmware/target/mips
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/mips')
-rw-r--r--firmware/target/mips/ingenic_jz47xx/debug-jz4740.c6
-rw-r--r--firmware/target/mips/ingenic_jz47xx/onda_vx747/sadc-onda_vx747.c27
-rw-r--r--firmware/target/mips/ingenic_jz47xx/system-jz4740.c3
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
32static int line = 0; 33static int line = 0;
33static void printf(const char *format, ...) 34static void printf(const char *format, ...)
@@ -150,6 +151,7 @@ bool __dbg_ports(void)
150bool __dbg_hw_info(void) 151bool __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] */
109unsigned int battery_adc_voltage(void) 109unsigned 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
141void button_init_device(void) 132void 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
510void power_off(void) 510void 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();