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.

TDA4VM: How to config Interrupt Router with sciclient APIs on QNX/A72

Part Number: TDA4VM

Hi Experts,

I want to attach interrupt 392(GIC500) to GPIO0_30/AF21, the following is my code,

Please help to check it,

       struct tisci_msg_rm_irq_set_req rmIrqReq;
       struct tisci_msg_rm_irq_set_resp rmIrqResp;
    
       memset(&rmIrqReq, 0, sizeof(rmIrqReq));
        rmIrqReq.valid_params          |= TISCI_MSG_VALUE_RM_DST_ID_VALID;
        rmIrqReq.valid_params          |= TISCI_MSG_VALUE_RM_DST_HOST_IRQ_VALID;
        rmIrqReq.src_id                 = TISCI_DEV_GPIOMUX_INTRTR0;
        rmIrqReq.global_event           = 0U;
        /*CSLR_WKUP_GPIOMUX_INTRTR0_IN_WKUP_GPIO0_GPIO_BANK_0*/
        rmIrqReq.src_index              = 103U;/*WKUP_GPIOMUX_INTRTR0_IN_103*/
        rmIrqReq.dst_id                 = TISCI_DEV_COMPUTE_CLUSTER0_GIC500SS;
        /*CSLR_COMPUTE_CLUSTER0_GIC500SS_SPI_GPIOMUX_INTRTR0_OUTP_8*/
        rmIrqReq.dst_host_irq           = 392U;
        rmIrqReq.ia_id                  = 0U;
        rmIrqReq.vint                   = 0U;
        rmIrqReq.vint_status_bit_index  = 0U;
        rmIrqReq.secondary_host         = TISCI_MSG_VALUE_RM_UNUSED_SECONDARY_HOST;

        printf("setting gic router\n");
        if (0 == Sciclient_rmIrqSet(
                &rmIrqReq, &rmIrqResp, SCICLIENT_SERVICE_WAIT_FOREVER)) {
            printf("Sciclient_rmIrqSet failed\n");
            return 1;
        }
        printf("setting gic router done\n");

Thanks,

Jianqiang