xduoox3: Try to distinguish between "USB Plugged in" and "Charging"

Change-Id: I1879dbe6a95df215afa32012a72e1431c03a8653
This commit is contained in:
Solomon Peachy 2024-11-02 20:53:46 -04:00
parent 06986d27f0
commit f3026cd072

View file

@ -24,14 +24,18 @@
#include "cpu.h"
#define CHARGE_STAT_GPIO (32*1+6) /* STAT port */
#define PIN_USB_DET (32*4+19) /* USB connected */
/* Detect which power sources are present. */
unsigned int power_input_status(void)
{
int rval = POWER_INPUT_NONE;
if(!__gpio_get_pin(PIN_USB_DET))
rval |= POWER_INPUT_USB;
if(!__gpio_get_pin(CHARGE_STAT_GPIO))
return POWER_INPUT_USB_CHARGER;
rval |= POWER_INPUT_USB_CHARGER;
return POWER_INPUT_NONE;
return rval;
}
void power_init(void)
@ -42,5 +46,5 @@ void power_init(void)
bool charging_state(void)
{
return (power_input_status() == POWER_INPUT_USB_CHARGER);
return (power_input_status() & POWER_INPUT_USB_CHARGER);
}