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");
}
}