From 93d6ba0889d0247ac264172858ef57698c960464 Mon Sep 17 00:00:00 2001 From: Alexey Kharlamov Date: Tue, 9 Jan 2018 00:50:06 +0300 Subject: ec/lenovo/h8: Implement ACPI methods to set battery thresholds There are two known reverse-engineered ways to manage battery thresholds. This patch implements them and adds a way to enable them for different mainboards. Tested on W530 with 4.18.3-gentoo kernel and X220 with 4.20.11. Works fine with new Linux userspace API for controlling battery thresholds, available since 4.17. (/sys/class/power_supply/BAT0/charge_(start|stop)_threshold). The new API is supported by TLP (you might need to set NATACPI_ENABLE=1 in /etc/tlp.conf). tpacpi-bat works fine too. Signed-off-by: Alexey Kharlamov Signed-off-by: Evgeny Zinoviev Change-Id: I2a90f9e9b32462b8a5e9bc8d3087ae0fea563ea5 Reviewed-on: https://review.coreboot.org/c/coreboot/+/23178 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Rudolph --- src/mainboard/lenovo/x201/Kconfig | 1 + src/mainboard/lenovo/x201/acpi/ec.asl | 3 +++ 2 files changed, 4 insertions(+) (limited to 'src/mainboard/lenovo/x201') diff --git a/src/mainboard/lenovo/x201/Kconfig b/src/mainboard/lenovo/x201/Kconfig index ca2556e7bc..69e20385bf 100644 --- a/src/mainboard/lenovo/x201/Kconfig +++ b/src/mainboard/lenovo/x201/Kconfig @@ -21,6 +21,7 @@ config BOARD_SPECIFIC_OPTIONS select MAINBOARD_HAS_TPM1 select INTEL_GMA_HAVE_VBT select MAINBOARD_USES_IFD_GBE_REGION + select H8_HAS_BAT_TRESHOLDS_IMPL config MAINBOARD_DIR string diff --git a/src/mainboard/lenovo/x201/acpi/ec.asl b/src/mainboard/lenovo/x201/acpi/ec.asl index d631f121fb..411a0ece82 100644 --- a/src/mainboard/lenovo/x201/acpi/ec.asl +++ b/src/mainboard/lenovo/x201/acpi/ec.asl @@ -19,3 +19,6 @@ Scope(\_SB.PCI0.LPCB.EC) { } + +#define H8_BAT_THRESHOLDS_BIT7 +#include -- cgit v1.2.3