1.2.5.6.2 SAM9x60 EMAC (EMAC) Configurations

EMAC Specific User Configurations

  • MAC Base Address:

    • Selected EMAC peripheral base address

    • Default value: EMACx_BASE_ADDRESS

    • Symbol MAC_BASE_ADDRESS

  • Default Network MAC Driver:

    • Name of the MAC driver

    • Default value: "DRV_EMACx_Object"

    • Symbol DRV_MAC_CODE

  • Interrupt Source:

    • The EMAC peripheral interrupt source

    • Default value: "EMACn_IRQn"

    • Symbol MAC_INTERRUPT_SOURCE

  • MAC Default Configuration for Network Traffic:

    • Default configuration settings for low/medium/high network traffic

    • Default value: "Medium"

    • Symbol TCPIP_EMAC_TRAFFIC

  • TX descriptor count:

    • Number of the TX descriptors to be created for this queue.

    • Default value: 80

    • Symbol TX_DESCRIPTOR_COUNT_n

  • TX buffer size:

    • Size of the TX buffer for this queue

    • Note: should be a multiple of 16

    • Default value: 1536/64

    • Symbol TX_BUFFER_SIZE_n

  • RX buffer size:

    • Size of a RX packet buffer for this queue.

    • Note: Should be multiple of 16.

    • Default value: 128

    • Symbol RX_BUFFER_SIZE_n

  • RX descriptor count:

    • Number of the RX descriptors to be created for this queue

    • Acceptable values: 12 to 1024

    • Default value: 100

    • Symbol RX_DESCRIPTOR_COUNT_n

  • RX static buffers:

    • Number of static RX packet buffers for this queue.

    • These buffers are always owned by the EMAC.

    • Default value: 0

    • Symbol RX_STATIC_BUFFERS_n

  • RX dynamic allocation threshold:

    • Minumum threshold for the buffer replenish process for this queue.

    • Whenever the number of RX scheduled buffers is <= than this threshold the EMAC driver will allocate new non-dedicated buffers (meaning that they will be released to the TCP/IP heap once they are processed).

    • Setting this value to 0 disables the buffer replenishing process.

    • Default value: 15

    • Symbol RX_BUFFER_ALLOCATION_THRESHOLD_n

  • RX dynamic buffer allocation:

    • Number of buffers allocated dynamically for this queue

    • Default value: 30

    • Symbol RX_BUFFER_ALLOCATION_n

  • RX Link Filters:

    • EMAC RX Filters

    • These filters define the packets that are accepted and rejected by the EMAC driver

    • Adjust to your needs

    • The default value allows the processing of unicast, multicast and broadcast packets that have a valid CRC

    • Default value: none

    • Symbol DRV_EMACn_RX_FILTERS

  • Accept Broadcast Packets:

    • Allow the receiving of broadcast packets

    • Default value: true

    • Symbol LINK_ACCEPT_BCAST, DRV_EMACn_RX_FILTERS

  • Accept Multicast Packets:

    • Allow the receiving of multicast packets

    • Default value: true

    • Symbol LINK_ACCEPT_MCAST, DRV_EMACn_RX_FILTERS

  • Accept Unicast Packets:

    • Allow the receiving of unicast packets

    • Default value: true

    • Symbol LINK_ACCEPT_UCAST, DRV_EMACn_RX_FILTERS

  • Accept Multicast Packets matching Hash:

    • Enable EMAC multicast Hash RX filter

    • Default value: false

    • Symbol LINK_ACCEPT_MCAST_HASH, DRV_EMACn_RX_FILTERS

  • Accept Unicast Packets matching Hash:

    • Enable EMAC unicast Hash RX filter

    • Default value: false

    • Symbol LINK_ACCEPT_UCAST_HASH, DRV_EMACn_RX_FILTERS

  • Reject Packets with Wrong CRC:

    • The EMAC RX should reject packets with wrong CRC

    • Default value: true

    • Symbol LINK_REJECT_CRC_ERROR, DRV_EMACn_RX_FILTERS

  • Accept Packets with Wrong CRC:

    • The EMAC RX should Accept packets with wrong CRC

    • Default value: false

    • Symbol LINK_ACCEPT_CRC_ERROR, DRV_EMACn_RX_FILTERS

  • Accept maximum frame size packets:

    • The EMAC should accept maximum size frame packets

    • Default value: false

    • Symbol LINK_ACCEPT_MAX_FRAME_SIZE_PACKETS,DRV_EMACn_RX_FILTERS

  • Accept Packets with Frame Error:

    • The EMAC should accept packets with frame error

    • Default value: false

    • Symbol LINK_ACCEPT_FRAME_ERROR, DRV_EMACn_RX_FILTERS

  • Accept Jumbo Packets:

    • The EMAC should accept jumbo packets

    • Default value: false

    • Symbol LINK_ACCEPT_JUMBO_FRAME, DRV_EMACn_RX_FILTERS

  • Promiscuous mode enable:

    • Allow the receiving of not me unicast packets (promiscuous mode)

    • Default value: false

    • Symbol LINK_ACCEPT_ALL, DRV_EMACn_RX_FILTERS

  • Auto negotiation enable:

    • Use auto-negotiation to select the link speed and duplex

    • Default value: true

    • Symbol LINK_AUTO_NEGOTIATION

  • Allow full duplex:

    • Use full-duplex on the link

    • Default value: true

    • Symbol LINK_AUTO_FULL_DUPLEX

  • Allow half duplex:

    • Use half-duplex on the link

    • Default value: true

    • Symbol LINK_AUTO_HALF_DUPLEX

  • Allow 100MBps:

    • Use 100 Mbps on the link

    • Default value: true

    • Symbol LINK_AUTO_100

  • Allow 10MBps:

    • Use 10 Mbps on the link

    • Default value: true

    • Symbol LINK_AUTO_10

  • Manual link type:

    • Allow manual selection of the link parameters

    • Select one of:

      • Full Duplex, 100 Mbps

      • Full Duplex, 10 Mbps

      • Half Duplex, 100 Mbps

      • Half Duplex, 10 Mbps

    • Default value: "Full Duplex, 100 Mbps"

    • Symbol LINK_MANUAL_CHOICE

  • Allow Huge Packets:

    • Allow the transfer of huge/jumbo packets

    • Default value: false

    • Symbol ALLOW_HUGE_PACKETS

  • MDIX auto enable:

    • Use Auto MDIX on the link

    • Default value: true

    • Symbol MDIX_AUTO_ENABLE

  • MDIX swapped:

    • Swap the MDIX wires

    • Default value: false

    • Symbol MDIX_SWAP

  • MAC level loop back:

    • Enable EMAC loopback

    • Default value: false

    • Symbol MAC_LOOPBACK

  • PHY level loop back:

    • Enable PHY loopback

    • Default value: false

    • Symbol PHY_LOOPBACK

  • Use RMII:

    • Use RMII EMAC <-> PHY connection (otherwise MII)

    • Default value: true

    • Symbol USE_RMII

  • External PHY Device:

    • The external PHY connected to the EMAC device

    • Default value: ""

    • Symbol DRV_MAC_PHY_TYPE

  • EMAC Heap Size (bytes):

    • Estimation of the heap size taken by the EMAC driver

    • Default value: none

    • Symbol DRV_EMAC_HEAP_SIZE