diff options
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) | |||
77 | 77 | ||
78 | /* Returns true if the unit is charging the batteries. */ | 78 | /* Returns true if the unit is charging the batteries. */ |
79 | bool charging_state(void) { | 79 | bool charging_state(void) { |
80 | #if defined(IPOD_COLOR) | ||
81 | /* 0x70000088 appears to be the input value for GPO32 bits. | ||
82 | Write a zero to 0x70000088 before reading. | ||
83 | To enable input set the corresponding 0x7000008C bit, | ||
84 | and clear the corresponding GPO32_ENABLE bit. */ | ||
85 | outl(0, 0x70000088); | ||
86 | return (inl(0x70000088) & 1)?false:true; | ||
87 | #else | ||
80 | return (GPIOB_INPUT_VAL & 0x01)?false:true; | 88 | return (GPIOB_INPUT_VAL & 0x01)?false:true; |
89 | #endif | ||
81 | } | 90 | } |
82 | #endif /* CONFIG_CHARGING */ | 91 | #endif /* CONFIG_CHARGING */ |
83 | 92 | ||