diff options
author | Boris Gjenero <dreamlayers@rockbox.org> | 2009-04-19 22:06:17 +0000 |
---|---|---|
committer | Boris Gjenero <dreamlayers@rockbox.org> | 2009-04-19 22:06:17 +0000 |
commit | 88b509b7d258c820f2eeda513524acbf76dcaaf5 (patch) | |
tree | 0097638dc41a0a25782370603f01c62407e7d913 /firmware/target | |
parent | 01ada299a3219165d4dc49fc102c47f40a6a2fb0 (diff) |
Fix FS#9926 - On Photo and Color iPods, correct check for whether battery is charging
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20752 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target')
-rw-r--r-- | firmware/target/arm/ipod/power-ipod.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/firmware/target/arm/ipod/power-ipod.c b/firmware/target/arm/ipod/power-ipod.c index 2de10c7f0b..1ae2d37b76 100644 --- a/firmware/target/arm/ipod/power-ipod.c +++ b/firmware/target/arm/ipod/power-ipod.c @@ -77,7 +77,16 @@ unsigned int power_input_status(void) /* Returns true if the unit is charging the batteries. */ bool charging_state(void) { +#if defined(IPOD_COLOR) + /* 0x70000088 appears to be the input value for GPO32 bits. + Write a zero to 0x70000088 before reading. + To enable input set the corresponding 0x7000008C bit, + and clear the corresponding GPO32_ENABLE bit. */ + outl(0, 0x70000088); + return (inl(0x70000088) & 1)?false:true; +#else return (GPIOB_INPUT_VAL & 0x01)?false:true; +#endif } #endif /* CONFIG_CHARGING */ |