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.

MCU-PLUS-SDK-AM243X: AM243x-LP - GPIO INTERRUPT sciclient event config failed error

Part Number: MCU-PLUS-SDK-AM243X
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

I'm using AM243X-LP, SDK: 10.01.00.32.

I run the gpio_input_interrupt code, I got the output as mentioned in the document.

Now I'm trying the same procedure to monitor Falling edge of the slave pin. Using GPIO1_0 pin. Here I'm getting [Error]Sciclient event config failed. I attached the output image and example.sysconfig file below. Can you please guide to solve this issue. 

Thanks in Advance

  • Hi,

    Can you please guide to solve this issue. 

    Please share your example.syscfg file with us to further analyze the issue.

    Regards,

    Tushar

  • Thank you for the response Tushar.

    I have attached the main.c file and example.sysconfig file below for your reference.

    0880.code file.zip

  • Hi Nivetha,

    Thanks for sharing the above details. 

    Can you please confirm which boot flow are you using? Is it SBL or SPL?

    Regards,

    Tushar

  • Its SBL Boot flow

  • We are in a crucial situation. Please reply as much as possible.

    I'm using GPIO1_0 (J3) for interrupt. As I told earlier, I'm trying to monitor the falling edge of the slave. 

    SDK: 10.01.00.32

    https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1351519/lp-am243-lp-am243/5176562#5176562 - On refering this link, I have updated the sciclient_defaultBoardcfg_rm.c (added TISCI_HOST_ID_ICCSSG_0). I followed all those steps in this link, after compiling through gmake command, host id is added in the sciclient_defaultBoardcfg_rm.c file.

    configured sciclient_defaultBoardcfg_rm.c through sysconfig tool , images are attached below.

    After this step, In my code I configured GPIO1_0 as the interrupt in example.sysconfig file. But the options available for interrupt router output is Router0 to 7. What are the missing steps here. I have attached my scicilient_gpioIrqSet() init part. In that, .dst_id should be TISCI_DEV_PRU_ICSSG0 (81U) right? 

    My understanding : This "[Error] Sciclient event config failed!!!" error is due to .dst_id and .dst_host_irq. So I need to add the TISCI_HOST_ID_ICCSSG_0 host ID, since I'm using GPIO1_0 for interrupt. If I added the host (TISCI_HOST_ID_ICCSSG_0) in sciclient_defaultBoardcfg_rm.c file. .dst_id will get updated to TISCI_DEV_PRU_ICSSG0 (81U) and .dst_host_iq can be configured in example.sysconfig file. Does my understanding is right? Please correct me if I'm wrong.

    If the flow is right, after configuring the sciclient_defaultBoardcfg_rm.c file, is there anything i need to do in example.sysconfig of codefile to change the .dst_id amd .dst_host_irq. 

    Thanks is Advance.

  • Hello Nivetha,

    The Sciclient_gpioIrqSet() API is autogenerated via Sysconfig tool. You do not need to change it.

    Your Sciclient_gpioIrqSet() API should consist below code.

    static void Sciclient_gpioIrqSet(void)
    {
        int32_t                             retVal;
        struct tisci_msg_rm_irq_set_req     rmIrqReq;
        struct tisci_msg_rm_irq_set_resp    rmIrqResp;
        rmIrqReq.valid_params           = 0U;
        rmIrqReq.valid_params          |= TISCI_MSG_VALUE_RM_DST_ID_VALID;
        rmIrqReq.valid_params          |= TISCI_MSG_VALUE_RM_DST_HOST_IRQ_VALID;
        rmIrqReq.global_event           = 0U;
        rmIrqReq.src_id                 = TISCI_DEV_GPIO1;
        rmIrqReq.src_index              = TISCI_BANK_SRC_IDX_BASE_GPIO1 + GPIO_GET_BANK_INDEX(0);
        rmIrqReq.dst_id                 = TISCI_DEV_R5FSS0_CORE0;
        rmIrqReq.dst_host_irq           = CSLR_R5FSS0_CORE0_INTR_MAIN_GPIOMUX_INTROUTER0_OUTP_7;
        rmIrqReq.ia_id                  = 0U;
        rmIrqReq.vint                   = 0U;
        rmIrqReq.vint_status_bit_index  = 0U;
        rmIrqReq.secondary_host         = TISCI_MSG_VALUE_RM_UNUSED_SECONDARY_HOST;
    
        retVal = Sciclient_rmIrqSet(&rmIrqReq, &rmIrqResp, SystemP_WAIT_FOREVER);
        if(0 != retVal)
        {
            DebugP_log("[Error] Sciclient event config failed!!!\r\n");
            DebugP_assert(FALSE);
        }
        return;
    }

    You do not need to change the RM config file as the MAIN GPIOMUX Router 0 to 7 are already configured to R5F0-0 .

    Please refer below image.

    Regards,

    Tushar