Skip to content

Commit 62be134

Browse files
DHowettTzung-Bi Shih
authored andcommitted
platform/chrome: cros_ec_lpc: switch primary DMI data for Framework Laptop
Framework Computer appears to be moving away from the Microchip embedded controller seen in the Framework Laptop 13 with Intel Core 11th, 12th and 13th generation processors. All newer models use a Nuvoton NPCX embedded controller. Changing the default DMI match for Framework's products to match their newer product lines will reduce churn in this part of the cros_ec_lpc driver. The new match tables are: - Microchip EC models - "Laptop" (product, exact match) for the 11th gen. Intel Core - "12th Gen Intel Core" (product, exact match) - "13th Gen Intel Core" (product, exact match) - Nuvoton NPCX models - "Laptop" (product family, partial match) Signed-off-by: Dustin L. Howett <[email protected]> Reviewed-by: Alexandru M Stan <[email protected]> Link: https://lore.kernel.org/r/20240806-platform-chrome-cros_ec_lpcs-change-the-default-disposition-of-the-framework-laptop-v1-1-09e0d602b215@howett.net Signed-off-by: Tzung-Bi Shih <[email protected]>
1 parent de9c2c6 commit 62be134

File tree

1 file changed

+27
-9
lines changed

1 file changed

+27
-9
lines changed

drivers/platform/chrome/cros_ec_lpc.c

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -631,12 +631,12 @@ static const struct acpi_device_id cros_ec_lpc_acpi_device_ids[] = {
631631
};
632632
MODULE_DEVICE_TABLE(acpi, cros_ec_lpc_acpi_device_ids);
633633

634-
static const struct lpc_driver_data framework_laptop_amd_lpc_driver_data __initconst = {
634+
static const struct lpc_driver_data framework_laptop_npcx_lpc_driver_data __initconst = {
635635
.quirks = CROS_EC_LPC_QUIRK_REMAP_MEMORY,
636636
.quirk_mmio_memory_base = 0xE00,
637637
};
638638

639-
static const struct lpc_driver_data framework_laptop_11_lpc_driver_data __initconst = {
639+
static const struct lpc_driver_data framework_laptop_mec_lpc_driver_data __initconst = {
640640
.quirks = CROS_EC_LPC_QUIRK_ACPI_ID|CROS_EC_LPC_QUIRK_AML_MUTEX,
641641
.quirk_acpi_id = "PNP0C09",
642642
.quirk_aml_mutex_name = "ECMT",
@@ -696,21 +696,39 @@ static const struct dmi_system_id cros_ec_lpc_dmi_table[] __initconst = {
696696
},
697697
/* A small number of non-Chromebook/box machines also use the ChromeOS EC */
698698
{
699-
/* the Framework Laptop 13 (AMD Ryzen) and 16 (AMD Ryzen) */
699+
/* Framework Laptop (11th Gen Intel Core) */
700700
.matches = {
701701
DMI_MATCH(DMI_SYS_VENDOR, "Framework"),
702-
DMI_MATCH(DMI_PRODUCT_NAME, "AMD Ryzen"),
703-
DMI_MATCH(DMI_PRODUCT_FAMILY, "Laptop"),
702+
DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Laptop"),
703+
},
704+
.driver_data = (void *)&framework_laptop_mec_lpc_driver_data,
705+
},
706+
{
707+
/* Framework Laptop (12th Gen Intel Core) */
708+
.matches = {
709+
DMI_MATCH(DMI_SYS_VENDOR, "Framework"),
710+
DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "12th Gen Intel Core"),
711+
},
712+
.driver_data = (void *)&framework_laptop_mec_lpc_driver_data,
713+
},
714+
{
715+
/* Framework Laptop (13th Gen Intel Core) */
716+
.matches = {
717+
DMI_MATCH(DMI_SYS_VENDOR, "Framework"),
718+
DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "13th Gen Intel Core"),
704719
},
705-
.driver_data = (void *)&framework_laptop_amd_lpc_driver_data,
720+
.driver_data = (void *)&framework_laptop_mec_lpc_driver_data,
706721
},
707722
{
708-
/* the Framework Laptop (Intel 11th, 12th, 13th Generation) */
723+
/*
724+
* All remaining Framework Laptop models (13 AMD Ryzen, 16 AMD
725+
* Ryzen, Intel Core Ultra)
726+
*/
709727
.matches = {
710728
DMI_MATCH(DMI_SYS_VENDOR, "Framework"),
711-
DMI_MATCH(DMI_PRODUCT_NAME, "Laptop"),
729+
DMI_MATCH(DMI_PRODUCT_FAMILY, "Laptop"),
712730
},
713-
.driver_data = (void *)&framework_laptop_11_lpc_driver_data,
731+
.driver_data = (void *)&framework_laptop_npcx_lpc_driver_data,
714732
},
715733
{ /* sentinel */ }
716734
};

0 commit comments

Comments
 (0)