1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 3 #include <acpi/acpi.h> 4 #include <arch/io.h> 5 #include <cpu/x86/smm.h> 6 #include <southbridge/intel/bd82x6x/pch.h> 7 #include <southbridge/intel/bd82x6x/me.h> 8 #include <northbridge/intel/sandybridge/sandybridge.h> 9 10 /* 11 * Change LED_POWER# (SIO GPIO 45) state based on sleep type. 12 * The IO address is hardcoded as we don't have device path in SMM. 13 */ 14 #define SIO_GPIO_BASE_SET4 (0x730 + 3) 15 #define SIO_GPIO_BLINK_GPIO45 0x25 mainboard_smi_sleep(u8 slp_typ)16void mainboard_smi_sleep(u8 slp_typ) 17 { 18 u8 reg8; 19 20 switch (slp_typ) { 21 case ACPI_S3: 22 case ACPI_S4: 23 break; 24 25 case ACPI_S5: 26 /* Turn off LED */ 27 reg8 = inb(SIO_GPIO_BASE_SET4); 28 reg8 |= (1 << 5); 29 outb(reg8, SIO_GPIO_BASE_SET4); 30 break; 31 } 32 } 33