⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 piix4.h

📁 MIPS下的boottloader yamon 的源代码
💻 H
📖 第 1 页 / 共 2 页
字号:

#define PIIX4_ICW3S_SID_SHF		0
#define PIIX4_ICW3S_SID_MSK		(MSK(3) << PIIX4_ICW3S_SID_SHF)
#define PIIX4_ICW3S_SID_DEF		0x2


#define PIIX4_ICW4_SFNM_SHF		4
#define PIIX4_ICW4_SFNM_MSK		(MSK(1) << PIIX4_ICW4_SFNM_SHF)
#define PIIX4_ICW4_SFNM_BIT		PIIX4_ICW4_SFNM_MSK
#define PIIX4_ICW4_AEOI_SHF		1
#define PIIX4_ICW4_AEOI_MSK		(MSK(1) << PIIX4_ICW4_AEOI_SHF)
#define PIIX4_ICW4_UPMODE_SHF		0
#define PIIX4_ICW4_UPMODE_MSK		(MSK(1) << PIIX4_ICW4_UPMODE_SHF)
#define PIIX4_ICW4_UPMODE_BIT		PIIX4_ICW4_UPMODE_MSK


#define PIIX4_OCW2_CODE_SHF		5
#define PIIX4_OCW2_CODE_MSK		(MSK(3) << PIIX4_OCW2_CODE_SHF)
#define PIIX4_OCW2_CODE_NSEOI		0x1
#define PIIX4_OCW2_CODE_SEOI		0x3
#define PIIX4_OCW2_CODE_RNSEOI		0x5
#define PIIX4_OCW2_CODE_RAEOIS		0x4
#define PIIX4_OCW2_CODE_RAEOIC		0x0
#define PIIX4_OCW2_CODE_RSEOI		0x7
#define PIIX4_OCW2_CODE_SP		0x6

#define PIIX4_OCW2_OCWSEL_SHF		3
#define PIIX4_OCW2_OCWSEL_MSK		(MSK(2) << PIIX4_OCW2_OCWSEL_SHF)
#define PIIX4_OCW2_OCWSEL_2		0

#define PIIX4_OCW2_ILS_SHF		0
#define PIIX4_OCW2_ILS_MSK		(MSK(3) << PIIX4_OCW2_ILS_SHF)
#define PIIX4_OCW2_ILS_0_8		0
#define PIIX4_OCW2_ILS_1_9		1
#define PIIX4_OCW2_ILS_2_10		2
#define PIIX4_OCW2_ILS_3_11		3
#define PIIX4_OCW2_ILS_4_12		4
#define PIIX4_OCW2_ISL_5_13		5
#define PIIX4_OCW2_ISL_6_14		6
#define PIIX4_OCW2_ISL_7_15		7


#define PIIX4_OCW3_SMM_SHF		6
#define PIIX4_OCW3_SMM_MSK		(MSK(1) << PIIX4_OCW3_SMM_SHF)
#define PIIX4_OCW3_SMM_BIT		PIIX4_OCW3_SMM_MSK

#define PIIX4_OCW3_ESMM_SHF		5
#define PIIX4_OCW3_ESMM_MSK		(MSK(1) << PIIX4_OCW3_ESMM_SHF)
#define PIIX4_OCW3_ESMM_BIT		PIIX4_OCW3_ESMM_MSK

#define PIIX4_OCW3_OCWSEL_SHF		3
#define PIIX4_OCW3_OCWSEL_MSK		(MSK(2) << PIIX4_OCW3_OCWSEL_SHF)
#define PIIX4_OCW3_OCWSEL_3		0x1

#define PIIX4_OCW3_PMC_SHF		2
#define PIIX4_OCW3_PMC_MSK		(MSK(1) << PIIX4_OCW3_PMC_SHF)
#define PIIX4_OCW3_PMC_BIT		PIIX4_OCW3_PMC_MSK

#define PIIX4_OCW3_RRC_SHF		0
#define PIIX4_OCW3_RRC			(MSK(2) << PIIX4_OCW3_RRC_SHF)
#define PIIX4_OCW3_RRC_IRR		0x2
#define PIIX4_OCW3_RRC_ISR		0x3


#define PIIX4_ELCR1_IRQ7LEVEL_SHF	7
#define PIIX4_ELCR1_IRQ7LEVEL_MSK	(MSK(1) << PIIX4_ELCR1_IRQ7LEVEL_SHF)
#define PIIX4_ELCR1_IRQ7LEVEL_BIT	PIIX4_ELCR1_IRQ7LEVEL_MSK

#define PIIX4_ELCR1_IRQ6LEVEL_SHF	6
#define PIIX4_ELCR1_IRQ6LEVEL_MSK	(MSK(1) << PIIX4_ELCR1_IRQ6LEVEL_SHF)
#define PIIX4_ELCR1_IRQ6LEVEL_BIT	PIIX4_ELCR1_IRQ6LEVEL_MSK

#define PIIX4_ELCR1_IRQ5LEVEL_SHF	5
#define PIIX4_ELCR1_IRQ5LEVEL_MSK	(MSK(1) << PIIX4_ELCR1_IRQ5LEVEL_SHF)
#define PIIX4_ELCR1_IRQ5LEVEL_BIT	PIIX4_ELCR1_IRQ5LEVEL_MSK

#define PIIX4_ELCR1_IRQ4LEVEL_SHF	4
#define PIIX4_ELCR1_IRQ4LEVEL_MSK	(MSK(1) << PIIX4_ELCR1_IRQ4LEVEL_SHF)
#define PIIX4_ELCR1_IRQ4LEVEL_BIT	PIIX4_ELCR1_IRQ4LEVEL_MSK

#define PIIX4_ELCR1_IRQ3LEVEL_SHF	3
#define PIIX4_ELCR1_IRQ3LEVEL_MSK	(MSK(1) << PIIX4_ELCR1_IRQ3LEVEL_SHF)
#define PIIX4_ELCR1_IRQ3LEVEL_BIT	PIIX4_ELCR1_IRQ3LEVEL_MSK


#define PIIX4_ELCR2_IRQ15LEVEL_SHF	7
#define PIIX4_ELCR2_IRQ15LEVEL_MSK	(MSK(1) << PIIX4_ELCR2_IRQ15LEVEL_SHF)
#define PIIX4_ELCR2_IRQ15LEVEL_BIT	PIIX4_ELCR2_IRQ15LEVEL_MSK

#define PIIX4_ELCR2_IRQ14LEVEL_SHF	6
#define PIIX4_ELCR2_IRQ14LEVEL_MSK	(MSK(1) << PIIX4_ELCR2_IRQ14LEVEL_SHF)
#define PIIX4_ELCR2_IRQ14LEVEL_BIT	PIIX4_ELCR2_IRQ14LEVEL_MSK

#define PIIX4_ELCR2_IRQ12LEVEL_SHF	4
#define PIIX4_ELCR2_IRQ12LEVEL_MSK	(MSK(1) << PIIX4_ELCR2_IRQ12LEVEL_SHF)
#define PIIX4_ELCR2_IRQ12LEVEL_BIT	PIIX4_ELCR2_IRQ12LEVEL_MSK

#define PIIX4_ELCR2_IRQ11LEVEL_SHF	3
#define PIIX4_ELCR2_IRQ11LEVEL_MSK	(MSK(1) << PIIX4_ELCR2_IRQ11LEVEL_SHF)
#define PIIX4_ELCR2_IRQ11LEVEL_BIT	PIIX4_ELCR2_IRQ11LEVEL_MSK

#define PIIX4_ELCR2_IRQ10LEVEL_SHF	2
#define PIIX4_ELCR2_IRQ10LEVEL_MSK	(MSK(1) << PIIX4_ELCR2_IRQ10LEVEL_SHF)
#define PIIX4_ELCR2_IRQ10LEVEL_BIT	PIIX4_ELCR2_IRQ10LEVEL_MSK

#define PIIX4_ELCR2_IRQ9LEVEL_SHF	1
#define PIIX4_ELCR2_IRQ9LEVEL_MSK	(MSK(1) << PIIX4_ELCR2_IRQ9LEVEL_SHF)
#define PIIX4_ELCR2_IRQ9LEVEL_BIT	PIIX4_ELCR2_IRQ9LEVEL_MSK


/* Timer countrol word */

#define PIIX4_TCW_CS_SHF		6
#define PIIX4_TCW_CS_MSK		(MSK(2) << PIIX4_TCW_CS_SHF)
#define PIIX4_TCW_CS_0			0
#define PIIX4_TCW_CS_1			1
#define PIIX4_TCW_CS_2			2
#define PIIX4_TCW_CS_RB			3

#define PIIX4_TCW_RW_SHF		4
#define PIIX4_TCW_RW_MSK		(MSK(2) << PIIX4_TCW_RW_SHF)
#define PIIX4_TCW_RW_CL			0
#define PIIX4_TCW_RW_LSB		1
#define PIIX4_TCW_RW_MSB		2
#define PIIX4_TCW_RW_16			3

#define PIIX4_TCW_MODE_SHF		1
#define PIIX4_TCW_MODE_MSK		(MSK(3) << PIIX4_TCW_MODE_SHF)
#define PIIX4_TCW_MODE_0		0
#define PIIX4_TCW_MODE_1		1
#define PIIX4_TCW_MODE_2		2
#define PIIX4_TCW_MODE_3		3
#define PIIX4_TCW_MODE_4		4
#define PIIX4_TCW_MODE_5		5

#define PIIX4_TCW_BCD_SHF		0
#define PIIX4_TCW_BCD_MSK		(MSK(1) << PIIX4_TCW_BCD_SHF)
#define PIIX4_TCW_BCD_BIT		PIIX4_TCW_BCD_MSK


/* Power Management Control Register */
#define PIIX4_PMCNTRL_SE_SHF	        13
#define PIIX4_PMCNTRL_SE_MSK		(MSK(1) << PIIX4_PMCNTRL_SE_SHF)
#define PIIX4_PMCNTRL_SE_BIT		PIIX4_PMCNTRL_SE_MSK

#define PIIX4_PMCNTRL_TYPE_SHF		10
#define PIIX4_PMCNTRL_TYPE_MSK		(MSK(3) << PIIX4_PMCNTRL_TYPE_SHF)
#define PIIX4_PMCNTRL_TYPE_STD		0
#define PIIX4_PMCNTRL_TYPE_STR		1
#define PIIX4_PMCNTRL_TYPE_POSCL	2
#define PIIX4_PMCNTRL_TYPE_POSCCL	3
#define PIIX4_PMCNTRL_TYPE_POS		4
#define PIIX4_PMCNTRL_TYPE_WORK		5


/* Global Control Register */
#define PIIX4_GLBCTL_LID_POL_SHF	25
#define PIIX4_GLBCTL_LID_POL_MSK	(MSK(1) << PIIX4_GLBCTL_LID_POL_SHF)
#define PIIX4_GLBCTL_LID_POL_BIT	PIIX4_GLBCTL_LID_POL_MSK

#define PIIX4_GLBCTL_EOS_SHF		16
#define PIIX4_GLBCTL_EOS_MSK		(MSK(1) << PIIX4_GLBCTL_EOS_SHF)
#define PIIX4_GLBCTL_EOS_BIT		PIIX4_GLBCTL_EOS_MSK

#define PIIX4_GLBCTL_GSTBY_CNT_SHF	9
#define PIIX4_GLBCTL_GSTBY_CNT_MSK	(MSK(7) << PIIX4_GLBCTL_GSTBY_CNT_SHF)

#define PIIX4_GLBCTL_THRM_POL_SHF	2
#define PIIX4_GLBCTL_THRM_POL_MSK	(MSK(1) << PIIX4_GLBCTL_THRM_POL_SHF)
#define PIIX4_GLBCTL_THRM_POL_BIT	PIIX4_GLBCTL_THRM_POL_MSK

#define PIIX4_GLBCTL_SMI_EN_SHF		0
#define PIIX4_GLBCTL_SMI_EN_MSK		(MSK(1) << PIIX4_GLBCTL_SMI_EN_SHF)
#define PIIX4_GLBCTL_SMI_EN_BIT		PIIX4_GLBCTL_SMI_EN_MSK


/* SMB Host Control register */
#define PIIX4_SMBHSTCNT_START_SHF	6
#define PIIX4_SMBHSTCNT_START_MSK	(MSK(1) << PIIX4_SMBHSTCNT_START_SHF)
#define PIIX4_SMBHSTCNT_START_BIT	PIIX4_SMBHSTCNT_START_MSK

#define PIIX4_SMBHSTCNT_CP_SHF		2
#define PIIX4_SMBHSTCNT_CP_MSK		(MSK(3) << PIIX4_SMBHSTCNT_CP_SHF)
#define PIIX4_SMBHSTCNT_CP_QRW		0
#define PIIX4_SMBHSTCNT_CP_BRW		1
#define PIIX4_SMBHSTCNT_CP_BDRW		2
#define PIIX4_SMBHSTCNT_CP_WDRW		3
#define PIIX4_SMBHSTCNT_CP_BLRW		5

#define PIIX4_SMBHSTCNT_KILL_SHF	1
#define PIIX4_SMBHSTCNT_KILL_MSK	(MSK(1) << PIIX4_SMBHSTCNT_KILL_SHF)
#define PIIX4_SMBHSTCNT_KILL_BIT	PIIX4_SMBHSTCNT_KILL_MSK

#define PIIX4_SMBHSTCNT_IE_SHF		0
#define PIIX4_SMBHSTCNT_IE_MSK		(MSK(1) << PIIX4_SMBHSTCNT_IE_SHF)
#define PIIX4_SMBHSTCNT_IE_BIT		PIIX4_SMBHSTCNT_IE_MSK

/* SMB Host Status register */
#define PIIX4_SMBHSTSTS_FAILED_SHF	4
#define PIIX4_SMBHSTSTS_FAILED_MSK	(MSK(1) << PIIX4_SMBHSTSTS_FAILED_SHF)
#define PIIX4_SMBHSTSTS_FAILED_BIT	PIIX4_SMBHSTSTS_FAILED_MSK

#define PIIX4_SMBHSTSTS_COL_SHF		3
#define PIIX4_SMBHSTSTS_COL_MSK		(MSK(1) << PIIX4_SMBHSTSTS_COL_SHF)
#define PIIX4_SMBHSTSTS_COL_BIT		PIIX4_SMBHSTSTS_COL_MSK

#define PIIX4_SMBHSTSTS_DE_SHF		2
#define PIIX4_SMBHSTSTS_DE_MSK		(MSK(1) << PIIX4_SMBHSTSTS_DE_SHF)
#define PIIX4_SMBHSTSTS_DE_BIT		PIIX4_SMBHSTSTS_DE_MSK

#define PIIX4_SMBHSTSTS_INT_SHF		1
#define PIIX4_SMBHSTSTS_INT_MSK		(MSK(1) << PIIX4_SMBHSTSTS_INT_SHF)
#define PIIX4_SMBHSTSTS_INT_BIT		PIIX4_SMBHSTSTS_INT_MSK

#define PIIX4_SMBHSTSTS_BUSY_SHF	0
#define PIIX4_SMBHSTSTS_BUSY_MSK	(MSK(1) << PIIX4_SMBHSTSTS_BUSY_SHF)
#define PIIX4_SMBHSTSTS_BUSY_BIT	PIIX4_SMBHSTSTS_BUSY_MSK

/* Host Address register */
#define PIIX4_SMBHSTADD_ADDR_SHF	1
#define PIIX4_SMBHSTADD_ADDR_MSK	(MSK(7) << PIIX4_SMBHSTADD_ADDR_SHF)

#define PIIX4_SMBHSTADD_READ_SHF	0
#define PIIX4_SMBHSTADD_READ_MSK	(MSK(1) << PIIX4_SMBHSTADD_READ_SHF)
#define PIIX4_SMBHSTADD_READ_BIT	PIIX4_SMBHSTADD_READ_MSK


/* General Purpose Enable Register (TBD : Add remaining fields) */

#define PIIX4_GPEN_GPIEN_SHF		9
#define PIIX4_GPEN_GPIEN_MSK		(MSK(1) << PIIX4_GPEN_GPIEN_SHF)
#define PIIX4_GPEN_GPIEN_BIT		PIIX4_GPEN_GPIEN_MSK



/************************************************************************
 *  Misc
 ************************************************************************/

/* PIIX4 is a 4-function PCI device */
#define PIIX4_PCI_FUNCTION_BRIDGE	0
#define PIIX4_PCI_FUNCTION_IDE		1
#define PIIX4_PCI_FUNCTION_USB		2
#define PIIX4_PCI_FUNCTION_POWER	3

/* BAR positions for fixed BARs */
#define PIIX4_PCI_BAR_BRIDGE_POS	PCI_BAR(0)
#define PIIX4_PCI_BAR_POWER_POS		0x40
#define PIIX4_PCI_BAR_SMB_POS		0x90

/* Fixed I/O range mapping */
#define PIIX4_IO_BRIDGE_START		0
#define PIIX4_IO_BRIDGE_SIZE		0x1000
#define PIIX4_IO_POWER_START		0x1000
#define PIIX4_IO_POWER_SIZE		0x100
#define PIIX4_IO_SMB_START		0x1100
#define PIIX4_IO_SMB_SIZE		0x100

/* Number of IRQs supported */
#define PIIX4_IRQ_COUNT			16

/* Timer period (ns) */
#define PIIX4_TIMER_PERIOD_NS		838


#endif /* #ifndef PIIX4_H */





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -