From bed947368cf196c4e0452b5214d5528f47789995 Mon Sep 17 00:00:00 2001 From: Sean Rhodes Date: Fri, 16 Sep 2022 09:38:08 +0100 Subject: mb/starlabs/lite: Reset XHCI before entering S5 Reset the XHCI controller prior to S5 to avoid XHCI preventing shutdown. Linux needs to put the XHCI into D3 before shutting down but the powerstate commands do not perform a reset. Signed-off-by: Sean Rhodes Change-Id: I3be70443eb85a7dff8055c9de0ca2fd89f4fc88d Reviewed-on: https://review.coreboot.org/c/coreboot/+/67678 Reviewed-by: Tim Wawrzynczak Reviewed-by: Angel Pons Tested-by: build bot (Jenkins) --- src/mainboard/starlabs/lite/smihandler.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/mainboard/starlabs/lite/smihandler.c diff --git a/src/mainboard/starlabs/lite/smihandler.c b/src/mainboard/starlabs/lite/smihandler.c new file mode 100644 index 0000000000..75e84c76e2 --- /dev/null +++ b/src/mainboard/starlabs/lite/smihandler.c @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include +#include +#include + +void mainboard_smi_sleep(u8 slp_typ) +{ + /* + * Workaround: Reset the XHCI controller prior to S5 to avoid + * XHCI preventing shutdown. Linux needs to put the XHCI into D3 + * before shutting down but the powerstate commands do not + * perform a reset. + */ + if (slp_typ == ACPI_S5) + xhci_host_reset(); +} -- cgit v1.2.3