From 1e22b0256db8bbe18b48c481e236cfa140f8684b Mon Sep 17 00:00:00 2001 From: Sean Rhodes Date: Thu, 17 Oct 2024 13:17:29 +0100 Subject: [PATCH] mb/starlabs/starlite_adl: Add SSDT entry for volume keys Add entries to the SSDT so that the volume keys, which use the PS2 keyboard interface, are correctly registered. Change-Id: Ie80491559de50d72bf1ff97fd30c1a74e6b0f7a6 Signed-off-by: Sean Rhodes Reviewed-on: https://review.coreboot.org/c/coreboot/+/85695 Reviewed-by: Matt DeVillier Tested-by: build bot (Jenkins) --- .../starlabs/starlite_adl/mainboard.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/mainboard/starlabs/starlite_adl/mainboard.c b/src/mainboard/starlabs/starlite_adl/mainboard.c index d394f2579d..99b59253a5 100644 --- a/src/mainboard/starlabs/starlite_adl/mainboard.c +++ b/src/mainboard/starlabs/starlite_adl/mainboard.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-only */ +#include #include #include #include @@ -22,6 +23,23 @@ static void init_mainboard(void *chip_info) devtree_update(); } +static void 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); +} + +static void enable_mainboard(struct device *dev) +{ + dev->ops->acpi_fill_ssdt = mainboard_fill_ssdt; +} + + struct chip_operations mainboard_ops = { .init = init_mainboard, + .enable_dev = enable_mainboard, };