blob: 42685cfc86060183e04216d89298cb6070de7d7c [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef _INTELPCH_TCO_H_
#define _INTELPCH_TCO_H_
/* TCO registers and fields live behind TCOBASE I/O bar in SMBus device. */
#define TCO_RLD 0x00
#define TCO_DAT_IN 0x02
#define TCO_DAT_OUT 0x03
#define TCO1_STS 0x04
#define TCO1_STS_TCO_SLVSEL (1 << 13)
#define TCO1_STS_CPUSERR (1 << 12)
#define TCO1_STS_CPUSMI (1 << 10)
#define TCO1_STS_CPUSCI (1 << 9)
#define TCO1_STS_BIOSWR (1 << 8)
#define TCO1_STS_NEWCENTURY (1 << 7)
#define TCO1_STS_TIMEOUT (1 << 3)
#define TCO1_STS_TCO_INT (1 << 2)
#define TCO1_STS_OS_TCO_SMI (1 << 1)
#define TCO1_STS_NMI2SMI (1 << 0)
#define TCO2_STS 0x06
#define TCO2_STS_SMLINK_SLAVE_SMI (1 << 2)
#define TCO2_STS_SECOND_TO (1 << 1)
#define TCO2_INTRD_DET (1 << 0)
#define TCO1_CNT 0x08
#define TCO1_LOCK (1 << 12)
#define TCO1_TMR_HLT (1 << 11)
#define TCO1_NMI2SMI_EN (1 << 9)
#define TCO1_NMI_NOW (1 << 8)
#define TCO2_CNT 0x0A
#define TCO2_OS_POLICY_MASK (3 << 4)
#define TCO2_OS_POLICY_SHUTDOWN (1 << 4)
#define TCO2_OS_POLICY_DONOT_LOAD (1 << 5)
#define TCO2_SMB_ALERT_DISABLE (1 << 3)
#define TCO2_INTRD_SEL_MASK (3 << 1)
#define TCO2_INTRD_SEL_SMI (1 << 2)
#define TCO2_INTRD_SEL_INT (1 << 1)
#define TCO_MESSAGE1 0x0C
#define TCO_MESSAGE2 0x0D
#define TCO_WDSTATUS 0x0E
#define TCO_LEGACY_ELIM 0x10
#define TCO_IRQ12_CAUSE (1 << 1)
#define TCO_IRQ1_CAUSE (1 << 0)
#define TCO_TMR 0x12
#define TCO_TMR_MASK 0x3FF
#endif