CMSIS-Driver  
Peripheral Interface for Middleware and Application Code
 
Loading...
Searching...
No Matches
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,2) /* 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   (0x01UL)
 Configure MAC; arg = configuration.
 
#define ARM_ETH_MAC_CONTROL_TX   (0x02UL)
 Transmitter; arg: 0=disabled (default), 1=enabled.
 
#define ARM_ETH_MAC_CONTROL_RX   (0x03UL)
 Receiver; arg: 0=disabled (default), 1=enabled.
 
#define ARM_ETH_MAC_FLUSH   (0x04UL)
 Flush buffer; arg = ARM_ETH_MAC_FLUSH_...
 
#define ARM_ETH_MAC_SLEEP   (0x05UL)
 Sleep mode; arg: 1=enter and wait for Magic packet, 0=exit.
 
#define ARM_ETH_MAC_VLAN_FILTER   (0x06UL)
 VLAN Filter for received frames; arg15..0: VLAN Tag; arg16: optional ARM_ETH_MAC_VLAN_FILTER_ID_ONLY; 0=disabled (default)
 
#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
 
#define ARM_ETH_MAC_SPEED_100M   (ARM_ETH_SPEED_100M << ARM_ETH_MAC_SPEED_Pos)
 100 Mbps link speed
 
#define ARM_ETH_MAC_SPEED_1G   (ARM_ETH_SPEED_1G << ARM_ETH_MAC_SPEED_Pos)
 1 Gpbs link speed
 
#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.
 
#define ARM_ETH_MAC_DUPLEX_FULL   (ARM_ETH_DUPLEX_FULL << ARM_ETH_MAC_DUPLEX_Pos)
 Full duplex link.
 
#define ARM_ETH_MAC_LOOPBACK   (1UL << 4)
 Loop-back test mode.
 
#define ARM_ETH_MAC_CHECKSUM_OFFLOAD_RX   (1UL << 5)
 Receiver Checksum offload.
 
#define ARM_ETH_MAC_CHECKSUM_OFFLOAD_TX   (1UL << 6)
 Transmitter Checksum offload.
 
#define ARM_ETH_MAC_ADDRESS_BROADCAST   (1UL << 7)
 Accept frames with Broadcast address.
 
#define ARM_ETH_MAC_ADDRESS_MULTICAST   (1UL << 8)
 Accept frames with any Multicast address.
 
#define ARM_ETH_MAC_ADDRESS_ALL   (1UL << 9)
 Accept frames with any address (Promiscuous Mode)
 
#define ARM_ETH_MAC_FLUSH_RX   (1UL << 0)
 Flush Receive buffer.
 
#define ARM_ETH_MAC_FLUSH_TX   (1UL << 1)
 Flush Transmit buffer.
 
#define ARM_ETH_MAC_VLAN_FILTER_ID_ONLY   (1UL << 16)
 Compare only the VLAN Identifier (12-bit)
 
#define ARM_ETH_MAC_TX_FRAME_FRAGMENT   (1UL << 0)
 Indicate frame fragment.
 
#define ARM_ETH_MAC_TX_FRAME_EVENT   (1UL << 1)
 Generate event when frame is transmitted.
 
#define ARM_ETH_MAC_TX_FRAME_TIMESTAMP   (1UL << 2)
 Capture frame time stamp.
 
#define ARM_ETH_MAC_TIMER_GET_TIME   (0x01UL)
 Get current time.
 
#define ARM_ETH_MAC_TIMER_SET_TIME   (0x02UL)
 Set new time.
 
#define ARM_ETH_MAC_TIMER_INC_TIME   (0x03UL)
 Increment current time.
 
#define ARM_ETH_MAC_TIMER_DEC_TIME   (0x04UL)
 Decrement current time.
 
#define ARM_ETH_MAC_TIMER_SET_ALARM   (0x05UL)
 Set alarm time.
 
#define ARM_ETH_MAC_TIMER_ADJUST_CLOCK   (0x06UL)
 Adjust clock frequency; time->ns: correction factor * 2^31.
 
#define ARM_ETH_MAC_EVENT_RX_FRAME   (1UL << 0)
 Frame Received.
 
#define ARM_ETH_MAC_EVENT_TX_FRAME   (1UL << 1)
 Frame Transmitted.
 
#define ARM_ETH_MAC_EVENT_WAKEUP   (1UL << 2)
 Wake-up (on Magic Packet)
 
#define ARM_ETH_MAC_EVENT_TIMER_ALARM   (1UL << 3)
 Timer Alarm.
 

Typedefs

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

Macro Definition Documentation

◆ ARM_ETH_MAC_API_VERSION

#define ARM_ETH_MAC_API_VERSION   ARM_DRIVER_VERSION_MAJOR_MINOR(2,2) /* API version */

◆ _ARM_Driver_ETH_MAC_

#define _ARM_Driver_ETH_MAC_ (   n)    Driver_ETH_MAC##n

◆ ARM_Driver_ETH_MAC_

#define ARM_Driver_ETH_MAC_ (   n)    _ARM_Driver_ETH_MAC_(n)

◆ ARM_ETH_MAC_SPEED_Pos

#define ARM_ETH_MAC_SPEED_Pos   0

◆ ARM_ETH_MAC_SPEED_Msk

#define ARM_ETH_MAC_SPEED_Msk   (3UL << ARM_ETH_MAC_SPEED_Pos)

◆ ARM_ETH_MAC_DUPLEX_Pos

#define ARM_ETH_MAC_DUPLEX_Pos   2

◆ ARM_ETH_MAC_DUPLEX_Msk

#define ARM_ETH_MAC_DUPLEX_Msk   (1UL << ARM_ETH_MAC_DUPLEX_Pos)