2.6.12 planetlab config file
[linux-2.6.git] / drivers / ide / pci / pdc202xx_new.h
1 #ifndef PDC202XX_H
2 #define PDC202XX_H
3
4 #include <linux/config.h>
5 #include <linux/pci.h>
6 #include <linux/ide.h>
7
8 const static char *pdc_quirk_drives[] = {
9         "QUANTUM FIREBALLlct08 08",
10         "QUANTUM FIREBALLP KA6.4",
11         "QUANTUM FIREBALLP KA9.1",
12         "QUANTUM FIREBALLP LM20.4",
13         "QUANTUM FIREBALLP KX13.6",
14         "QUANTUM FIREBALLP KX20.5",
15         "QUANTUM FIREBALLP KX27.3",
16         "QUANTUM FIREBALLP LM20.5",
17         NULL
18 };
19
20 #define set_2regs(a, b)                                 \
21         do {                                            \
22                 hwif->OUTB((a + adj), indexreg);        \
23                 hwif->OUTB(b, datareg);                 \
24         } while(0)
25
26 #define set_ultra(a, b, c)                              \
27         do {                                            \
28                 set_2regs(0x10,(a));                    \
29                 set_2regs(0x11,(b));                    \
30                 set_2regs(0x12,(c));                    \
31         } while(0)
32
33 #define set_ata2(a, b)                                  \
34         do {                                            \
35                 set_2regs(0x0e,(a));                    \
36                 set_2regs(0x0f,(b));                    \
37         } while(0)
38
39 #define set_pio(a, b, c)                                \
40         do {                                            \
41                 set_2regs(0x0c,(a));                    \
42                 set_2regs(0x0d,(b));                    \
43                 set_2regs(0x13,(c));                    \
44         } while(0)
45
46 static void init_setup_pdcnew(struct pci_dev *, ide_pci_device_t *);
47 static void init_setup_pdc20270(struct pci_dev *, ide_pci_device_t *);
48 static void init_setup_pdc20276(struct pci_dev *dev, ide_pci_device_t *d);
49 static unsigned int init_chipset_pdcnew(struct pci_dev *, const char *);
50 static void init_hwif_pdc202new(ide_hwif_t *);
51
52 static ide_pci_device_t pdcnew_chipsets[] __devinitdata = {
53         {       /* 0 */
54                 .name           = "PDC20268",
55                 .init_setup     = init_setup_pdcnew,
56                 .init_chipset   = init_chipset_pdcnew,
57                 .init_hwif      = init_hwif_pdc202new,
58                 .channels       = 2,
59                 .autodma        = AUTODMA,
60                 .bootable       = OFF_BOARD,
61         },{     /* 1 */
62                 .name           = "PDC20269",
63                 .init_setup     = init_setup_pdcnew,
64                 .init_chipset   = init_chipset_pdcnew,
65                 .init_hwif      = init_hwif_pdc202new,
66                 .channels       = 2,
67                 .autodma        = AUTODMA,
68                 .bootable       = OFF_BOARD,
69         },{     /* 2 */
70                 .name           = "PDC20270",
71                 .init_setup     = init_setup_pdc20270,
72                 .init_chipset   = init_chipset_pdcnew,
73                 .init_hwif      = init_hwif_pdc202new,
74                 .channels       = 2,
75                 .autodma        = AUTODMA,
76 #ifndef CONFIG_PDC202XX_FORCE
77                 .enablebits     = {{0x50,0x02,0x02}, {0x50,0x04,0x04}},
78 #endif
79                 .bootable       = OFF_BOARD,
80         },{     /* 3 */
81                 .name           = "PDC20271",
82                 .init_setup     = init_setup_pdcnew,
83                 .init_chipset   = init_chipset_pdcnew,
84                 .init_hwif      = init_hwif_pdc202new,
85                 .channels       = 2,
86                 .autodma        = AUTODMA,
87                 .bootable       = OFF_BOARD,
88         },{     /* 4 */
89                 .name           = "PDC20275",
90                 .init_setup     = init_setup_pdcnew,
91                 .init_chipset   = init_chipset_pdcnew,
92                 .init_hwif      = init_hwif_pdc202new,
93                 .channels       = 2,
94                 .autodma        = AUTODMA,
95                 .bootable       = OFF_BOARD,
96         },{     /* 5 */
97                 .name           = "PDC20276",
98                 .init_setup     = init_setup_pdc20276,
99                 .init_chipset   = init_chipset_pdcnew,
100                 .init_hwif      = init_hwif_pdc202new,
101                 .channels       = 2,
102                 .autodma        = AUTODMA,
103 #ifndef CONFIG_PDC202XX_FORCE
104                 .enablebits     = {{0x50,0x02,0x02}, {0x50,0x04,0x04}},
105 #endif
106                 .bootable       = OFF_BOARD,
107         },{     /* 6 */
108                 .name           = "PDC20277",
109                 .init_setup     = init_setup_pdcnew,
110                 .init_chipset   = init_chipset_pdcnew,
111                 .init_hwif      = init_hwif_pdc202new,
112                 .channels       = 2,
113                 .autodma        = AUTODMA,
114                 .bootable       = OFF_BOARD,
115         }
116 };
117
118 #endif /* PDC202XX_H */