Dear TI experts:
We use processor_sdk_rtos_am57xx_6_03_00_106 and board idk572x.
We need to process PTP packets using CPTS on A15 core with Gigabit port.
I give below the initialization code CPTS:
int volatile * const control = (int*)0x48484C04;
*control |= (0 << 0);
int volatile * const ts_ltype = (int*)0x4848402C;
*ts_ltype = 0x88F7;
const uint32_t seqOffset = 0x1E;
int volatile * const p1_control = (int*)0x48484200;
*p1_control = (*p1_control & 0xffef0000)|(
(1 << 0) | // Port 1 Receive Time Sync enableds */
(1 << 1) | // Time Sync Transmit Enable */
(1 << 2) | // Time Sync LTYPE 1 enable */
(1 << 4) | // stamp annex D packets */
(1 << 5) | // stamp annex E packets */
(1 << 6) | // stamp annex F packets */
(1 << 7) | // stamp unicast packets */
(1 << 8)); // stamp packets with nonzero ttl */
int volatile * const p1_ts_seq_mytype = (int*)0x4848421C;
*p1_ts_seq_mytype = (seqOffset << 16) | 0xFFFF;
int volatile * const cpts_int_en = (int*)0x48484C28;
*cpts_int_en |= (1 << 0);
*control |= (1 << 0); /* CPTS_EN */
CSL_xbarMpuIrqConfigure(CSL_XBAR_INST_MPU_IRQ_94, CSL_XBAR_GMAC_SW_IRQ_MISC_PULSE);
Hwi_construct(&CptsHwiHandler, 94 + 32, CptsHwi, NULL, NULL);
CSL_CPSW_enableWrMiscInt(WrRegs, 0, 16); /* BIT(4) is the CPTS IRQ EN */
We generate test packets using PTPD. Ethernet statistic show receiving packets, but we don't watch interrupts CPTS_EVENT_PACKET_RX in CCS
I present our test project below.
Please tell me where we went wrong and why we do not see interrupt events for receiving packet?
Best Regards,
Alex