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.

AM62A7: [C7x] How get interrupt number and event id for c75 ipc

Part Number: AM62A7

Tool/software:

Dear supporter,

I enabled IPC for C7x and saw it used gIpcNotifyInterruptConfig_c75ss0_0 in ipc_notify_v0_cfg.c which is :

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
IpcNotify_InterruptConfig gIpcNotifyInterruptConfig_c75ss0_0[IPC_NOFTIY_INTERRUPT_CONFIG_C75SS0_0_NUM] = {
{
.intNum = 59U, /* interrupt line on C75SS0_0 CPU */
.eventId = 192, /* CSL int num + CLEC SOC offset */
.numCores = 1U, /* number of cores that send messages which tied to this interrupt line */
.coreIdList = { /* core ID's tied to this interrupt line */
CSL_CORE_ID_MCU_R5FSS0_0
},
},
{
.intNum = 60U, /* interrupt line on C75SS0_0 CPU */
.eventId = 193, /* CSL int num + CLEC SOC offset */
.numCores = 1U, /* number of cores that send messages which tied to this interrupt line */
.coreIdList = { /* core ID's tied to this interrupt line */
CSL_CORE_ID_A53SS0_0
},
},
{
.intNum = 62U, /* interrupt line on C75SS0_0 CPU */
.eventId = 195, /* CSL int num + CLEC SOC offset */
.numCores = 1U, /* number of cores that send messages which tied to this interrupt line */
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

I checked the interrupt table in TRM, and saw the interrupt line seems to be different:

C7X256V0_CLEC_GIC_SPI_IN_76  Cluster0
C7X256V0_CLEC_GIC_SPI_IN_77  Cluster1
C7X256V0_CLEC_GIC_SPI_IN_108  Cluster2
C7X256V0_CLEC_GIC_SPI_IN_109  Cluster3

1. Could you please help me verify how .intNum and eventId in above struct were calculate? 

2. CLEC_SOC_INT_START is 192. Where can I find such information in document?

Thank you and best regards,

Jack

  • Hello Jack,

    Please expect a response in a day or two, thank you for your patience!

    Regards,
    Krithika

  • Hi Jack,
    .intNum is interrupt line on C7x and CLEC is essentially routing the interrupts to C7x CPU. The decision to assign the interrupt number is taken care of by the SDK. The event id is the CLEC_SOC_INT_START(192) + Interrupt ID(found in the TRM)(C7X256V0_CLEC_SOC_EVENTS_IN_IN_0). The documentation for C7x is not public yet, that is the reason you are not able find the CLEC_SOC_INT START value in any documentation. 

    Regards,

    Shreyansh