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