This example demonstrates Time-Aware Shaper functionality on ICSSG Switch and Dual-MAC peripherals.
Below shows the configuration used for the Time Aware Shaper which is used to configure each MAC port in AM64xx device.
==========================
ENET ICSSG TAS TEST
==========================
Init all peripheral clocks
----------------------------------------------
Enabling clocks!
Init all configs
----------------------------------------------
Init configs EnetType:2, InstId :1
----------------------------------------------
icssg1: Open port 1
EnetPhy_bindDriver:
icssg1: Open port 2
EnetPhy_bindDriver:
PHY 3 is alive
PHY 15 is alive
Open all peripherals
----------------------------------------------
icssg1: Register async IOCTL callback
icssg1: Register TX timestamp callback
Attach core id 1 on all peripherals
----------------------------------------------
icssg1: Attach core
Create RX tasks
----------------------------------------------
icssg1: Create RX task
icssg1: Waiting for link up...
Enet Multiport Menu:
'T' - Start the TAS test with default config
's' - Print statistics
'r' - Reset statistics
'x' - Stop the test
Icssg_handleLinkUp:
Icssg_handleLinkUp:
icssg1: Port 1 link is up
icssg1: Set port state to 'Forward'
icssg1: Async IOCTL completed
icssg1: Async IOCTL completed
icssg1: Port 2 link is up
icssg1: Set port state to 'Forward'
icssg1: Async IOCTL completed
icssg1: Async IOCTL completed
icssg1: Open DMA
initQs() txFreePktInfoQ initialized with 8 pkts
icssg1: Set MAC addr: 70:ff:76:1d:92:c1
icssg1: MAC port addr: 70:ff:76:1d:92:c1
Invalid option, try again...
Enet Multiport Menu:
'T' - Start the TAS test with default config
's' - Print statistics
'r' - Reset statistics
'x' - Stop the test
T
Success: IOCTL command sent for making MAC entry in FDB
icssg1: Async IOCTL completed
Success: IOCTL command sent for making MAC entry in FDB
icssg1: Async IOCTL completed
EnetMod_ioctl:
icssg1: Async IOCTL completed
icssg1: Async IOCTL completed
EnetMod_ioctl:
icssg1: Async IOCTL completed
icssg1: Async IOCTL completed
EnetMod_ioctl:
icssg1: Async IOCTL completed
icssg1: Async IOCTL completed
Transmitting 16 packets
Packet 0 is within window timestamp : 1100 window_start : 0 window_end : 62500
Packet 1 is within window timestamp : 3304 window_start : 0 window_end : 62500
Packet 2 is within window timestamp : 64640 window_start : 62500 window_end : 125000
Packet 3 is within window timestamp : 63448 window_start : 62500 window_end : 125000
Packet 4 is within window timestamp : 128280 window_start : 125000 window_end : 187500
Packet 5 is within window timestamp : 125844 window_start : 125000 window_end : 187500
Packet 6 is within window timestamp : 190516 window_start : 187500 window_end : 250000
Packet 7 is within window timestamp : 188096 window_start : 187500 window_end : 250000
Packet 8 is within window timestamp : 57388 window_start : 0 window_end : 62500
Packet 9 is within window timestamp : 1208 window_start : 0 window_end : 62500
Packet 10 is within window timestamp : 70952 window_start : 62500 window_end : 125000
Packet 11 is within window timestamp : 75696 window_start : 62500 window_end : 125000
Packet 12 is within window timestamp : 129472 window_start : 125000 window_end : 187500
Packet 13 is within window timestamp : 127040 window_start : 125000 window_end : 187500
Packet 14 is within window timestamp : 191720 window_start : 187500 window_end : 250000
Packet 15 is within window timestamp : 189288 window_start : 187500 window_end : 250000
Enet TAS Test PASSED
EnetMod_ioctl:
icssg1: Async IOCTL completed
icssg1: Async IOCTL completed
EnetMod_ioctl:
icssg1: Async IOCTL completed
icssg1: Async IOCTL completed
EnetMod_ioctl:
icssg1: Async IOCTL completed
icssg1: Async IOCTL completed
Transmitting 16 packets
Packet 0 is within window timestamp : 30448 window_start : 0 window_end : 62500
Packet 1 is within window timestamp : 35912 window_start : 0 window_end : 62500
Packet 2 is within window timestamp : 64304 window_start : 62500 window_end : 125000
Packet 3 is within window timestamp : 63108 window_start : 62500 window_end : 125000
Packet 4 is within window timestamp : 128216 window_start : 125000 window_end : 187500
Packet 5 is within window timestamp : 125788 window_start : 125000 window_end : 187500
Packet 6 is within window timestamp : 190784 window_start : 187500 window_end : 250000
Packet 7 is within window timestamp : 188356 window_start : 187500 window_end : 250000
Packet 8 is within window timestamp : 2336 window_start : 0 window_end : 62500
Packet 9 is within window timestamp : 1144 window_start : 0 window_end : 62500
Packet 10 is within window timestamp : 100280 window_start : 62500 window_end : 125000
Packet 11 is within window timestamp : 105036 window_start : 62500 window_end : 125000
Packet 12 is within window timestamp : 129416 window_start : 125000 window_end : 187500
Packet 13 is within window timestamp : 126984 window_start : 125000 window_end : 187500
Packet 14 is within window timestamp : 191984 window_start : 187500 window_end : 250000
Packet 15 is within window timestamp : 189552 window_start : 187500 window_end : 250000
Enet TAS Test PASSED