Re: [PATCH 0/3] usb: typec: report a current limit for non-PD Rp-def sources
From: Heikki Krogerus
Date: Fri Oct 09 2026 - 07:22:03 EST
On Thu, Oct 01, 2026 at 10:51:12PM +0000, Amit Sunil Dhamne via B4 Relay wrote:
> As per Sec. 4.6.2.1 of the Type-C cable & connector spec when the
> source advertises Rp-default, the current limit is set as per the
> USB 2.0/USB 3.2 specification, BC1.2 specification as applicable or the
> PD negotiation.
>
> Reset value for the Input Current Limit register for the MAX77759
> charger is 500 mA. Prior to the max77759_charger driver, the battery
> would always charge at that limit since it wasn't re-programmed. Since
> the driver was introduced, for any non-PD source advertising Rp-default,
> the charger turns off as tcpm reports the current limit to be 0. The
> max77759_charger driver reads POWER_SUPPLY_PROP_CURRENT_MAX from the
> "tcpm-source" power supply that tcpm_set_current_limit() updates, and
> programs its input current limit from it. The limit is 0 because the
> tcpm doesn't have visibility on the USB data speed or BC1.2 detection.
> As a workaround for the Rp-default case, let the Type-C stack report a
> USB 2.0 current limit of 500 mA so that the behavior is at parity with
> what was before. This is until we implement a conduit for USB core to
> communicate with the Type-C stack.
>
> Signed-off-by: Amit Sunil Dhamne <amitsd@xxxxxxxxxx>
> ---
> Amit Sunil Dhamne (3):
> usb: typec: tcpm: only call get_current_limit() for cc=Rp-def
> usb: typec: tcpci: implement get_current_limit
> usb: typec: tcpci_maxim: implement get_current_limit
>
> drivers/usb/typec/tcpm/tcpci.c | 14 ++++++++++++++
> drivers/usb/typec/tcpm/tcpci_maxim_core.c | 15 +++++++++++++++
> drivers/usb/typec/tcpm/tcpm.c | 7 +++----
> include/linux/usb/tcpci.h | 6 ++++++
> 4 files changed, 38 insertions(+), 4 deletions(-)
> ---
> base-commit: 551c722f40809618230001baccf219193e22fc5a
> change-id: 20260918-max77759-icl-typec-8dfb9f83d712
>
> Best regards,
> --
> Amit Sunil Dhamne <amitsd@xxxxxxxxxx>
For the series:
Acked-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
--
heikki