Data Structures | |
| struct | buffer_descriptor |
| Receive & Transmit Buffer Descriptor definitions. More... | |
| struct | fec_priv |
| i.MX27-FEC private structure More... | |
Defines | |
| #define | DB_ALIGNMENT 16 |
| #define | DB_DATA_ALIGNMENT 16 |
| #define | FEC_RBD_NUM 64 |
| #define | FEC_MAX_PKT_SIZE 1536 |
| #define DB_ALIGNMENT 16 |
Descriptor buffer alignment.
i.MX27 requires a 16 byte alignment (but for the first element only)
| #define DB_DATA_ALIGNMENT 16 |
Data buffer alignment.
i.MX27 requires a 16 byte alignment
Note: Valid for member data_pointer in struct buffer_descriptor
| #define FEC_ECNTRL_ETHER_EN 0x00000002 |
enable the FEC
| #define FEC_ECNTRL_RESET 0x00000001 |
reset the FEC
| #define FEC_MAX_PKT_SIZE 1536 |
Define the ethernet packet size limit in memory.
Note: Do not shrink this number. This will force the FEC to spread larger frames in more than one BD. This is nothing to worry about, but the current driver can't handle it.
| #define FEC_MII_DATA_DATAMSK 0x0000ffff |
PHY data field.
| #define FEC_MII_DATA_OP_RD 0x20000000 |
Perform a read operation.
| #define FEC_MII_DATA_OP_WR 0x10000000 |
Perform a write operation.
| #define FEC_MII_DATA_PA_MSK 0x0f800000 |
PHY Address field mask.
| #define FEC_MII_DATA_RA_MSK 0x007c0000 |
PHY Register field mask.
| #define FEC_MII_DATA_ST 0x40000000 |
Start of frame delimiter.
| #define FEC_MII_DATA_TA 0x00020000 |
Turnaround.
| #define FEC_RBD_BC 0x0080 |
Receive BD status: The received frame is broadcast frame.
| #define FEC_RBD_CR 0x0004 |
Receive BD status: CRC error.
| #define FEC_RBD_EMPTY 0x8000 |
Receive BD status: Buffer is empty.
| #define FEC_RBD_INT 0x1000 |
Receive BD status: Interrupt.
| #define FEC_RBD_LAST 0x0800 |
Receive BD status: Buffer is last in frame (useless here!).
| #define FEC_RBD_LG 0x0020 |
Receive BD status: Frame length violation.
| #define FEC_RBD_MC 0x0040 |
Receive BD status: The received frame is multicast frame.
| #define FEC_RBD_MISS 0x0100 |
Receive BD status: Miss bit for prom mode.
| #define FEC_RBD_NO 0x0010 |
Receive BD status: Nonoctet align frame.
| #define FEC_RBD_NUM 64 |
Numbers of buffer descriptors for receiving.
The number defines the stocked memory buffers for the receiving task. Larger values makes no sense in this limited environment.
| #define FEC_RBD_OV 0x0002 |
Receive BD status: Receive FIFO overrun.
| #define FEC_RBD_SH 0x0008 |
Receive BD status: Short frame.
| #define FEC_RBD_TR 0x0001 |
Receive BD status: Frame is truncated.
| #define FEC_RBD_WRAP 0x2000 |
Receive BD status: Last BD in ring.
| #define FEC_TBD_ABC 0x0200 |
Tansmit BD status: Append bad CRC.
| #define FEC_TBD_INT 0x1000 |
Tansmit BD status: Interrupt.
| #define FEC_TBD_LAST 0x0800 |
Tansmit BD status: Buffer is last in frame.
| #define FEC_TBD_READY 0x8000 |
Tansmit BD status: Buffer is ready.
| #define FEC_TBD_TC 0x0400 |
Tansmit BD status: Transmit the CRC.
| #define FEC_TBD_WRAP 0x2000 |
Tansmit BD status: Mark as last BD in ring.
1.5.6