]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
platform/chrome: cros_ec_lpc: Add quirks for Framework Laptop
authorBen Walsh <ben@jubnut.com>
Wed, 5 Jun 2024 06:33:51 +0000 (07:33 +0100)
committerTzung-Bi Shih <tzungbi@kernel.org>
Thu, 6 Jun 2024 03:11:52 +0000 (03:11 +0000)
For Framework Laptops with Microchip EC (MEC), use the ACPI id
"PNP0C09" to find the ACPI device, and AML mutex "ECMT" to protect EC
memory access.

Tested-by: Dustin L. Howett <dustin@howett.net>
Signed-off-by: Ben Walsh <ben@jubnut.com>
Link: https://lore.kernel.org/r/20240605063351.14836-6-ben@jubnut.com
Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
drivers/platform/chrome/cros_ec_lpc.c

index 5d9cc8df208bfc23b51b81233060888f78141d09..ebe9fb143840d2b86c8579c9561f090f3540c7d0 100644 (file)
@@ -636,6 +636,12 @@ static const struct lpc_driver_data framework_laptop_amd_lpc_driver_data __initc
        .quirk_mmio_memory_base = 0xE00,
 };
 
+static const struct lpc_driver_data framework_laptop_11_lpc_driver_data __initconst = {
+       .quirks = CROS_EC_LPC_QUIRK_ACPI_ID|CROS_EC_LPC_QUIRK_AML_MUTEX,
+       .quirk_acpi_id = "PNP0C09",
+       .quirk_aml_mutex_name = "ECMT",
+};
+
 static const struct dmi_system_id cros_ec_lpc_dmi_table[] __initconst = {
        {
                /*
@@ -704,6 +710,7 @@ static const struct dmi_system_id cros_ec_lpc_dmi_table[] __initconst = {
                        DMI_MATCH(DMI_SYS_VENDOR, "Framework"),
                        DMI_MATCH(DMI_PRODUCT_NAME, "Laptop"),
                },
+               .driver_data = (void *)&framework_laptop_11_lpc_driver_data,
        },
        { /* sentinel */ }
 };