[PATCH v2 0/2] platform/chrome: add support for the Framework Laptop

From: Dustin L. Howett
Date: Wed Jan 26 2022 - 13:00:26 EST


This patch series adds support for the Framework Laptop to the cros_ec
LPC driver.

The Framework Laptop is a non-Chromebook laptop that uses the ChromeOS
Embedded Controller. Since the machine was designed to present a more
normal device profile, it does not report all 512 I/O ports that are
typically used by cros_ec_lpcs. Because of this, changes to the driver's
port reservation scheme were required.

Since this EC driver probes the MEC range first, and uses only the MEC
range if that probe succeeds[^1], we can get by without requesting the
entire port range required by non-MEC embedded controllers until
absolutely necessary.

[^1]: this includes "memory mapped" read - where the traditional LPC EC
requires I/O ports 0x900-0x9FF, the MEC EC multiplexes reads/writes
over the same eight ports, 0x800-0x807.

Changelog in v2:
Cleaned up the commit subjects per request.

Dustin L. Howett (2):
platform/chrome: cros_ec_lpcs: detect the Framework Laptop
platform/chrome: cros_ec_lpcs: reserve the MEC LPC I/O ports first

drivers/platform/chrome/cros_ec_lpc.c | 47 ++++++++++-----
include/linux/platform_data/cros_ec_commands.h | 4 +
2 files changed, 38 insertions(+), 13 deletions(-)

--
2.34.1