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

From: Thomas Weißschuh
Date: Mon Jun 03 2024 - 17:01:07 EST


On 2024-06-02 18:40:18+0000, Dustin Howett wrote:
> 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.

Thanks!

> 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 surpising, it works on my machine, which is also a AMD 7040.

> 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.

Can you try disabling all of the Framework-specific charge control
settings and test again?
Probably the different, disparate logics in the Framework ECs are
conflicting with each other.

Thomas