16 #define D_OPEN (1 << 6)
17 #define D_CLS (1 << 5)
18 #define D_LCK (1 << 4)
19 #define G_SMRANE (1 << 3)
20 #define C_BASE_SEG ((0 << 2) | (1 << 1) | (0 << 0))
118 for (i=31; i>= 16; i--) {
147 reg32 =
inl(tcobase + 0x04);
149 outl(reg32 & ~(1<<18), tcobase + 0x04);
150 if (reg32 & (1 << 18))
151 outl(reg32 & (1<<18), tcobase + 0x04);
193 for (slot = 0; slot < 0x20; slot++) {
194 for (func = 0; func < 8; func++) {
200 if (
val == 0xffffffff ||
val == 0x00000000 ||
201 val == 0x0000ffff ||
val == 0xffff0000)
231 u8 s5pwr = CONFIG_MAINBOARD_POWER_FAILURE_STATE;
241 slp_typ = acpi_sleep_from_pm1(reg32);
328 reg32 = (7 << 10) | (1 << 13);
378 if (tco_sts & (1 << 8)) {
397 }
else if (tco_sts & (1 << 3)) {
476 for (i = 0; i < 31; i++) {
477 if (smi_sts & (1 << i)) {
482 "handler available.\n", i);
#define MAINBOARD_POWER_KEEP
#define printk(level,...)
void __weak southbridge_smi_handler(void)
void __weak mainboard_smi_gpi(u32 gpi_sts)
void outb(u8 val, u16 port)
void outl(u32 val, u16 port)
void outw(u16 val, u16 port)
#define APM_CNT_ACPI_DISABLE
#define APM_CNT_ACPI_ENABLE
static __always_inline void pci_write_config32(const struct device *dev, u16 reg, u32 val)
static __always_inline u16 pci_read_config16(const struct device *dev, u16 reg)
static __always_inline u32 pci_read_config32(const struct device *dev, u16 reg)
static __always_inline u8 pci_read_config8(const struct device *dev, u16 reg)
static __always_inline void pci_write_config16(const struct device *dev, u16 reg, u16 val)
static __always_inline void pci_write_config8(const struct device *dev, u16 reg, u8 val)
#define BIOS_DEBUG
BIOS_DEBUG - Verbose output.
#define BIOS_SPEW
BIOS_SPEW - Excessively verbose output.
#define PCI_HEADER_TYPE_CARDBUS
#define PCI_COMMAND_MASTER
#define PCI_HEADER_TYPE_BRIDGE
#define PCI_DEV(SEGBUS, DEV, FN)
const smi_handler_t southbridge_smi[SMI_STS_BITS]
void southbridge_smi_set_eos(void)
void(* smi_handler_t)(void)
static void dump_gpe0_status(u32 gpe0_sts)
static void southbridge_smi_pm1(void)
static u16 reset_pm1_status(void)
read and clear PM1_STS
static u32 reset_smi_status(void)
read and clear SMI_STS
static void busmaster_disable_on_bus(int bus)
static void dump_tco_status(u32 tco_sts)
static void southbridge_smi_apmc(void)
static u32 reset_tco_status(void)
read and clear TCOx_STS
static void southbridge_smi_periodic(void)
static void southbridge_smi_gpe0(void)
static u32 reset_gpe0_status(void)
read and clear GPE0_STS
static void southbridge_smi_gpi(void)
static void dump_smi_status(u32 smi_sts)
static void southbridge_smi_tco(void)
static void dump_pm1_status(u16 pm1_sts)
static void southbridge_smi_mc(void)
static void southbridge_smi_sleep(void)
typedef void(X86APIP X86EMU_intrFuncs)(int num)