summaryrefslogtreecommitdiff
path: root/src/mainboard/lenovo/x201
diff options
context:
space:
mode:
authorAlexey Kharlamov <der@2-47.ru>2018-01-09 00:50:06 +0300
committerPatrick Georgi <pgeorgi@google.com>2019-03-06 20:00:00 +0000
commit93d6ba0889d0247ac264172858ef57698c960464 (patch)
treee71b9c4fc4afd1c31a60f6b406bcc6b741fed536 /src/mainboard/lenovo/x201
parentb697c90a4c7bf8ae2c693af538b6573fd469228a (diff)
downloadcoreboot-93d6ba0889d0247ac264172858ef57698c960464.tar.xz
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 <der@2-47.ru> Signed-off-by: Evgeny Zinoviev <me@ch1p.com> Change-Id: I2a90f9e9b32462b8a5e9bc8d3087ae0fea563ea5 Reviewed-on: https://review.coreboot.org/c/coreboot/+/23178 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Rudolph <siro@das-labor.org>
Diffstat (limited to 'src/mainboard/lenovo/x201')
-rw-r--r--src/mainboard/lenovo/x201/Kconfig1
-rw-r--r--src/mainboard/lenovo/x201/acpi/ec.asl3
2 files changed, 4 insertions, 0 deletions
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 <ec/lenovo/h8/acpi/thinkpad_bat_thresholds_24.asl>