summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaurus Cuelenaere <mcuelenaere@gmail.com>2010-01-03 13:07:30 +0000
committerMaurus Cuelenaere <mcuelenaere@gmail.com>2010-01-03 13:07:30 +0000
commitf15e6ff061f716b576851c1001625c09c5d62a24 (patch)
treee7690cb4e9c5228868d30609f0bfb4084f556df1
parentf6017773a69aded80b427c63514e798d4199463f (diff)
downloadrockbox-f15e6ff061f716b576851c1001625c09c5d62a24.tar.gz
rockbox-f15e6ff061f716b576851c1001625c09c5d62a24.zip
Onda VX747: fix USB charging detection
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24160 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/mips/ingenic_jz47xx/onda_vx747/power-onda_vx747.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/firmware/target/mips/ingenic_jz47xx/onda_vx747/power-onda_vx747.c b/firmware/target/mips/ingenic_jz47xx/onda_vx747/power-onda_vx747.c
index 19d634873c..e2e66c86ac 100644
--- a/firmware/target/mips/ingenic_jz47xx/onda_vx747/power-onda_vx747.c
+++ b/firmware/target/mips/ingenic_jz47xx/onda_vx747/power-onda_vx747.c
@@ -24,18 +24,21 @@
24#include "jz4740.h" 24#include "jz4740.h"
25 25
26/* TQ7051 chip */ 26/* TQ7051 chip */
27#define UNK_GPIO (32*1+30) /* STAT port */ 27#define CHARGE_STAT_GPIO (32*1+30) /* STAT port */
28#define USB_CHARGER_GPIO (32*3+28) 28#define USB_CHARGER_GPIO (32*3+28)
29 29
30#if CONFIG_CHARGING 30#if CONFIG_CHARGING
31/* Detect which power sources are present. */ 31/* Detect which power sources are present. */
32unsigned int power_input_status(void) 32unsigned int power_input_status(void)
33{ 33{
34 unsigned int status = 0; 34 unsigned int status = POWER_INPUT_NONE;
35 35
36 if (__gpio_get_pin(USB_CHARGER_GPIO)) 36 if (__gpio_get_pin(USB_CHARGER_GPIO))
37 status |= POWER_INPUT_USB_CHARGER; 37 status |= POWER_INPUT_USB_CHARGER;
38 38
39 if(!__gpio_get_pin(CHARGE_STAT_GPIO))
40 status |= POWER_INPUT_USB;
41
39 return status; 42 return status;
40} 43}
41#endif 44#endif
@@ -43,11 +46,12 @@ unsigned int power_input_status(void)
43void power_init(void) 46void power_init(void)
44{ 47{
45 __gpio_as_input(USB_CHARGER_GPIO); 48 __gpio_as_input(USB_CHARGER_GPIO);
49 __gpio_as_input(CHARGE_STAT_GPIO);
46} 50}
47 51
48bool charging_state(void) 52bool charging_state(void)
49{ 53{
50 return false; 54 return power_input_status() & POWER_INPUT_USB;
51} 55}
52 56
53#if CONFIG_TUNER 57#if CONFIG_TUNER