CMSIS-Driver  Version 2.05
Peripheral Interface for Middleware and Application Code
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Driver_ETH_MAC.h File Reference

Data Structures

struct  ARM_ETH_MAC_TIME
 Ethernet MAC Time. More...
 
struct  ARM_ETH_MAC_CAPABILITIES
 Ethernet MAC Capabilities. More...
 
struct  ARM_DRIVER_ETH_MAC
 Access structure of the Ethernet MAC Driver. More...
 

Macros

#define ARM_ETH_MAC_API_VERSION   ARM_DRIVER_VERSION_MAJOR_MINOR(2,1) /* API version */
 
#define _ARM_Driver_ETH_MAC_(n)   Driver_ETH_MAC##n
 
#define ARM_Driver_ETH_MAC_(n)   _ARM_Driver_ETH_MAC_(n)
 
#define ARM_ETH_MAC_CONFIGURE   (0x01)
 Configure MAC; arg = configuration. More...
 
#define ARM_ETH_MAC_CONTROL_TX   (0x02)
 Transmitter; arg: 0=disabled (default), 1=enabled. More...
 
#define ARM_ETH_MAC_CONTROL_RX   (0x03)
 Receiver; arg: 0=disabled (default), 1=enabled. More...
 
#define ARM_ETH_MAC_FLUSH   (0x04)
 Flush buffer; arg = ARM_ETH_MAC_FLUSH_... More...
 
#define ARM_ETH_MAC_SLEEP   (0x05)
 Sleep mode; arg: 1=enter and wait for Magic packet, 0=exit. More...
 
#define ARM_ETH_MAC_VLAN_FILTER   (0x06)
 VLAN Filter for received frames; arg15..0: VLAN Tag; arg16: optional ARM_ETH_MAC_VLAN_FILTER_ID_ONLY; 0=disabled (default) More...
 
#define ARM_ETH_MAC_SPEED_Pos   0
 
#define ARM_ETH_MAC_SPEED_Msk   (3UL << ARM_ETH_MAC_SPEED_Pos)
 
#define ARM_ETH_MAC_SPEED_10M   (ARM_ETH_SPEED_10M << ARM_ETH_MAC_SPEED_Pos)
 10 Mbps link speed More...
 
#define ARM_ETH_MAC_SPEED_100M   (ARM_ETH_SPEED_100M << ARM_ETH_MAC_SPEED_Pos)
 100 Mbps link speed More...
 
#define ARM_ETH_MAC_SPEED_1G   (ARM_ETH_SPEED_1G << ARM_ETH_MAC_SPEED_Pos)
 1 Gpbs link speed More...
 
#define ARM_ETH_MAC_DUPLEX_Pos   2
 
#define ARM_ETH_MAC_DUPLEX_Msk   (1UL << ARM_ETH_MAC_DUPLEX_Pos)
 
#define ARM_ETH_MAC_DUPLEX_HALF   (ARM_ETH_DUPLEX_HALF << ARM_ETH_MAC_DUPLEX_Pos)
 Half duplex link. More...
 
#define ARM_ETH_MAC_DUPLEX_FULL   (ARM_ETH_DUPLEX_FULL << ARM_ETH_MAC_DUPLEX_Pos)
 Full duplex link. More...
 
#define ARM_ETH_MAC_LOOPBACK   (1UL << 4)
 Loop-back test mode. More...
 
#define ARM_ETH_MAC_CHECKSUM_OFFLOAD_RX   (1UL << 5)
 Receiver Checksum offload. More...
 
#define ARM_ETH_MAC_CHECKSUM_OFFLOAD_TX   (1UL << 6)
 Transmitter Checksum offload. More...
 
#define ARM_ETH_MAC_ADDRESS_BROADCAST   (1UL << 7)
 Accept frames with Broadcast address. More...
 
#define ARM_ETH_MAC_ADDRESS_MULTICAST   (1UL << 8)
 Accept frames with any Multicast address. More...
 
#define ARM_ETH_MAC_ADDRESS_ALL   (1UL << 9)
 Accept frames with any address (Promiscuous Mode) More...
 
#define ARM_ETH_MAC_FLUSH_RX   (1UL << 0)
 Flush Receive buffer. More...
 
#define ARM_ETH_MAC_FLUSH_TX   (1UL << 1)
 Flush Transmit buffer. More...
 
#define ARM_ETH_MAC_VLAN_FILTER_ID_ONLY   (1UL << 16)
 Compare only the VLAN Identifier (12-bit) More...
 
#define ARM_ETH_MAC_TX_FRAME_FRAGMENT   (1UL << 0)
 Indicate frame fragment. More...
 
#define ARM_ETH_MAC_TX_FRAME_EVENT   (1UL << 1)
 Generate event when frame is transmitted. More...
 
#define ARM_ETH_MAC_TX_FRAME_TIMESTAMP   (1UL << 2)
 Capture frame time stamp. More...
 
#define ARM_ETH_MAC_TIMER_GET_TIME   (0x01)
 Get current time. More...
 
#define ARM_ETH_MAC_TIMER_SET_TIME   (0x02)
 Set new time. More...
 
#define ARM_ETH_MAC_TIMER_INC_TIME   (0x03)
 Increment current time. More...
 
#define ARM_ETH_MAC_TIMER_DEC_TIME   (0x04)
 Decrement current time. More...
 
#define ARM_ETH_MAC_TIMER_SET_ALARM   (0x05)
 Set alarm time. More...
 
#define ARM_ETH_MAC_TIMER_ADJUST_CLOCK   (0x06)
 Adjust clock frequency; time->ns: correction factor * 2^31. More...
 
#define ARM_ETH_MAC_EVENT_RX_FRAME   (1UL << 0)
 Frame Received. More...
 
#define ARM_ETH_MAC_EVENT_TX_FRAME   (1UL << 1)
 Frame Transmitted. More...
 
#define ARM_ETH_MAC_EVENT_WAKEUP   (1UL << 2)
 Wake-up (on Magic Packet) More...
 
#define ARM_ETH_MAC_EVENT_TIMER_ALARM   (1UL << 3)
 Timer Alarm. More...
 

Typedefs

typedef void(* ARM_ETH_MAC_SignalEvent_t )(uint32_t event)
 Pointer to ARM_ETH_MAC_SignalEvent : Signal Ethernet Event. More...
 

Macro Definition Documentation

#define ARM_ETH_MAC_API_VERSION   ARM_DRIVER_VERSION_MAJOR_MINOR(2,1) /* API version */
#define _ARM_Driver_ETH_MAC_ (   n)    Driver_ETH_MAC##n
#define ARM_Driver_ETH_MAC_ (   n)    _ARM_Driver_ETH_MAC_(n)
#define ARM_ETH_MAC_SPEED_Pos   0
#define ARM_ETH_MAC_SPEED_Msk   (3UL << ARM_ETH_MAC_SPEED_Pos)
#define ARM_ETH_MAC_DUPLEX_Pos   2
#define ARM_ETH_MAC_DUPLEX_Msk   (1UL << ARM_ETH_MAC_DUPLEX_Pos)