Jump to main content

##

# 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