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 <sean@starlabs.systems>
Change-Id: I3be70443eb85a7dff8055c9de0ca2fd89f4fc88d
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67678
Reviewed-by: Tim Wawrzynczak <inforichland@gmail.com>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Sean Rhodes 2022-09-16 09:38:08 +01:00 committed by Angel Pons
parent d9ef02ce1d
commit bed947368c
1 changed files with 17 additions and 0 deletions

View File

@ -0,0 +1,17 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#include <acpi/acpi.h>
#include <cpu/x86/smm.h>
#include <intelblocks/xhci.h>
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();
}