| Line No. | Rev | Author | Line |
|---|---|---|---|
| 1 | 6 | kaklik | /*! \file cs8900conf.h \brief Crystal CS8900 Ethernet Interface Driver Configuration. */ |
| 2 | //***************************************************************************** |
||
| 3 | // |
||
| 4 | // File Name : 'cs8900conf.h' |
||
| 5 | // Title : Crystal CS8900 Ethernet Interface Driver Configuration |
||
| 6 | // Author : Pascal Stang |
||
| 7 | // Created : 11/7/2004 |
||
| 8 | // Revised : 8/22/2005 |
||
| 9 | // Version : 0.1 |
||
| 10 | // Target MCU : Atmel AVR series |
||
| 11 | // Editor Tabs : 4 |
||
| 12 | // |
||
| 13 | /// \ingroup network |
||
| 14 | // |
||
| 15 | // Description : This driver provides initialization and transmit/receive |
||
| 16 | // functions for the Crystal CS8900 10Mb Ethernet Controller and PHY. |
||
| 17 | // |
||
| 18 | //***************************************************************************** |
||
| 19 | |||
| 20 | #ifndef CS8900CONF_H |
||
| 21 | #define CS8900CONF_H |
||
| 22 | |||
| 23 | // This driver supports a CS8900 connected in memory-mapped or direct I/O mode. |
||
| 24 | // |
||
| 25 | #define GENERAL_IO 0 |
||
| 26 | // Direct I/O mode assumes the NIC address, data, and control lines are |
||
| 27 | // connected directly to processor I/O pins. The memory-bus accesses are |
||
| 28 | // software emulated. |
||
| 29 | // |
||
| 30 | //#define MEMORY_MAPPED 1 (*** MEMORY-MAPPED NOT YET IMPLEMENTED ***) |
||
| 31 | // Memory-mapped mode assumes that the NIC is connected the processor via |
||
| 32 | // the external memory bus, and that the NIC address space starts at the |
||
| 33 | // memory location CS8900_MEMORY_MAPPED_OFFSET. |
||
| 34 | // |
||
| 35 | // In either mode, a seperate I/O pins is required for control of the NIC's |
||
| 36 | // hardware RESET line. |
||
| 37 | |||
| 38 | |||
| 39 | // set the connection type used to communicate with the NIC |
||
| 40 | #define NIC_CONNECTION GENERAL_IO |
||
| 41 | |||
| 42 | #if NIC_CONNECTION != GENERAL_IO |
||
| 43 | // NIC is memory-mapped starting at this address |
||
| 44 | #define CS8900_MEMORY_MAPPED_OFFSET 0x8000 |
||
| 45 | #else // NIC Interface through General I/O |
||
| 46 | // CS8900 address port |
||
| 47 | #define CS8900_ADDRESS_PORT PORTF |
||
| 48 | #define CS8900_ADDRESS_DDR DDRF |
||
| 49 | #define CS8900_ADDRESS_MASK 0x0F |
||
| 50 | // CS8900 data port |
||
| 51 | #define CS8900_DATA_PORT PORTA |
||
| 52 | #define CS8900_DATA_DDR DDRA |
||
| 53 | #define CS8900_DATA_PIN PINA |
||
| 54 | // CS8900 control port |
||
| 55 | #define CS8900_CONTROL_PORT PORTB |
||
| 56 | #define CS8900_CONTROL_DDR DDRB |
||
| 57 | #define CS8900_CONTROL_READPIN 4 |
||
| 58 | #define CS8900_CONTROL_WRITEPIN 3 |
||
| 59 | #endif |
||
| 60 | |||
| 61 | // CS8900 RESET pin |
||
| 62 | #define CS8900_RESET_PORT PORTB |
||
| 63 | #define CS8900_RESET_DDR DDRB |
||
| 64 | #define CS8900_RESET_PIN 1 |
||
| 65 | |||
| 66 | // MAC address for this interface |
||
| 67 | #ifdef ETHADDR0 |
||
| 68 | #define CS8900_MAC0 ETHADDR0 |
||
| 69 | #define CS8900_MAC1 ETHADDR1 |
||
| 70 | #define CS8900_MAC2 ETHADDR2 |
||
| 71 | #define CS8900_MAC3 ETHADDR3 |
||
| 72 | #define CS8900_MAC4 ETHADDR4 |
||
| 73 | #define CS8900_MAC5 ETHADDR5 |
||
| 74 | #else |
||
| 75 | #define CS8900_MAC0 '0' |
||
| 76 | #define CS8900_MAC1 'F' |
||
| 77 | #define CS8900_MAC2 'F' |
||
| 78 | #define CS8900_MAC3 'I' |
||
| 79 | #define CS8900_MAC4 'C' |
||
| 80 | #define CS8900_MAC5 'E' |
||
| 81 | #endif |
||
| 82 | |||
| 83 | #endif |
Powered by WebSVN v2.8.3