blob: e1fc5a03ad0d4f9d0bc6526b0778d39f6ffd75f5 [file] [log] [blame]
Angel Pons16f6aa82020-04-05 15:47:21 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Subrata Banik91e89c52019-11-01 18:30:01 +05302
Subrata Banik91e89c52019-11-01 18:30:01 +05303#include <device/pci_def.h>
Subrata Banik91e89c52019-11-01 18:30:01 +05304#include <intelblocks/smihandler.h>
Subrata Banik00b75332020-02-20 12:09:45 +05305#include <soc/soc_chip.h>
Subrata Banik91e89c52019-11-01 18:30:01 +05306#include <soc/pci_devs.h>
Subrata Banik91e89c52019-11-01 18:30:01 +05307#include <soc/pm.h>
Subrata Banik91e89c52019-11-01 18:30:01 +05308
Kane Chen7b7b33e2021-05-04 09:49:18 +08009int smihandler_soc_disable_busmaster(pci_devfn_t dev)
10{
11 /* Skip disabling PMC bus master to keep IO decode enabled */
12 if (dev == PCH_DEV_PMC)
13 return 0;
14 return 1;
15}
16
Subrata Banik91e89c52019-11-01 18:30:01 +053017const smi_handler_t southbridge_smi[SMI_STS_BITS] = {
18 [SMI_ON_SLP_EN_STS_BIT] = smihandler_southbridge_sleep,
19 [APM_STS_BIT] = smihandler_southbridge_apmc,
20 [PM1_STS_BIT] = smihandler_southbridge_pm1,
21 [GPE0_STS_BIT] = smihandler_southbridge_gpe0,
22 [GPIO_STS_BIT] = smihandler_southbridge_gpi,
23 [ESPI_SMI_STS_BIT] = smihandler_southbridge_espi,
24 [MCSMI_STS_BIT] = smihandler_southbridge_mc,
Patrick Georgia7ec4262020-03-11 16:31:59 +010025#if CONFIG(SOC_INTEL_COMMON_BLOCK_SMM_TCO_ENABLE)
Subrata Banik91e89c52019-11-01 18:30:01 +053026 [TCO_STS_BIT] = smihandler_southbridge_tco,
Patrick Georgia7ec4262020-03-11 16:31:59 +010027#endif
Subrata Banik91e89c52019-11-01 18:30:01 +053028 [PERIODIC_STS_BIT] = smihandler_southbridge_periodic,
29 [MONITOR_STS_BIT] = smihandler_southbridge_monitor,
30};