1 /*
2 pci_intel.h
3 
4 Created:	Jan 2000 by Philip Homburg <philip@cs.vu.nl>
5 */
6 
7 #define PCII_CONFADD	0xCF8
8 #define		PCIIC_CODE		0x80000000
9 #define		PCIIC_BUSNUM_MASK	  0xff0000
10 #define		PCIIC_BUSNUM_SHIFT	        16
11 #define		PCIIC_DEVNUM_MASK	    0xf800
12 #define		PCIIC_DEVNUM_SHIFT	        11
13 #define		PCIIC_FUNCNUM_MASK	     0x700
14 #define		PCIIC_FUNCNUM_SHIFT	         8
15 #define		PCIIC_REGNUM_MASK	      0xfc
16 #define		PCIIC_REGNUM_SHIFT	         2
17 #define PCII_CONFDATA	0xCFC
18 
19 #define PCII_SELREG_(bus, dev, func, reg) \
20 	(PCIIC_CODE | \
21 	    (((bus) << PCIIC_BUSNUM_SHIFT) & PCIIC_BUSNUM_MASK) | \
22 	    (((dev) << PCIIC_DEVNUM_SHIFT) & PCIIC_DEVNUM_MASK) | \
23 	    (((func) << PCIIC_FUNCNUM_SHIFT) & PCIIC_FUNCNUM_MASK) | \
24 	    ((((reg)/4) << PCIIC_REGNUM_SHIFT) & PCIIC_REGNUM_MASK))
25 #define PCII_UNSEL 	(0)
26 
27 #define PCII_RREG8_(bus, dev, func, reg) \
28 	(pci_outl(PCII_CONFADD, PCII_SELREG_(bus, dev, func, reg)), \
29 	pci_inb(PCII_CONFDATA+((reg)&3)))
30 #define PCII_RREG16_(bus, dev, func, reg) \
31 	(pci_outl(PCII_CONFADD, PCII_SELREG_(bus, dev, func, reg)), \
32 	pci_inw(PCII_CONFDATA+((reg)&2)))
33 #define PCII_RREG32_(bus, dev, func, reg) \
34 	(pci_outl(PCII_CONFADD, PCII_SELREG_(bus, dev, func, reg)), \
35 	pci_inl(PCII_CONFDATA))
36 
37 #define PCII_WREG8_(bus, dev, func, reg, val) \
38 	(pci_outl(PCII_CONFADD, PCII_SELREG_(bus, dev, func, reg)), \
39 	pci_outb(PCII_CONFDATA+((reg)&3), (val)))
40 #define PCII_WREG16_(bus, dev, func, reg, val) \
41 	(pci_outl(PCII_CONFADD, PCII_SELREG_(bus, dev, func, reg)), \
42 	pci_outw(PCII_CONFDATA+((reg)&2), (val)))
43 #define PCII_WREG32_(bus, dev, func, reg, val) \
44 	(pci_outl(PCII_CONFADD, PCII_SELREG_(bus, dev, func, reg)), \
45 	pci_outl(PCII_CONFDATA, (val)))
46 
47 /* PIIX configuration registers */
48 #define PIIX_PIRQRCA	0x60
49 #define 	PIIX_IRQ_DI	0x80
50 #define 	PIIX_IRQ_MASK	0x0F
51 
52 /* PIIX extensions to the PIC */
53 #define PIIX_ELCR1	0x4D0
54 #define PIIX_ELCR2	0x4D1
55 
56 /*
57  * $PchId: pci_intel.h,v 1.1 2000/08/12 11:20:17 philip Exp $
58  */
59