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