Hi TI,
I used your reference code (app_gpio_dma.c), and run on MCU2_0/1 is fine.
but i found failures when execute Sciclient_rmIrqSetRaw() on MCU3_0.
Then, i found that return flags of function was always 0.
int32_t Sciclient_serviceSecureProxy(const Sciclient_ReqPrm_t *pReqPrm, Sciclient_RespPrm_t *pRespPrm) { ... if(status == CSL_PASS) { numWords = (uint32_t) (rxPayloadSize / 4U); trailBytes = (uint8_t) (rxPayloadSize - (numWords * 4U)); /* Read the full message */ pRespPrm->flags = Sciclient_readThread32(rxThread, 1U+gSecHeaderSizeWords); ... } .... }
void App_setupGpioMuxIr(uint32_t gpioIdx,uint32_t chIdx) { int32_t status; struct tisci_msg_rm_irq_set_req rmIrqReq; struct tisci_msg_rm_irq_set_resp rmIrqResp; memset(&rmIrqReq, 0x0, sizeof(rmIrqReq)); memset(&rmIrqResp, 0x0, sizeof(rmIrqResp)); rmIrqReq.valid_params = 0U; rmIrqReq.global_event = 0U; rmIrqReq.src_id = 0U; rmIrqReq.src_index = 0U; rmIrqReq.dst_id = 0U; rmIrqReq.dst_host_irq = 0U; rmIrqReq.ia_id = 0U; rmIrqReq.vint = 0U; rmIrqReq.vint_status_bit_index = 0U; rmIrqReq.secondary_host = TISCI_MSG_VALUE_RM_UNUSED_SECONDARY_HOST; rmIrqReq.secondary_host = TISCI_MSG_VALUE_RM_UNUSED_SECONDARY_HOST; rmIrqReq.src_id = TISCI_DEV_GPIOMUX_INTRTR0; rmIrqReq.src_index = gpioIdx; /* Set the destination based on the core */ rmIrqReq.dst_id = TISCI_DEV_GPIOMUX_INTRTR0; rmIrqReq.dst_host_irq = GPIOMUX_INTRTR0_OUTP_START_R5FSS0 + chIdx; /* Set the destination interrupt */ rmIrqReq.valid_params |= TISCI_MSG_VALUE_RM_DST_ID_VALID; rmIrqReq.valid_params |= TISCI_MSG_VALUE_RM_DST_HOST_IRQ_VALID; status = Sciclient_rmIrqSetRaw((const struct tisci_msg_rm_irq_set_req *)&rmIrqReq,&rmIrqResp,SCICLIENT_SERVICE_WAIT_FOREVER); if(status == CSL_PASS) { App_print ("Worked fine \n"); } else { App_print ("Failed \n"); } }