power: supply: qcom_battmgr: report the USB type from USB_ADAP_TYPE
Subsystems (2)
PATCH v2 1/1 power: supply: qcom_battmgr: report the USB type from USB_ADAP_TYPE
On SM8350 and SM8550 class firmware the USB power supply reads its usb_type from the USB_TYPE property. On a Kaanapali (SM8850) tablet that property is 1 (SDP) whatever is plugged in, while USB_ADAP_TYPE reports the adapter, using the same numbering as POWER_SUPPLY_USB_TYPE_*:
PC port USB_TYPE 1 USB_ADAP_TYPE 1 (SDP) USB-C dock, 5 V PD USB_TYPE 1 USB_ADAP_TYPE 6 (PD) 65 W PPS charger USB_TYPE 1 USB_ADAP_TYPE 8 (PD_PPS)
Qualcomm's downstream qti_battery_charger driver also maps USB_ADAP_TYPE to POWER_SUPPLY_PROP_USB_TYPE.
Request USB_ADAP_TYPE for POWER_SUPPLY_PROP_USB_TYPE instead.
Tested on a Lenovo Legion Tab Y700 gen 5 (qcom,kaanapali-pmic-glink, which uses the SM8550 path). Only tested on this device; the SM8350 variant shares the property map and was not tested.
---
v2: add Fixes tag, collect Kamal's Reviewed-by
v1: https://lore.kernel.org/all/[email protected]/
drivers/power/supply/qcom_battmgr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/power/supply/qcom_battmgr.c +2 -2
@@ -975,7 +975,7 @@ static const u8 sm8350_usb_prop_map[] = { [POWER_SUPPLY_PROP_CURRENT_NOW] = USB_CURR_NOW, [POWER_SUPPLY_PROP_CURRENT_MAX] = USB_CURR_MAX, [POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT] = USB_INPUT_CURR_LIMIT, - [POWER_SUPPLY_PROP_USB_TYPE] = USB_TYPE, + [POWER_SUPPLY_PROP_USB_TYPE] = USB_ADAP_TYPE, }; static int qcom_battmgr_usb_sm8350_update(struct qcom_battmgr *battmgr,
@@ -1513,7 +1513,7 @@ static void qcom_battmgr_sm8350_callback(struct qcom_battmgr *battmgr,case USB_INPUT_CURR_LIMIT : battmgr->usb.current_limit =le32_to_cpu (resp->intval.value);break ; -case USB_TYPE : +case USB_ADAP_TYPE : battmgr->usb.usb_type =le32_to_cpu (resp->intval.value);break ;default :
Signature · 1 line
2.43.0
Quoted 18 lines · Joonhoe Kim
On SM8350 and SM8550 class firmware the USB power supply reads its
usb_typefrom theUSB_TYPEproperty. On a Kaanapali (SM8850) tablet that property is 1 (SDP) whatever is plugged in, whileUSB_ADAP_TYPEreports the adapter, using the same numbering as POWER_SUPPLY_USB_TYPE_*:PC port USB_TYPE 1 USB_ADAP_TYPE 1 (SDP) USB-C dock, 5 V PD USB_TYPE 1 USB_ADAP_TYPE 6 (PD) 65 W PPS charger USB_TYPE 1 USB_ADAP_TYPE 8 (PD_PPS)Qualcomm's downstream
qti_battery_chargerdriver also mapsUSB_ADAP_TYPEtoPOWER_SUPPLY_PROP_USB_TYPE.Request
USB_ADAP_TYPEforPOWER_SUPPLY_PROP_USB_TYPEinstead.Tested on a Lenovo Legion Tab Y700 gen 5 (qcom,kaanapali-pmic-glink, which uses the SM8550 path). Only tested on this device; the SM8350 variant shares the property map and was not tested.
Quoted 5 lines
Fixes 29e8142b5623 ("power: supply: Introduce Qualcomm PMIC GLINK power supply")Reviewed-by Kamal Wadhwa <[email protected]>Assisted-by LLMSigned-off-by Joonhoe Kim <[email protected]>---
Konrad
Sebastian Reichel
AppliedQuoted 10 lines · Joonhoe Kim
On SM8350 and SM8550 class firmware the USB power supply reads its
usb_typefrom theUSB_TYPEproperty. On a Kaanapali (SM8850) tablet that property is 1 (SDP) whatever is plugged in, whileUSB_ADAP_TYPEreports the adapter, using the same numbering as POWER_SUPPLY_USB_TYPE_*:PC port USB_TYPE 1 USB_ADAP_TYPE 1 (SDP) USB-C dock, 5 V PD USB_TYPE 1 USB_ADAP_TYPE 6 (PD) 65 W PPS charger USB_TYPE 1 USB_ADAP_TYPE 8 (PD_PPS)[...]
Applied, thanks!
[1/1] power: supply: qcom_battmgr: report the USB type from USB_ADAP_TYPE
commit: a49f86cd1333c6e12fd37bc0b3234ace10072553
Best regards,
Signature · 1 line
Sebastian Reichel <[email protected]>