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 <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/91460
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Sean Rhodes 2026-02-27 21:57:29 +00:00
commit 5156ec4533
4 changed files with 23 additions and 16 deletions

View file

@ -3,6 +3,7 @@
#ifndef _BASEBOARD_VARIANTS_H_
#define _BASEBOARD_VARIANTS_H_
#include <device/device.h>
#include <soc/gpio.h>
/*
@ -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_ */

View file

@ -1,14 +1,8 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#if CONFIG(BOARD_STARLABS_LITE_ADL)
#include <acpi/acpigen_ps2_keybd.h>
#include <commonlib/helpers.h>
#endif
#include <device/device.h>
#include <drivers/intel/gma/opregion.h>
#include <soc/ramstage.h>
#include <option.h>
#include <variants.h>
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 = {

View file

@ -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)

View file

@ -0,0 +1,16 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <acpi/acpigen_ps2_keybd.h>
#include <commonlib/helpers.h>
#include <device/device.h>
#include <variants.h>
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);
}