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

📄 pcireg.h

📁 MIPS处理器的bootloader,龙芯就是用的修改过的PMON2
💻 H
📖 第 1 页 / 共 2 页
字号:
/* 0x0e I2O (Intelligent I/O) subclasses */#define	PCI_SUBCLASS_I2O_STANDARD		0x00/* 0x0f satellite communication subclasses *//*	PCI_SUBCLASS_SATCOM_???			0x00    / * XXX ??? */#define	PCI_SUBCLASS_SATCOM_TV			0x01#define	PCI_SUBCLASS_SATCOM_AUDIO		0x02#define	PCI_SUBCLASS_SATCOM_VOICE		0x03#define	PCI_SUBCLASS_SATCOM_DATA		0x04/* 0x10 encryption/decryption subclasses */#define	PCI_SUBCLASS_CRYPTO_NETCOMP		0x00#define	PCI_SUBCLASS_CRYPTO_ENTERTAINMENT	0x10#define	PCI_SUBCLASS_CRYPTO_MISC		0x80/* 0x11 data acquisition and signal processing subclasses */#define	PCI_SUBCLASS_DASP_DPIO			0x00#define	PCI_SUBCLASS_DASP_TIMEFREQ		0x01#define	PCI_SUBCLASS_DASP_MISC			0x80/* * PCI BIST/Header Type/Latency Timer/Cache Line Size Register. */#define	PCI_BHLC_REG			0x0c#define	PCI_BIST_SHIFT				24#define	PCI_BIST_MASK				0xff#define	PCI_BIST(bhlcr) \	    (((bhlcr) >> PCI_BIST_SHIFT) & PCI_BIST_MASK)#define	PCI_HDRTYPE_SHIFT			16#define	PCI_HDRTYPE_MASK			0xff#define	PCI_HDRTYPE(bhlcr) \	    (((bhlcr) >> PCI_HDRTYPE_SHIFT) & PCI_HDRTYPE_MASK)#define PCI_HDRTYPE_TYPE(bhlcr) \	    (PCI_HDRTYPE(bhlcr) & 0x7f)#define	PCI_HDRTYPE_MULTIFN(bhlcr) \	    ((PCI_HDRTYPE(bhlcr) & 0x80) != 0)#define	PCI_LATTIMER_SHIFT			8#define	PCI_LATTIMER_MASK			0xff#define	PCI_LATTIMER(bhlcr) \	    (((bhlcr) >> PCI_LATTIMER_SHIFT) & PCI_LATTIMER_MASK)#define	PCI_CACHELINE_SHIFT			0#define	PCI_CACHELINE_MASK			0xff#define	PCI_CACHELINE(bhlcr) \	    (((bhlcr) >> PCI_CACHELINE_SHIFT) & PCI_CACHELINE_MASK)/* config registers for header type 0 devices */#define PCI_MAPS	0x10#define PCI_CARDBUSCIS	0x28#define PCI_SUBVEND_0	0x2c#define PCI_SUBDEV_0	0x2e#define PCI_INTLINE	0x3c#define PCI_INTPIN	0x3d#define PCI_MINGNT	0x3e#define PCI_MAXLAT	0x3f/* config registers for header type 1 devices */#define PCI_SECSTAT_1	0 /**/#define PCI_PRIBUS_1	0x18#define PCI_SECBUS_1	0x19#define PCI_SUBBUS_1	0x1a#define PCI_SECLAT_1	0x1b#define PCI_IOBASEL_1	0x1c#define PCI_IOLIMITL_1	0x1d#define PCI_IOBASEH_1	0x30 /**/#define PCI_IOLIMITH_1	0x32 /**/ #define PCI_MEMBASE_1	0x20#define PCI_MEMLIMIT_1	0x22#define PCI_PMBASEL_1	0x24#define PCI_PMLIMITL_1	0x26#define PCI_PMBASEH_1	0 /**/#define PCI_PMLIMITH_1	0 /**/#define PCI_BRIDGECTL_1 0 /**/#define PCI_SUBVEND_1	0x34#define PCI_SUBDEV_1	0x36/* config registers for header type 2 devices */#define PCI_SECSTAT_2	0x16#define PCI_PRIBUS_2	0x18#define PCI_SECBUS_2	0x19#define PCI_SUBBUS_2	0x1a#define PCI_SECLAT_2	0x1b#define PCI_MEMBASE0_2	0x1c#define PCI_MEMLIMIT0_2 0x20#define PCI_MEMBASE1_2	0x24#define PCI_MEMLIMIT1_2 0x28#define PCI_IOBASE0_2	0x2c#define PCI_IOLIMIT0_2	0x30#define PCI_IOBASE1_2	0x34#define PCI_IOLIMIT1_2	0x38#define PCI_BRIDGECTL_2 0x3e#define PCI_SUBVEND_2	0x40#define PCI_SUBDEV_2	0x42#define PCI_PCCARDIF_2	0x44/* * Mapping registers */#define	PCI_MAPREG_START		0x10#define	PCI_MAPREG_END			0x28#define	PCI_MAPREG_ROM			0x30#define	PCI_MAPREG_PPB_END		0x18#define	PCI_MAPREG_PCB_END		0x14#define	PCI_MAPREG_TYPE(mr)						\	    ((mr) & PCI_MAPREG_TYPE_MASK)#define	PCI_MAPREG_TYPE_MASK			0x00000001#define	PCI_MAPREG_TYPE_MEM			0x00000000#define	PCI_MAPREG_TYPE_IO			0x00000001#define	PCI_MAPREG_TYPE_ROM			0x00000001#define	PCI_MAPREG_MEM_TYPE(mr)						\	    ((mr) & PCI_MAPREG_MEM_TYPE_MASK)#define	PCI_MAPREG_MEM_TYPE_MASK		0x00000006#define	PCI_MAPREG_MEM_TYPE_32BIT		0x00000000#define	PCI_MAPREG_MEM_TYPE_32BIT_1M		0x00000002#define	PCI_MAPREG_MEM_TYPE_64BIT		0x00000004#define	PCI_MAPREG_MEM_CACHEABLE(mr)					\	    (((mr) & PCI_MAPREG_MEM_CACHEABLE_MASK) != 0)#define	PCI_MAPREG_MEM_CACHEABLE_MASK		0x00000008#define	PCI_MAPREG_MEM_PREFETCHABLE(mr)					\	    (((mr) & PCI_MAPREG_MEM_PREFETCHABLE_MASK) != 0)#define	PCI_MAPREG_MEM_PREFETCHABLE_MASK	0x00000008#define	PCI_MAPREG_MEM_ADDR(mr)						\	    ((mr) & PCI_MAPREG_MEM_ADDR_MASK)#define	PCI_MAPREG_MEM_SIZE(mr)						\	    (PCI_MAPREG_MEM_ADDR(mr) & -PCI_MAPREG_MEM_ADDR(mr))#define	PCI_MAPREG_MEM_ADDR_MASK		0xfffffff0#define	PCI_MAPREG_MEM64_ADDR(mr)					\	    ((mr) & PCI_MAPREG_MEM64_ADDR_MASK)#define	PCI_MAPREG_MEM64_SIZE(mr)					\	    (PCI_MAPREG_MEM64_ADDR(mr) & -PCI_MAPREG_MEM64_ADDR(mr))#define	PCI_MAPREG_MEM64_ADDR_MASK		0xfffffffffffffff0#define	PCI_MAPREG_IO_ADDR(mr)						\	    ((mr) & PCI_MAPREG_IO_ADDR_MASK)#define	PCI_MAPREG_IO_SIZE(mr)						\	    (PCI_MAPREG_IO_ADDR(mr) & -PCI_MAPREG_IO_ADDR(mr))#define	PCI_MAPREG_IO_ADDR_MASK			0xfffffffe#define	PCI_MAPREG_ROM_ADDR(mr)						\	    ((mr) & PCI_MAPREG_ROM_ADDR_MASK)#define	PCI_MAPREG_ROM_SIZE(mr)						\	    (PCI_MAPREG_ROM_ADDR(mr) & -PCI_MAPREG_ROM_ADDR(mr))#define	PCI_MAPREG_ROM_ADDR_MASK		0xfffff800/* * Cardbus CIS pointer (PCI rev. 2.1) */#define PCI_CARDBUS_CIS_REG 0x28/* * Subsystem identification register; contains a vendor ID and a device ID. * Types/macros for PCI_ID_REG apply. * (PCI rev. 2.1) */#define PCI_SUBSYS_ID_REG 0x2c/* * capabilities link list (PCI rev. 2.2) */#define PCI_CAPLISTPTR_REG		0x34#define PCI_CAPLIST_PTR(cpr) ((cpr) & 0xff)#define PCI_CAPLIST_NEXT(cr) (((cr) >> 8) & 0xff)#define PCI_CAPLIST_CAP(cr) ((cr) & 0xff)#define PCI_CAP_REESSERVED	0x00#define PCI_CAP_PWRMGMT		0x01#define PCI_CAP_AGP		0x02#define PCI_CAP_VPD		0x03#define PCI_CAP_SLOTID		0x04#define PCI_CAP_MBI		0x05#define PCI_CAP_CPCI_HOTSWAP	0x06#define PCI_CAP_PCIX		0x07#define PCI_CAP_LDT		0x08#define PCI_CAP_VENDSPEC	0x09#define PCI_CAP_DEBUGPORT	0x0a#define PCI_CAP_CPCI_RSRCCTL	0x0b#define PCI_CAP_HOTPLUG		0x0c/* * Power Management Control Status Register; access via capability pointer. */#define PCI_PMCSR_STATE_MASK	0x03#define PCI_PMCSR_STATE_D0	0x00#define PCI_PMCSR_STATE_D1	0x01#define PCI_PMCSR_STATE_D2	0x02#define PCI_PMCSR_STATE_D3	0x03/* * Interrupt Configuration Register; contains interrupt pin and line. */#define	PCI_INTERRUPT_REG		0x3ctypedef u_int8_t pci_intr_pin_t;typedef u_int8_t pci_intr_line_t;#define	PCI_INTERRUPT_PIN_SHIFT			8#define	PCI_INTERRUPT_PIN_MASK			0xff#define	PCI_INTERRUPT_PIN(icr) \	    (((icr) >> PCI_INTERRUPT_PIN_SHIFT) & PCI_INTERRUPT_PIN_MASK)#define	PCI_INTERRUPT_LINE_SHIFT		0#define	PCI_INTERRUPT_LINE_MASK			0xff#define	PCI_INTERRUPT_LINE(icr) \	    (((icr) >> PCI_INTERRUPT_LINE_SHIFT) & PCI_INTERRUPT_LINE_MASK)#define	PCI_MIN_GNT_SHIFT			16#define	PCI_MIN_GNT_MASK			0xff#define	PCI_MIN_GNT(icr) \	    (((icr) >> PCI_MIN_GNT_SHIFT) & PCI_MIN_GNT_MASK)#define	PCI_MAX_LAT_SHIFT			24#define	PCI_MAX_LAT_MASK			0xff#define	PCI_MAX_LAT(icr) \	    (((icr) >> PCI_MAX_LAT_SHIFT) & PCI_MAX_LAT_MASK)#define	PCI_INTERRUPT_PIN_NONE			0x00#define	PCI_INTERRUPT_PIN_A			0x01#define	PCI_INTERRUPT_PIN_B			0x02#define	PCI_INTERRUPT_PIN_C			0x03#define	PCI_INTERRUPT_PIN_D			0x04#define	PCI_INTERRUPT_PIN_MAX			0x04#endif /* _DEV_PCI_PCIREG_H_ */

⌨️ 快捷键说明

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