1 /**************************************************************************
2 Etherboot - BOOTP/TFTP Bootstrap Program
3 Prism2 NIC driver for Etherboot
6 Written by Michael Brown of Fen Systems Ltd
8 ***************************************************************************/
11 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2, or (at
14 * your option) any later version.
20 #define WLAN_HOSTIF WLAN_PCI
23 static int prism2_pci_probe ( struct nic
*nic
, struct pci_device
*pci
) {
24 hfa384x_t
*hw
= &hw_global
;
25 uint32_t membase
= 0; /* Prism2.5 Memory Base */
27 pci_fill_nic ( nic
, pci
);
28 pci_read_config_dword( pci
, PRISM2_PCI_MEM_BASE
, &membase
);
29 membase
&= PCI_BASE_ADDRESS_MEM_MASK
;
30 hw
->membase
= (uint32_t) phys_to_virt(membase
);
31 printf ( "Prism2.5 has registers at %#lx\n", hw
->membase
);
32 nic
->ioaddr
= hw
->membase
;
34 return prism2_probe ( nic
, hw
);
37 static void prism2_pci_disable ( struct nic
*nic
) {
38 prism2_disable ( nic
);
41 static struct pci_device_id prism2_pci_nics
[] = {
42 PCI_ROM(0x1260, 0x3873, "prism2_pci", "Harris Semiconductor Prism2.5 clone"),
43 PCI_ROM(0x1260, 0x3873, "hwp01170", "ActionTec HWP01170"),
44 PCI_ROM(0x1260, 0x3873, "dwl520", "DLink DWL-520"),
47 PCI_DRIVER ( prism2_pci_driver
, prism2_pci_nics
, PCI_NO_CLASS
);
49 DRIVER ( "Prism2/PCI", nic_driver
, pci_driver
, prism2_pci_driver
,
50 prism2_pci_probe
, prism2_pci_disable
);