summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/target/arm/rk27xx/hm60x/power-hm60x.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/firmware/target/arm/rk27xx/hm60x/power-hm60x.c b/firmware/target/arm/rk27xx/hm60x/power-hm60x.c
index 45cc390..538d00f 100644
--- a/firmware/target/arm/rk27xx/hm60x/power-hm60x.c
+++ b/firmware/target/arm/rk27xx/hm60x/power-hm60x.c
@@ -40,10 +40,18 @@ void power_init(void)
unsigned int power_input_status(void)
{
- return (usb_detect() == USB_INSERTED) ? POWER_INPUT_MAIN_CHARGER : POWER_INPUT_NONE;
+ unsigned int status = POWER_INPUT_NONE;
+
+ if (!(GPIO_PADR & 0x80))
+ status |= POWER_INPUT_MAIN_CHARGER;
+
+ if (usb_detect() == USB_INSERTED)
+ status |= POWER_INPUT_USB_CHARGER;
+
+ return status;
}
bool charging_state(void)
{
- return true;
+ return (bool)(!(GPIO_PADR & 0x80));
}