Files
system76-edk2/QuarkSocPkg/QuarkNorthCluster/Smm/DxeSmm/QncSmmDispatcher/QNC/QNCSmmQncn.c
2019-04-09 10:58:22 -07:00

212 lines
4.2 KiB
C

/** @file
File to contain all the hardware specific stuff for the Smm QNCn dispatch protocol.
Copyright (c) 2013-2015 Intel Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
//
// Include common header file for this module.
//
#include "CommonHeader.h"
#include "QNCSmmHelpers.h"
QNC_SMM_SOURCE_DESC QNCN_SOURCE_DESCS[NUM_ICHN_TYPES] = {
// QNCnMch (0)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnPme (1)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnRtcAlarm (2)
{
QNC_SMM_NO_FLAGS,
{
{{ACPI_ADDR_TYPE, {R_QNC_PM1BLK_PM1E}}, S_QNC_PM1BLK_PM1E, N_QNC_PM1BLK_PM1E_RTC},
NULL_BIT_DESC_INITIALIZER
},
{
{{ACPI_ADDR_TYPE, {R_QNC_PM1BLK_PM1S}}, S_QNC_PM1BLK_PM1S, N_QNC_PM1BLK_PM1S_RTC}
}
},
// QNCnRingIndicate (3)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnAc97Wake (4)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnSerialIrq (5)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnY2KRollover (6)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnTcoTimeout (7)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnOsTco (8)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnNmi (9)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnIntruderDetect (10)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnBiosWp (11)
{
QNC_SMM_CLEAR_WITH_ZERO,
{
{
{
PCI_ADDR_TYPE,
{
(
(PCI_BUS_NUMBER_QNC << 24) |
(PCI_DEVICE_NUMBER_QNC_LPC << 16) |
(PCI_FUNCTION_NUMBER_QNC_LPC << 8) |
R_QNC_LPC_BIOS_CNTL
)
}
},
S_QNC_LPC_BIOS_CNTL,
N_QNC_LPC_BIOS_CNTL_BLE
},
NULL_BIT_DESC_INITIALIZER
},
{
{
{
PCI_ADDR_TYPE,
{
(
(PCI_BUS_NUMBER_QNC << 24) |
(PCI_DEVICE_NUMBER_QNC_LPC << 16) |
(PCI_FUNCTION_NUMBER_QNC_LPC << 8) |
R_QNC_LPC_BIOS_CNTL
)
}
},
S_QNC_LPC_BIOS_CNTL,
N_QNC_LPC_BIOS_CNTL_BIOSWE
}
}
},
// QNCnMcSmi (12)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnPmeB0 (13)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnThrmSts (14)
{
QNC_SMM_SCI_EN_DEPENDENT,
{
{{GPE_ADDR_TYPE, {R_QNC_GPE0BLK_GPE0E}}, S_QNC_GPE0BLK_GPE0E, N_QNC_GPE0BLK_GPE0E_THRM},
NULL_BIT_DESC_INITIALIZER
},
{
{{GPE_ADDR_TYPE, {R_QNC_GPE0BLK_GPE0S}}, S_QNC_GPE0BLK_GPE0S, N_QNC_GPE0BLK_GPE0S_THRM}
}
},
// QNCnSmBus (15)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnIntelUsb2 (16)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnMonSmi7 (17)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnMonSmi6 (18)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnMonSmi5 (19)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnMonSmi4 (20)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnDevTrap13 (21)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnDevTrap12 (22)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnDevTrap11 (23)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnDevTrap10 (24)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnDevTrap9 (25)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnDevTrap8 (26)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnDevTrap7 (27)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnDevTrap6 (28)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnDevTrap5 (29)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnDevTrap3 (30)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnDevTrap2 (31)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnDevTrap1 (32)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnDevTrap0 (33)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnIoTrap3 (34)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnIoTrap2 (35)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnIoTrap1 (36)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnIoTrap0 (37)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnPciExpress (38)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnMonitor (39)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnSpi (40)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnQRT (41)
NULL_SOURCE_DESC_INITIALIZER,
// QNCnGpioUnlock (42)
NULL_SOURCE_DESC_INITIALIZER
};
VOID
QNCSmmQNCnClearSource(
QNC_SMM_SOURCE_DESC *SrcDesc
)
{
QNCSmmClearSource (SrcDesc);
}