| CMSIS-Driver Version 2.02 Peripheral Interface for Middleware and Application Code

- CMSIS
- CORE
- Driver
- DSP
- RTOS API
- Pack
- SVD

- Main Page
- Usage and Description
- Reference

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs
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,01) /* 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.
#define | ARM_ETH_MAC_CONTROL_TX (0x02)
| Transmitter; arg: 0=disabled, 1=enabled.
#define | ARM_ETH_MAC_CONTROL_RX (0x03)
| Receiver; arg: 0=disabled, 1=enabled.
#define | ARM_ETH_MAC_FLUSH (0x04)
| Flush buffer; arg = ARM_ETH_MAC_FLUSH_...
#define | ARM_ETH_MAC_SLEEP (0x05)
| Sleep mode; arg: 1=enter and wait for Magic packet, 0=exit.
#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.
#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 (0x01)
| Get current time.
#define | ARM_ETH_MAC_TIMER_SET_TIME (0x02)
| Set new time.
#define | ARM_ETH_MAC_TIMER_INC_TIME (0x03)
| Increment current time.
#define | ARM_ETH_MAC_TIMER_DEC_TIME (0x04)
| Decrement current time.
#define | ARM_ETH_MAC_TIMER_SET_ALARM (0x05)
| Set alarm time.
#define | ARM_ETH_MAC_TIMER_ADJUST_CLOCK (0x06)
| 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

#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_API_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(2,01) /* API version */

#define ARM_ETH_MAC_DUPLEX_Msk (1UL << ARM_ETH_MAC_DUPLEX_Pos)

#define ARM_ETH_MAC_DUPLEX_Pos 2

#define ARM_ETH_MAC_SPEED_Msk (3UL << ARM_ETH_MAC_SPEED_Pos)

#define ARM_ETH_MAC_SPEED_Pos 0