This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi expert,
I'm trying to run example enet_layer2_multi_channel in mcu_plus_sdk_am273x_08_05_00_24 with AM2732 EVM board. I can see the TX timestamp is printed on UART log correctly. But i did not see RX timestamp printed which the PTP packet is sent by packETH tool on another PC. In the Wireshark log i can see both TX and RX PTP packets as below.
Is this example support RX PTP packet? How to do the test?
Thank you.
29163 2072.795995 HP_a2:9f:5c LLDP_Multicast PTPv2 69 Peer_Delay_Resp Message
29164 2073.283974 HP_a2:9f:5c LLDP_Multicast PTPv2 69 Peer_Delay_Resp Message
29174 2074.011596 HP_a2:9f:5c LLDP_Multicast PTPv2 69 Peer_Delay_Resp Message
29295 2079.989163 TexasIns_1d:ec:f2 LLDP_Multicast PTPv2 68 Peer_Delay_Req Message
29296 2080.199182 TexasIns_1d:ec:f2 LLDP_Multicast PTPv2 68 Peer_Delay_Req Message
29297 2080.409249 TexasIns_1d:ec:f2 LLDP_Multicast PTPv2 68 Peer_Delay_Req Message
29381 2082.844017 HP_a2:9f:5c LLDP_Multicast PTPv2 69 Peer_Delay_Resp Message
29383 2083.403646 HP_a2:9f:5c LLDP_Multicast PTPv2 69 Peer_Delay_Resp Message
29402 2083.939541 HP_a2:9f:5c LLDP_Multicast PTPv2 69 Peer_Delay_Resp Message
29420 2085.051617 HP_a2:9f:5c LLDP_Multicast PTPv2 69 Peer_Delay_Resp Message
Hi Allen,
Hope you are doing well.
There is a known limitation on AM273x-EVM, that is related to packet classification based on packet priority (priority remapping).
Before I can share more details, would need some details.
Can you please change the below lines in example.syscfg-
enet_cpsw1.txDmaChannel[0].$name = "ENET_DMA_TX_CH0";
enet_cpsw1.txDmaChannel[1].$name = "ENET_DMA_TX_CH_PTP";
enet_cpsw1.rxDmaChannel[0].$name = "ENET_DMA_RX_CH0";
enet_cpsw1.rxDmaChannel[1].$name = "ENET_DMA_RX_CH_PTP";
to
enet_cpsw1.txDmaChannel[0].$name = "ENET_DMA_TX_CH_PTP";
enet_cpsw1.txDmaChannel[1].$name = "ENET_DMA_TX_CH0";
enet_cpsw1.rxDmaChannel[0].$name = "ENET_DMA_RX_CH_PTP";
enet_cpsw1.rxDmaChannel[1].$name = "ENET_DMA_RX_CH0";
and rerun the example. This will map the PTP packets to RX Channel 0.
With regards,
Pradeep
Hi Pradeep
The CPSW MISC interrupt don't occur anymore( breakpoint of function Cpsw_dmaMiscIsr don't enter when receive ptp event frame or send ptp event frame) when ptp demo runs a period of time (maybe one hour or more time, an unfixable time) .
The demo test results of mcu_plus_sdk_am273x_08_05_00_24 and mcu_plus_sdk_am273x_08_06_00_32 are same.
Here is debug print contents as bellow figure.
I open CPSW CPTS statistic function, the cpts event statistics result (RxEventcnt and TxEventCnt) from watching the expression of (*(CpswCpts_Handle)(((Cpsw_Handle)gEnetApp.perCtxt[0].hEnet->enetPer)->hCpts)).eventStats don't increase anymore
But The misc enable and misc status from gEnetSoc_dmaObj[0] as bellow, they are expected value.
Can you give me any help?
Thanks
Best Regards
Jeff
Hi Pradeep
I test the ptp demo on the AM273x-EVM, all PTP Tx and Rx eth-frame are still normal when the TxEvent and RxEvent counter don't update anymore.
Hello Jeff,
We root caused the issue to a bug in our DMA Misc Interrupt configuration of AM273x. The trigger type for Misc CPDMA interrupts needs to set to edge triggered instead of level triggered. This change needs to be done in the template file "enet_soc_cfg.c.xdt" in gEnetSoc_cpsw2gSocCfg, clean and build the example.
With this fix, we no longer see the issue with Rx timestamps. This will be fixed in 09.01 MCU_PLUS_SDK release.
Thanks and Regards
Susheel
Hello Susheel
Thanks four your reply, it solves the problem.
We root caused the issue to a bug in our DMA Misc Interrupt configuration of AM273x. The trigger type for Misc CPDMA interrupts needs to set to edge triggered instead of level triggered. This change needs to be done in the template file "enet_soc_cfg.c.xdt" in gEnetSoc_cpsw2gSocCfg, clean and build the example.
Best Regards
Jeff