1.2.5.5.2 SAM MAC (GMAC) Configurations
GMAC Specific User Configurations
GMAC Default Configuration for Network Traffic:
- Default configuration settings for low/medium/high network traffic
- Default value: "Medium"
- Symbol TCPIP_GMAC_TRAFFIC
GMAC Queue n Tx Enable:
- Enable this GMAC TX Queue
- Default value: true
- Symbol TCPIP_GMAC_TX_EN_QUEn
GMAC Queue n Rx Enable:
- Enable this GMAC RX Queue
- Default value: true
- Symbol TCPIP_GMAC_RX_EN_QUEn
Number of Tx Descriptors:
- Number of the TX descriptors to be created for this queue.
- The amount of memory needed per descriptor is not high so when high GMAC TX performance is needed make sure that this number is >= 8.
- Default value: 8
- Symbol TCPIP_GMAC_TX_DESCRIPTORS_COUNT_QUEn
Max Tx Packet size supported:
- Maximum size of a TX packet for this queue
- Note: Transmit packet size for this queue should be less than this limit!
- Default value: 1536
- Symbol TCPIP_GMAC_MAX_TX_PKT_SIZE_QUEn
Number of Rx Descriptors:
- Number of the RX descriptors to be created for this queue
- Default value: 8
- Symbol TCPIP_GMAC_RX_DESCRIPTORS_COUNT_QUEn
Number of Dedicated MAC RX Buffers:
- Number of GMAC dedicated RX packet buffers for this queue.
- These buffers are always owned by the GMAC.
- Note that the GMAC driver allocates these buffers for storing the incoming network packets.
- The bigger the storage capacity, the higher data throughput can be obtained.
- Note that these packet buffers are allocated from the private TCP/IP heap that is specified by the TCPIP_STACK_DRAM_SIZE setting.
- Default value: 8
- Symbol TCPIP_GMAC_RX_DEDICATED_BUFFERS_QUEn
Size of RX Buffer (multiple of 64):
- Size of a RX packet buffer for this queue. Should be multiple of 64.
- The size should be enough to accommodate any network received packet.
- If the packets are larger, they will have to take multiple RX buffers and the packet manipulation is less efficient.
- Default value: 1536
- Symbol TCPIP_GMAC_RX_BUFF_SIZE_QUEn
Number of additional Rx buffers:
- Number of additional (sticky) buffers for this queue
- Buffers allocated at the GMAC driver initialization.
- Default value: 2
- Symbol TCPIP_GMAC_RX_ADDL_BUFF_COUNT_QUEn
Minimum Threshold for Rx Buffer replenish process:
- Minumum threshold for the buffer replenish process for this queue.
- Whenever the number of RX scheduled buffers is <= than this threshold the GMAC 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: 1
- Symbol TCPIP_GMAC_RX_BUFF_COUNT_THRESHOLD_QUEn
Rx Buffer allocate count during replenish process:
- Number of RX buffers to allocate when below threshold condition is detected for this queue.
- If 0, the GMAC driver will allocate (scheduled buffers - rxThres)
- If !0, the GMAC driver will allocate exactly TCPIP_GMAC_RX_BUFF_ALLOC_COUNT_QUEn buffers
- Default value: 2
- Symbol TCPIP_GMAC_RX_BUFF_ALLOC_COUNT_QUEn
Ethernet RX Filters Selection:
- GMAC RX Filters
- These filters define the packets that are accepted and rejected by the GMAC 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 TCPIP_GMAC_RX_FILTERS
Accept Broadcast Packets:
- Allow the receiving of broadcast packets
- Default value: true
- Symbol TCPIP_GMAC_ETH_FILTER_BCAST_ACCEPT, TCPIP_GMAC_RX_FILTERS
Accept Multicast Packets:
- Allow the receiving of multicast packets
- Default value: true
- Symbol TCPIP_GMAC_ETH_FILTER_MCAST_ACCEPT, TCPIP_GMAC_RX_FILTERS
Accept Unicast Packets:
- Allow the receiving of unicast packets
- Default value: true
- Symbol TCPIP_GMAC_ETH_FILTER_UCAST_ACCEPT, TCPIP_GMAC_RX_FILTERS
Accept All Packets (Promiscuous Mode):
- Allow the receiving of not me unicast packets (promiscuous mode)
- Default value: false
- Symbol TCPIP_GMAC_ETH_FILTER_ALL_ACCEPT, TCPIP_GMAC_RX_FILTERS
Use Auto Negotiation:
- Use auto-negotiation to select the link speed and duplex
- Default value: true
- Symbol TCPIP_GMAC_ETH_OF_AUTO_NEGOTIATION
Use Full Duplex:
- Use/Advertise full-duplex on the link
- Default value: true
- Symbol TCPIP_GMAC_ETH_OF_FULL_DUPLEX
Use Half Duplex:
- Use/Advertise half-duplex on the link
- Default value: true
- Symbol TCPIP_GMAC_ETH_OF_HALF_DUPLEX
Use 100MBps:
- Use/Advertise 100 Mbps on the link
- Default value: true
- Symbol TCPIP_GMAC_ETH_OF_100
Use 10MBps:
- Use/Advertise 10 Mbps on the link
- Default value: true
- Symbol TCPIP_GMAC_ETH_OF_10
Use Auto MDIX:
- Use Auto MDIX on the link
- Default value: true
- Symbol TCPIP_GMAC_ETH_OF_MDIX_AUTO
Use Swapped MDIX:
- Swap the MDIX wires
- Default value: false
- Symbol TCPIP_GMAC_ETH_OF_MDIX_SWAP
RMII Connection:
- Use RMII GMAC <-> PHY connection (otherwise MII)
- Default value: true
- Symbol TCPIP_GMAC_ETH_OF_RMII
GMAC Priority Queues:
- Number of GMAC priority queues
- Default value: processor dependant
- Symbol TCPIP_GMAC_PRIORITY_QUEUES
Number of Tx Priority Queues Enabled:
- Current number of Tx Priority Queues Enabled
- Default value: 1
- Symbol TCPIP_GMAC_TX_PRIO_COUNT
Number of Rx Priority Queues Enabled:
- Current number of Rx Priority Queues Enabled
- Default value: 1
- Symbol TCPIP_GMAC_RX_PRIO_COUNT
Accept Multicast Packets matching Hash:
- Enable GMAC multicast Hash RX filter
- Default value: false
- Symbol TCPIP_GMAC_ETH_FILTER_MCAST_HASH_ACCEPT
Accept Unicast Packets matching Hash:
- Enable GMAC unicast Hash RX filter
- Default value: false
- Symbol TCPIP_GMAC_ETH_FILTER_UCAST_HASH_ACCEPT
Reject Packets with Wrong CRC:
- The GMAC RX should reject packets with wrong CRC
- Default value: true
- Symbol TCPIP_GMAC_ETH_FILTER_CRC_ERROR_REJECT, TCPIP_GMAC_RX_FILTERS
Accept Packets with Wrong CRC:
- The GMAC RX should Accept packets with wrong CRC
- Default value: false
- Symbol TCPIP_GMAC_ETH_FILTER_CRC_ERROR_ACCEPT, TCPIP_GMAC_RX_FILTERS
Accept Packets with Maximum Frame Size(1536 bytes):
- The GMAC should accept maximum size frame packets
- Default value: false
- Symbol TCPIP_GMAC_ETH_FILTER_MAX_FRAME_ACCEPT
Accept Packets with Frame Error:
- The GMAC should accept packets with frame error
- Default value: false
- Symbol TCPIP_GMAC_ETH_FILTER_FRAME_ERROR_ACCEPT
Accept Jumbo Packets (upto 10240 bytes):
- Allow the transfer of huge/jumbo packets
- Default value: false
- Symbol TCPIP_GMAC_ETH_FILTER_JUMBO_FRAME_ACCEPT
Advanced Rx Queue Filters:
- Enable GMAC Advanced Rx Queue Filters
- Default value: false
- Symbol TCPIP_GMAC_RX_QUE_FILTER_EN
Allow Huge Packets:
- Allow the transfer of huge/jumbo packets
- Default value: false
- Symbol TCPIP_GMAC_ETH_OF_HUGE_PKTS
Loopbacked At The MAC Level:
- Enable GMAC loopback
- Default value: false
- Symbol TCPIP_GMAC_ETH_OF_MAC_LOOPBACK
Loopbacked At The PHY Level:
- Enable PHY loopback
- Default value: false
- Symbol TCPIP_GMAC_ETH_OF_PHY_LOOPBACK
Enable Rx Checksum Offload:
- Enable RX checksum calculation by GMAC
- Default value: false
- Symbol DRV_GMAC_RX_CHKSM_OFFLOAD
Enable Tx Checksum Offload:
- Enable TX checksum calculation by GMAC
- Default value: false
- Symbol DRV_GMAC_TX_CHKSM_OFFLOAD
RX Frame Maximum Size:
- Maximum GMAC supported RX frame size.
- The default value is 1536 (allows for VLAN tagged frames, although the VLAN tagged frames are discarded on RX).
- On RX: any incoming ETH frame that is longer than this size will be discarded.
- On TX: any frame that is longer than this size will be aborted by the GMAC.
- Normally there is no need to touch this value unless you know exactly the maximum size of the frames you want to process on your network.
- Notes:
- Always multiple of 16.
- Default value: 1536
- Symbol TCPIP_GMAC_RX_MAX_FRAME
Maximum Number of Fragments:
- GMAC maximum number of supported RX fragments.
- Note that excessive fragmentation leads to performance degradation.
- The default and recommended value should be 1.
- Default value: 1
- Symbol TCPIP_EMAC_RX_FRAGMENTS
GMAC Module ID:
- The ID of the GMAC module
- Default value: "GMAC_BASE_ADDRESS"
- Symbol TCPIP_INTMAC_MODULE_ID
External PHY Connected to MAC:
- The external PHY connected to the GMAC device
- Default value: "Not Connected"
- Symbol DRV_INTMAC_PHY_TYPE
Non-Cacheable Memory Region for GMAC Descriptors:
- Create a non-cacheable memory region in data memory
- Default value: true
- Symbol DRV_GMAC_NO_CACHE_CONFIG
Non-Cacheable Memory Size:
- The size of the region to be created
- Default value: 32 B - 32 KB
- Symbol DRV_GMAC_NOCACHE_REGION_SIZE
Start Address of Non-Cacheable Memory:
- The start address of the non cacheable region
- Note: Start Address must be aligned to Memory Size
- Default value: 0x2045F000 (SAME54, E70, etc.)
- Symbol DRV_GMAC_NOCACHE_MEM_ADDRESS
GMAC Heap Size (bytes):
- Estimation of the heap size taken by the GMAC driver
- Default value: none
- Symbol DRV_GMAC_HEAP_SIZE