| # SPDX-License-Identifier: GPL-2.0-only |
| config WILCO_EC |
| tristate "ChromeOS Wilco Embedded Controller" |
| depends on X86 || COMPILE_TEST |
| depends on ACPI && CROS_EC_LPC && LEDS_CLASS |
| help |
| If you say Y here, you get support for talking to the ChromeOS |
| Wilco EC over an eSPI bus. This uses a simple byte-level protocol |
| with a checksum. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called wilco_ec. |
| |
| config WILCO_EC_DEBUGFS |
| tristate "Enable raw access to EC via debugfs" |
| depends on WILCO_EC |
| help |
| If you say Y here, you get support for sending raw commands to |
| the Wilco EC via debugfs. These commands do not do any byte |
| manipulation and allow for testing arbitrary commands. This |
| interface is intended for debug only and will not be present |
| on production devices. |
| |
| config WILCO_EC_EVENTS |
| tristate "Enable event forwarding from EC to userspace" |
| depends on WILCO_EC |
| help |
| If you say Y here, you get support for the EC to send events |
| (such as power state changes) to userspace. The EC sends the events |
| over ACPI, and a driver queues up the events to be read by a |
| userspace daemon from /dev/wilco_event using read() and poll(). |
| |
| config WILCO_EC_CHARGE_SCHEDULE |
| tristate "Enable Peak Shift and Advanced Battery Charging support" |
| depends on WILCO_EC |
| help |
| If you say Y here, you get support to control two charge-scheduling |
| policies managed by the EC, Peak Shift and Advanced Charging. Peak |
| Shift is a power saving policy that minimizes AC usage during the |
| peak-usage times of the day. Advanced Charging Mode maximizes battery |
| health by adjusting the charging algorithm throughout the day. For |
| userspace interface and more info see |
| Documentation/ABI/testing/sysfs-platform-wilco-ec |
| |
| config WILCO_EC_TELEMETRY |
| tristate "Enable querying telemetry data from EC" |
| depends on WILCO_EC |
| help |
| If you say Y here, you get support to query EC telemetry data from |
| /dev/wilco_telem0 using write() and then read(). |