diff options
Diffstat (limited to 'drivers/net/defxx.h')
-rw-r--r-- | drivers/net/defxx.h | 58 |
1 files changed, 36 insertions, 22 deletions
diff --git a/drivers/net/defxx.h b/drivers/net/defxx.h index 2ce8f97253eb..19a6f64df198 100644 --- a/drivers/net/defxx.h +++ b/drivers/net/defxx.h | |||
@@ -26,6 +26,7 @@ | |||
26 | * 12-Sep-96 LVS Removed packet request header pointers. | 26 | * 12-Sep-96 LVS Removed packet request header pointers. |
27 | * 04 Aug 2003 macro Converted to the DMA API. | 27 | * 04 Aug 2003 macro Converted to the DMA API. |
28 | * 23 Oct 2006 macro Big-endian host support. | 28 | * 23 Oct 2006 macro Big-endian host support. |
29 | * 14 Dec 2006 macro TURBOchannel support. | ||
29 | */ | 30 | */ |
30 | 31 | ||
31 | #ifndef _DEFXX_H_ | 32 | #ifndef _DEFXX_H_ |
@@ -1471,9 +1472,17 @@ typedef union | |||
1471 | 1472 | ||
1472 | #endif /* __BIG_ENDIAN */ | 1473 | #endif /* __BIG_ENDIAN */ |
1473 | 1474 | ||
1475 | /* Define TC PDQ CSR offset and length */ | ||
1476 | |||
1477 | #define PI_TC_K_CSR_OFFSET 0x100000 | ||
1478 | #define PI_TC_K_CSR_LEN 0x40 /* 64 bytes */ | ||
1479 | |||
1474 | /* Define EISA controller register offsets */ | 1480 | /* Define EISA controller register offsets */ |
1475 | 1481 | ||
1476 | #define PI_ESIC_K_BURST_HOLDOFF 0x040 | 1482 | #define PI_ESIC_K_CSR_IO_LEN 0x80 /* 128 bytes */ |
1483 | |||
1484 | #define PI_DEFEA_K_BURST_HOLDOFF 0x040 | ||
1485 | |||
1477 | #define PI_ESIC_K_SLOT_ID 0xC80 | 1486 | #define PI_ESIC_K_SLOT_ID 0xC80 |
1478 | #define PI_ESIC_K_SLOT_CNTRL 0xC84 | 1487 | #define PI_ESIC_K_SLOT_CNTRL 0xC84 |
1479 | #define PI_ESIC_K_MEM_ADD_CMP_0 0xC85 | 1488 | #define PI_ESIC_K_MEM_ADD_CMP_0 0xC85 |
@@ -1488,14 +1497,14 @@ typedef union | |||
1488 | #define PI_ESIC_K_MEM_ADD_LO_CMP_0 0xC8E | 1497 | #define PI_ESIC_K_MEM_ADD_LO_CMP_0 0xC8E |
1489 | #define PI_ESIC_K_MEM_ADD_LO_CMP_1 0xC8F | 1498 | #define PI_ESIC_K_MEM_ADD_LO_CMP_1 0xC8F |
1490 | #define PI_ESIC_K_MEM_ADD_LO_CMP_2 0xC90 | 1499 | #define PI_ESIC_K_MEM_ADD_LO_CMP_2 0xC90 |
1491 | #define PI_ESIC_K_IO_CMP_0_0 0xC91 | 1500 | #define PI_ESIC_K_IO_ADD_CMP_0_0 0xC91 |
1492 | #define PI_ESIC_K_IO_CMP_0_1 0xC92 | 1501 | #define PI_ESIC_K_IO_ADD_CMP_0_1 0xC92 |
1493 | #define PI_ESIC_K_IO_CMP_1_0 0xC93 | 1502 | #define PI_ESIC_K_IO_ADD_CMP_1_0 0xC93 |
1494 | #define PI_ESIC_K_IO_CMP_1_1 0xC94 | 1503 | #define PI_ESIC_K_IO_ADD_CMP_1_1 0xC94 |
1495 | #define PI_ESIC_K_IO_CMP_2_0 0xC95 | 1504 | #define PI_ESIC_K_IO_ADD_CMP_2_0 0xC95 |
1496 | #define PI_ESIC_K_IO_CMP_2_1 0xC96 | 1505 | #define PI_ESIC_K_IO_ADD_CMP_2_1 0xC96 |
1497 | #define PI_ESIC_K_IO_CMP_3_0 0xC97 | 1506 | #define PI_ESIC_K_IO_ADD_CMP_3_0 0xC97 |
1498 | #define PI_ESIC_K_IO_CMP_3_1 0xC98 | 1507 | #define PI_ESIC_K_IO_ADD_CMP_3_1 0xC98 |
1499 | #define PI_ESIC_K_IO_ADD_MASK_0_0 0xC99 | 1508 | #define PI_ESIC_K_IO_ADD_MASK_0_0 0xC99 |
1500 | #define PI_ESIC_K_IO_ADD_MASK_0_1 0xC9A | 1509 | #define PI_ESIC_K_IO_ADD_MASK_0_1 0xC9A |
1501 | #define PI_ESIC_K_IO_ADD_MASK_1_0 0xC9B | 1510 | #define PI_ESIC_K_IO_ADD_MASK_1_0 0xC9B |
@@ -1518,11 +1527,16 @@ typedef union | |||
1518 | #define PI_ESIC_K_INPUT_PORT 0xCAC | 1527 | #define PI_ESIC_K_INPUT_PORT 0xCAC |
1519 | #define PI_ESIC_K_OUTPUT_PORT 0xCAD | 1528 | #define PI_ESIC_K_OUTPUT_PORT 0xCAD |
1520 | #define PI_ESIC_K_FUNCTION_CNTRL 0xCAE | 1529 | #define PI_ESIC_K_FUNCTION_CNTRL 0xCAE |
1521 | #define PI_ESIC_K_CSR_IO_LEN PI_ESIC_K_FUNCTION_CNTRL+1 /* always last reg + 1 */ | ||
1522 | 1530 | ||
1523 | /* Define the value all drivers must write to the function control register. */ | 1531 | /* Define the bits in the function control register. */ |
1524 | 1532 | ||
1525 | #define PI_ESIC_K_FUNCTION_CNTRL_IO_ENB 0x03 | 1533 | #define PI_FUNCTION_CNTRL_M_IOCS0 0x01 |
1534 | #define PI_FUNCTION_CNTRL_M_IOCS1 0x02 | ||
1535 | #define PI_FUNCTION_CNTRL_M_IOCS2 0x04 | ||
1536 | #define PI_FUNCTION_CNTRL_M_IOCS3 0x08 | ||
1537 | #define PI_FUNCTION_CNTRL_M_MEMCS0 0x10 | ||
1538 | #define PI_FUNCTION_CNTRL_M_MEMCS1 0x20 | ||
1539 | #define PI_FUNCTION_CNTRL_M_DMA 0x80 | ||
1526 | 1540 | ||
1527 | /* Define the bits in the slot control register. */ | 1541 | /* Define the bits in the slot control register. */ |
1528 | 1542 | ||
@@ -1540,6 +1554,10 @@ typedef union | |||
1540 | #define PI_BURST_HOLDOFF_V_RESERVED 1 | 1554 | #define PI_BURST_HOLDOFF_V_RESERVED 1 |
1541 | #define PI_BURST_HOLDOFF_V_MEM_MAP 0 | 1555 | #define PI_BURST_HOLDOFF_V_MEM_MAP 0 |
1542 | 1556 | ||
1557 | /* Define the implicit mask of the Memory Address Mask Register. */ | ||
1558 | |||
1559 | #define PI_MEM_ADD_MASK_M 0x3ff | ||
1560 | |||
1543 | /* | 1561 | /* |
1544 | * Define the fields in the IO Compare registers. | 1562 | * Define the fields in the IO Compare registers. |
1545 | * The driver must initialize the slot field with the slot ID shifted by the | 1563 | * The driver must initialize the slot field with the slot ID shifted by the |
@@ -1577,6 +1595,7 @@ typedef union | |||
1577 | #define DEFEA_PROD_ID_1 0x0130A310 /* DEC product 300, rev 1 */ | 1595 | #define DEFEA_PROD_ID_1 0x0130A310 /* DEC product 300, rev 1 */ |
1578 | #define DEFEA_PROD_ID_2 0x0230A310 /* DEC product 300, rev 2 */ | 1596 | #define DEFEA_PROD_ID_2 0x0230A310 /* DEC product 300, rev 2 */ |
1579 | #define DEFEA_PROD_ID_3 0x0330A310 /* DEC product 300, rev 3 */ | 1597 | #define DEFEA_PROD_ID_3 0x0330A310 /* DEC product 300, rev 3 */ |
1598 | #define DEFEA_PROD_ID_4 0x0430A310 /* DEC product 300, rev 4 */ | ||
1580 | 1599 | ||
1581 | /**********************************************/ | 1600 | /**********************************************/ |
1582 | /* Digital PFI Specification v1.0 Definitions */ | 1601 | /* Digital PFI Specification v1.0 Definitions */ |
@@ -1633,12 +1652,6 @@ typedef union | |||
1633 | #define PFI_STATUS_V_FIFO_EMPTY 1 | 1652 | #define PFI_STATUS_V_FIFO_EMPTY 1 |
1634 | #define PFI_STATUS_V_DMA_IN_PROGRESS 0 | 1653 | #define PFI_STATUS_V_DMA_IN_PROGRESS 0 |
1635 | 1654 | ||
1636 | #define DFX_MAX_EISA_SLOTS 16 /* maximum number of EISA slots to scan */ | ||
1637 | #define DFX_MAX_NUM_BOARDS 8 /* maximum number of adapters supported */ | ||
1638 | |||
1639 | #define DFX_BUS_TYPE_PCI 0 /* type code for DEC FDDIcontroller/PCI */ | ||
1640 | #define DFX_BUS_TYPE_EISA 1 /* type code for DEC FDDIcontroller/EISA */ | ||
1641 | |||
1642 | #define DFX_FC_PRH2_PRH1_PRH0 0x54003820 /* Packet Request Header bytes + FC */ | 1655 | #define DFX_FC_PRH2_PRH1_PRH0 0x54003820 /* Packet Request Header bytes + FC */ |
1643 | #define DFX_PRH0_BYTE 0x20 /* Packet Request Header byte 0 */ | 1656 | #define DFX_PRH0_BYTE 0x20 /* Packet Request Header byte 0 */ |
1644 | #define DFX_PRH1_BYTE 0x38 /* Packet Request Header byte 1 */ | 1657 | #define DFX_PRH1_BYTE 0x38 /* Packet Request Header byte 1 */ |
@@ -1756,10 +1769,11 @@ typedef struct DFX_board_tag | |||
1756 | /* Store device, bus-specific, and parameter information for this adapter */ | 1769 | /* Store device, bus-specific, and parameter information for this adapter */ |
1757 | 1770 | ||
1758 | struct net_device *dev; /* pointer to device structure */ | 1771 | struct net_device *dev; /* pointer to device structure */ |
1759 | struct net_device *next; | 1772 | union { |
1760 | u32 bus_type; /* bus type (0 == PCI, 1 == EISA) */ | 1773 | void __iomem *mem; |
1761 | u16 base_addr; /* base I/O address (same as dev->base_addr) */ | 1774 | int port; |
1762 | struct pci_dev * pci_dev; | 1775 | } base; /* base address */ |
1776 | struct device *bus_dev; | ||
1763 | u32 full_duplex_enb; /* FDDI Full Duplex enable (1 == on, 2 == off) */ | 1777 | u32 full_duplex_enb; /* FDDI Full Duplex enable (1 == on, 2 == off) */ |
1764 | u32 req_ttrt; /* requested TTRT value (in 80ns units) */ | 1778 | u32 req_ttrt; /* requested TTRT value (in 80ns units) */ |
1765 | u32 burst_size; /* adapter burst size (enumerated) */ | 1779 | u32 burst_size; /* adapter burst size (enumerated) */ |