-
Type:
Bug
-
Resolution: Fixed
-
Priority:
High
-
PDK
-
PDK-13154
-
PROCESSOR_SDK_08.06.00
-
PROCESSOR_SDK_09.01.00
-
j784s4-evm
Issue Description
Interrupt routing from Main UART to MCU1_0
Using the following configuration returns -2 CSL_EBADARGS
Board_initCfg boardCfg; Board_STATUS status; uint32_t lSciRetVal; int32_t i; uint16_t intNum; boardCfg = BOARD_INIT_PINMUX_CONFIG | BOARD_INIT_UART_STDIO; status = Board_init(boardCfg); DebugP_assert(status == BOARD_SOK); UART_printf("Test case for UART Interrupt\n"); struct tisci_msg_rm_irq_set_req rmIrqReq; struct tisci_msg_rm_irq_set_resp rmIrqResp; struct tisci_msg_rm_get_resource_range_resp res = {0}; struct tisci_msg_rm_get_resource_range_req req = {0}; req.type = TISCI_DEV_MAIN2MCU_LVL_INTRTR0; req.secondary_host = TISCI_MSG_VALUE_RM_UNUSED_SECONDARY_HOST; lSciRetVal = Sciclient_rmGetResourceRange(&req, &res, SCICLIENT_SERVICE_WAIT_FOREVER); UART_printf("Sciclient_rmGetResourceRange retval = %d\n",lSciRetVal); lSciRetVal = Sciclient_rmIrqTranslateIrOutput(req.type, res.range_start, TISCI_DEV_MCU_R5FSS0_CORE0, &intNum); 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_UART0; rmIrqReq.global_event = 0U; /* Src Index 0 - mcanss_ext_ts_rollover_lvl_int, Src Index 1 - mcanss_mcan_lvl_int Line 0, Src Index 2 - mcanss_mcan_lvl_int Line 1 */ rmIrqReq.src_index = 0; rmIrqReq.dst_id = TISCI_DEV_MCU_R5FSS0_CORE0; rmIrqReq.dst_host_irq = intNum; rmIrqReq.ia_id = 0U; rmIrqReq.vint = 0U; rmIrqReq.vint_status_bit_index = 0U; rmIrqReq.secondary_host = TISCI_MSG_VALUE_RM_UNUSED_SECONDARY_HOST; lSciRetVal = Sciclient_rmIrqSet(&rmIrqReq, &rmIrqResp, SCICLIENT_SERVICE_WAIT_FOREVER); UART_printf("Sciclient_rmIrqSetRaw Value of lSciRetVal for irqNum = %d is %d \n", rmIrqReq.dst_host_irq,lSciRetVal);
Sciclient_rmIrqGetNode seems to be failing even though node is present.
Workaround
NA