50 #include <dev/aic7xxx/aic7xxx_osm.h>
51 #include <dev/aic7xxx/aic7xxx_inline.h>
52 #include <dev/aic7xxx/aic7xxx_93cx6.h>
55 #define ID_AIC7770 0x04907770
56 #define ID_AHA_274x 0x04907771
57 #define ID_AHA_284xB 0x04907756
58 #define ID_AHA_284x 0x04907757
59 #define ID_OLV_274x 0x04907782
60 #define ID_OLV_274xD 0x04907783
62 static int aic7770_chip_init(
struct ahc_softc *ahc);
63 static int aha2840_load_seeprom(
struct ahc_softc *ahc);
73 "Adaptec 274X SCSI adapter",
74 ahc_aic7770_EISA_setup
79 "Adaptec 284X SCSI adapter",
85 "Adaptec 284X SCSI adapter (BIOS Disabled)",
91 "Adaptec (Olivetti OEM) 274X SCSI adapter",
92 ahc_aic7770_EISA_setup
97 "Adaptec (Olivetti OEM) 274X Differential SCSI adapter",
98 ahc_aic7770_EISA_setup
104 "Adaptec aic7770 SCSI adapter",
105 ahc_aic7770_EISA_setup
117 entry = &aic7770_ident_table[
i];
133 error = entry->
setup(ahc);
173 printk(
"aic7770_config: invalid irq setting %d\n", intdef);
177 if ((intdef & EDGE_TRIG) != 0)
207 if (scsiconf1 & TERM_ENB)
211 if ((
ahc_inb(ahc, HA_274_BIOSGLOBAL) & HA_274_EXTENDED_TRANS))
217 have_seeprom = aha2840_load_seeprom(ahc);
223 if (have_seeprom == 0) {
275 aha2840_load_seeprom(
struct ahc_softc *ahc)
296 printk(
"%s: Reading SEEPROM...", ahc_name(ahc));
304 printk (
"checksum error\n");
313 printk(
"%s: No SEEPROM available\n", ahc_name(ahc));
326 for (i = 0; i < max_targ; i++){
331 target_settings |=
SOFS;
335 discenable |= (0x01 <<
i);
343 scsi_conf = (ahc->
our_id & 0x7);
357 return (have_seeprom);
361 ahc_aic7770_VL_setup(
struct ahc_softc *ahc)
365 error = ahc_aic7770_setup(ahc);
371 ahc_aic7770_EISA_setup(
struct ahc_softc *ahc)
375 error = ahc_aic7770_setup(ahc);