blob: a11db5dacbdd4372b46f729590b9aa8e6f94836b [file] [log] [blame]
Joel Linna70493d2024-03-02 13:59:52 +01001/* SPDX-License-Identifier: GPL-2.0-only */
2
3#include <acpi/acpi.h>
4#include <console/console.h>
5#include <cpu/x86/smm.h>
6#include <superio/ite/common/ite.h>
7#include "common_defines.h"
8#include "led.h"
9
10/* Change power led state based on sleep type. */
11void mainboard_smi_sleep(u8 slp_typ)
12{
13 printk(BIOS_DEBUG, "SMI: sleep S%d\n", slp_typ);
14 switch (slp_typ) {
15 case ACPI_S3:
16 /*
17 * Vendor firmware also only enables this when entering sleep.
18 * This saves some power when entering S5 via shutdown.
19 */
20 ite_enable_3vsbsw(GPIO_DEV);
21 set_power_led(LED_YELLOW);
22 break;
23 case ACPI_S4:
24 /* Without 3vsbsw enabled the LED will be off in any case */
25 case ACPI_S5:
26 set_power_led(LED_OFF);
27 break;
28 default:
29 break;
30 }
31}