Re: [PATCH v2 0/3] ChromeOS Embedded Controller charge control driver

From: Dustin Howett
Date: Sun Jun 02 2024 - 19:40:39 EST


On Tue, May 28, 2024 at 3:05 PM Thomas Weißschuh <linux@xxxxxxxxxxxxxx> wrote:
>
> Add a power supply driver that supports charge thresholds and behaviour
> configuration.
>
> This is a complete rework of
> "platform/chrome: cros_ec_framework_laptop: new driver" [0], which used
> Framework specific EC commands.
>
> The driver propsed in this series only uses upstream CrOS functionality.
>
> Tested on a Framework 13 AMD, Firmware 3.05.
>

I've tested this out on the Framework Laptop 13, 11th gen intel core
and AMD Ryzen 7040 editions.

The problem is that the AMD framework laptop *reports* support for the
CrOS charge controller, but it does not truly support it.
As with the 11th Gen Intel Core (and by proxy the 12th, 13th) it still
does require the OEM-specific command.

This is evinced by a mismatch between the firmware-configured value
and the value reported by the charge control subsystem through this
driver.

$ cat /sys/class/power_supply/BAT1/charge_control_end_threshold
100

$ ectool raw 0x3E03 b8 # OEM command 0x3E03 with BIT(3) in the payload
is Framework's charge limit query host command
Read 2 bytes
50 00 |P. |
(in my case, 80 in decimal)

The charge limit is managed at [1], and it does not appear to
integrate with the standard charge control machinery.

I'll pursue getting this board not to report support for CrOS charge
control. This driver is still entirely fit for purpose, just not for
this board.

Cheers,
d