From 5156ec45330744654f6b5a0fa19bec44ddab2034 Mon Sep 17 00:00:00 2001 From: Sean Rhodes Date: Fri, 27 Feb 2026 21:57:29 +0000 Subject: [PATCH] mainboard/starlabs/adl: move SSDT hook to variant Replace the BOARD_STARLABS_LITE_ADL preprocessor hook with a weak baseboard function and provide the StarLite-specific SSDT generator from the i5 variant directory. Change-Id: Iea1a27fe1bf86bf970bd7021135760d8a1bc75a1 Signed-off-by: Sean Rhodes Reviewed-on: https://review.coreboot.org/c/coreboot/+/91460 Reviewed-by: Matt DeVillier Tested-by: build bot (Jenkins) --- src/mainboard/starlabs/adl/include/variants.h | 3 +++ src/mainboard/starlabs/adl/mainboard.c | 19 +++---------------- .../starlabs/adl/variants/i5/Makefile.mk | 1 + .../starlabs/adl/variants/i5/mainboard_ssdt.c | 16 ++++++++++++++++ 4 files changed, 23 insertions(+), 16 deletions(-) create mode 100644 src/mainboard/starlabs/adl/variants/i5/mainboard_ssdt.c diff --git a/src/mainboard/starlabs/adl/include/variants.h b/src/mainboard/starlabs/adl/include/variants.h index c95d15bd72..536ac891ae 100644 --- a/src/mainboard/starlabs/adl/include/variants.h +++ b/src/mainboard/starlabs/adl/include/variants.h @@ -3,6 +3,7 @@ #ifndef _BASEBOARD_VARIANTS_H_ #define _BASEBOARD_VARIANTS_H_ +#include #include /* @@ -14,4 +15,6 @@ const struct pad_config *variant_early_gpio_table(size_t *num); void devtree_update(void); +void starlabs_adl_mainboard_fill_ssdt(const struct device *dev); + #endif /* _BASEBOARD_VARIANTS_H_ */ diff --git a/src/mainboard/starlabs/adl/mainboard.c b/src/mainboard/starlabs/adl/mainboard.c index 8a3dadbc48..f8c9aea3ae 100644 --- a/src/mainboard/starlabs/adl/mainboard.c +++ b/src/mainboard/starlabs/adl/mainboard.c @@ -1,14 +1,8 @@ /* SPDX-License-Identifier: GPL-2.0-only */ -#if CONFIG(BOARD_STARLABS_LITE_ADL) -#include -#include -#endif - #include #include #include -#include #include static void init_mainboard(void *chip_info) @@ -22,21 +16,14 @@ static void init_mainboard(void *chip_info) devtree_update(); } -#if CONFIG(BOARD_STARLABS_LITE_ADL) -static void mainboard_fill_ssdt(const struct device *dev) +void __weak starlabs_adl_mainboard_fill_ssdt(const struct device *dev) { - enum ps2_action_key ps2_action_keys[2] = {PS2_KEY_VOL_DOWN, PS2_KEY_VOL_UP}; - - acpigen_ps2_keyboard_dsd("_SB.PCI0.PS2K", ARRAY_SIZE(ps2_action_keys), ps2_action_keys, - false, false, false, false, false); + (void)dev; } -#endif static void enable_mainboard(struct device *dev) { -#if CONFIG(BOARD_STARLABS_LITE_ADL) - dev->ops->acpi_fill_ssdt = mainboard_fill_ssdt; -#endif + dev->ops->acpi_fill_ssdt = starlabs_adl_mainboard_fill_ssdt; } struct chip_operations mainboard_ops = { diff --git a/src/mainboard/starlabs/adl/variants/i5/Makefile.mk b/src/mainboard/starlabs/adl/variants/i5/Makefile.mk index bfea7ef255..d6e2d5b29d 100644 --- a/src/mainboard/starlabs/adl/variants/i5/Makefile.mk +++ b/src/mainboard/starlabs/adl/variants/i5/Makefile.mk @@ -7,6 +7,7 @@ romstage-y += romstage.c ramstage-y += devtree.c ramstage-y += gpio.c ramstage-y += hda_verb.c +ramstage-y += mainboard_ssdt.c ramstage-y += ramstage.c $(call add_vbt_to_cbfs, vbt_native_res.bin, data_native_res.vbt) diff --git a/src/mainboard/starlabs/adl/variants/i5/mainboard_ssdt.c b/src/mainboard/starlabs/adl/variants/i5/mainboard_ssdt.c new file mode 100644 index 0000000000..a58becd7f6 --- /dev/null +++ b/src/mainboard/starlabs/adl/variants/i5/mainboard_ssdt.c @@ -0,0 +1,16 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include +#include +#include + +void starlabs_adl_mainboard_fill_ssdt(const struct device *dev) +{ + enum ps2_action_key ps2_action_keys[2] = { PS2_KEY_VOL_DOWN, PS2_KEY_VOL_UP }; + + (void)dev; + + acpigen_ps2_keyboard_dsd("_SB.PCI0.PS2K", ARRAY_SIZE(ps2_action_keys), ps2_action_keys, + false, false, false, false, false); +}