summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/charge_manager.c23
-rw-r--r--common/usb_charger.c9
2 files changed, 31 insertions, 1 deletions
diff --git a/common/charge_manager.c b/common/charge_manager.c
index 804376f528..cdc3bc228b 100644
--- a/common/charge_manager.c
+++ b/common/charge_manager.c
@@ -42,8 +42,14 @@ test_mockable const int supplier_priority[] = {
[CHARGE_SUPPLIER_BC12_CDP] = 4,
[CHARGE_SUPPLIER_BC12_SDP] = 5,
[CHARGE_SUPPLIER_OTHER] = 6,
- [CHARGE_SUPPLIER_VBUS] = 7
+ [CHARGE_SUPPLIER_VBUS] = 7,
#endif
+#ifdef CONFIG_WIRELESS_CHARGER_P9221_R7
+ [CHARGE_SUPPLIER_WPC_BPP] = 6,
+ [CHARGE_SUPPLIER_WPC_EPP] = 6,
+ [CHARGE_SUPPLIER_WPC_GPP] = 6,
+#endif
+
};
BUILD_ASSERT(ARRAY_SIZE(supplier_priority) == CHARGE_SUPPLIER_COUNT);
@@ -333,13 +339,28 @@ static void charge_manager_fill_power_info(int port,
r->type = USB_CHG_TYPE_VBUS;
break;
#endif
+#ifdef CONFIG_WIRELESS_CHARGER_P9221_R7
+ /*
+ * Todo:need kernel add wpc device node in power_supply
+ * before that use USB_CHG_TYPE_PROPRIETARY to present WPC.
+ */
+ case CHARGE_SUPPLIER_WPC_BPP:
+ case CHARGE_SUPPLIER_WPC_EPP:
+ case CHARGE_SUPPLIER_WPC_GPP:
+ r->type = USB_CHG_TYPE_PROPRIETARY;
+ break;
+#endif
#if CONFIG_DEDICATED_CHARGE_PORT_COUNT > 0
case CHARGE_SUPPLIER_DEDICATED:
r->type = USB_CHG_TYPE_DEDICATED;
break;
#endif
default:
+#ifdef CONFIG_WIRELESS_CHARGER_P9221_R7
+ r->type = USB_CHG_TYPE_VBUS;
+#else
r->type = USB_CHG_TYPE_OTHER;
+#endif
}
r->meas.voltage_max = available_charge[sup][port].voltage;
diff --git a/common/usb_charger.c b/common/usb_charger.c
index 8b1c39647f..4d0d615a9b 100644
--- a/common/usb_charger.c
+++ b/common/usb_charger.c
@@ -97,6 +97,15 @@ void usb_charger_reset_charge(int port)
charge_manager_update_charge(CHARGE_SUPPLIER_DEDICATED,
port, NULL);
#endif
+#ifdef CONFIG_WIRELESS_CHARGER_P9221_R7
+ charge_manager_update_charge(CHARGE_SUPPLIER_WPC_BPP,
+ port, NULL);
+ charge_manager_update_charge(CHARGE_SUPPLIER_WPC_EPP,
+ port, NULL);
+ charge_manager_update_charge(CHARGE_SUPPLIER_WPC_GPP,
+ port, NULL);
+#endif
+
}
static void usb_charger_init(void)