This a continuation of the original issue, 1185701.
Summary: using mcu_plus_sdk_am64x_08_03_00_18, modify examples/drivers/gpio/gpio_input_interrupt/ to use MCU_GPIO0_21 pin as interrupt source. I'm using this version of SDK because later versions don't have board.c. I need board.c in order to setup to use MCU GPIO interrupt router, and I don't see how to do this using sysconfg.
I modified TISCI SYSFW to allow routing of MCU_GPIO0_x interrupts to R5FSS_0_0 core. These interrupts would otherwise be routed to the M4 core.
I see in board.c:Sciclient_rmIrqSet() that the interrupt route setup is sucessful. I see that MCU_GPIO0_21 is toggling and I can correctly read the state of the pin. Interrupts should be happening, but they don't.
Can you provide a working example of interrupt code for R5 from MCU_GPIO0_x? Can you check over the attached files?
/*
* K3 System Firmware Resource Management Configuration Data
* Auto generated from K3 Resource Partitioning tool
*
* Copyright (c) 2018-2020, Texas Instruments Incorporated
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* * Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/**
* \file V3/sciclient_defaultBoardcfg.c
*
* \brief File containing the tisci_boardcfg default data structure to
* send TISCI_MSG_BOARD_CONFIG message.
*
*/
/* ========================================================================== */
/* Include Files */
/* ========================================================================== */
#include <drivers/sciclient.h>
#include <drivers/sciclient/include/tisci/am64x_am243x/tisci_hosts.h>
#include <drivers/sciclient/include/tisci/am64x_am243x/tisci_boardcfg_constraints.h>
#include <drivers/sciclient/include/tisci/am64x_am243x/tisci_devices.h>
/* ========================================================================== */
/* Global Variables */
/* ========================================================================== */
/* \brief Structure to hold the RM board configuration */
struct tisci_local_rm_boardcfg {
struct tisci_boardcfg_rm rm_boardcfg;
/**< Board configuration parameter */
struct tisci_boardcfg_rm_resasg_entry resasg_entries[TISCI_RESASG_ENTRIES_MAX];
/**< Resource assignment entries */
};
const struct tisci_local_rm_boardcfg gBoardConfigLow_rm
__attribute__(( aligned(128), section(".boardcfg_data") )) =
{
.rm_boardcfg = {
.rev = {
.tisci_boardcfg_abi_maj = TISCI_BOARDCFG_RM_ABI_MAJ_VALUE,
.tisci_boardcfg_abi_min = TISCI_BOARDCFG_RM_ABI_MIN_VALUE,
},
.host_cfg = {
.subhdr = {
.magic = TISCI_BOARDCFG_RM_HOST_CFG_MAGIC_NUM,
.size = (uint16_t) sizeof(struct tisci_boardcfg_rm_host_cfg),
},
.host_cfg_entries = {
{
.host_id = TISCI_HOST_ID_A53_2,
.allowed_atype = 0b101010,
.allowed_qos = 0xAAAA,
.allowed_orderid = 0xAAAAAAAA,
.allowed_priority = 0xAAAA,
.allowed_sched_priority = 0xAA
},
{
.host_id = TISCI_HOST_ID_M4_0,
.allowed_atype = 0b101010,
.allowed_qos = 0xAAAA,
.allowed_orderid = 0xAAAAAAAA,
.allowed_priority = 0xAAAA,
.allowed_sched_priority = 0xAA
},
{
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
.allowed_atype = 0b101010,
.allowed_qos = 0xAAAA,
.allowed_orderid = 0xAAAAAAAA,
.allowed_priority = 0xAAAA,
.allowed_sched_priority = 0xAA
},
{
.host_id = TISCI_HOST_ID_MAIN_0_R5_3,
.allowed_atype = 0b101010,
.allowed_qos = 0xAAAA,
.allowed_orderid = 0xAAAAAAAA,
.allowed_priority = 0xAAAA,
.allowed_sched_priority = 0xAA
},
{
.host_id = TISCI_HOST_ID_MAIN_1_R5_1,
.allowed_atype = 0b101010,
.allowed_qos = 0xAAAA,
.allowed_orderid = 0xAAAAAAAA,
.allowed_priority = 0xAAAA,
.allowed_sched_priority = 0xAA
},
{
.host_id = TISCI_HOST_ID_MAIN_1_R5_3,
.allowed_atype = 0b101010,
.allowed_qos = 0xAAAA,
.allowed_orderid = 0xAAAAAAAA,
.allowed_priority = 0xAAAA,
.allowed_sched_priority = 0xAA
},
},
},
.resasg = {
.subhdr = {
.magic = TISCI_BOARDCFG_RM_RESASG_MAGIC_NUM,
.size = (uint16_t) sizeof(struct tisci_boardcfg_rm_resasg),
},
.resasg_entries_size = 176 * sizeof(struct tisci_boardcfg_rm_resasg_entry),
},
},
.resasg_entries = {
{
.num_resource = 16,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_CMP_EVENT_INTROUTER0, TISCI_RESASG_SUBTYPE_IR_OUTPUT),
.start_resource = 0,
.host_id = TISCI_HOST_ID_A53_2,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_CMP_EVENT_INTROUTER0, TISCI_RESASG_SUBTYPE_IR_OUTPUT),
.start_resource = 16,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_CMP_EVENT_INTROUTER0, TISCI_RESASG_SUBTYPE_IR_OUTPUT),
.start_resource = 16,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_CMP_EVENT_INTROUTER0, TISCI_RESASG_SUBTYPE_IR_OUTPUT),
.start_resource = 20,
.host_id = TISCI_HOST_ID_MAIN_0_R5_3,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_CMP_EVENT_INTROUTER0, TISCI_RESASG_SUBTYPE_IR_OUTPUT),
.start_resource = 24,
.host_id = TISCI_HOST_ID_MAIN_1_R5_1,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_CMP_EVENT_INTROUTER0, TISCI_RESASG_SUBTYPE_IR_OUTPUT),
.start_resource = 28,
.host_id = TISCI_HOST_ID_MAIN_1_R5_3,
},
{
.num_resource = 8,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_CMP_EVENT_INTROUTER0, TISCI_RESASG_SUBTYPE_IR_OUTPUT),
.start_resource = 32,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 8,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_MAIN_GPIOMUX_INTROUTER0, TISCI_RESASG_SUBTYPE_IR_OUTPUT),
.start_resource = 0,
.host_id = TISCI_HOST_ID_A53_2,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_MAIN_GPIOMUX_INTROUTER0, TISCI_RESASG_SUBTYPE_IR_OUTPUT),
.start_resource = 8,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_MAIN_GPIOMUX_INTROUTER0, TISCI_RESASG_SUBTYPE_IR_OUTPUT),
.start_resource = 8,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_MAIN_GPIOMUX_INTROUTER0, TISCI_RESASG_SUBTYPE_IR_OUTPUT),
.start_resource = 10,
.host_id = TISCI_HOST_ID_MAIN_0_R5_3,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_MAIN_GPIOMUX_INTROUTER0, TISCI_RESASG_SUBTYPE_IR_OUTPUT),
.start_resource = 12,
.host_id = TISCI_HOST_ID_MAIN_1_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_MAIN_GPIOMUX_INTROUTER0, TISCI_RESASG_SUBTYPE_IR_OUTPUT),
.start_resource = 14,
.host_id = TISCI_HOST_ID_MAIN_1_R5_3,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_MCU_MCU_GPIOMUX_INTROUTER0, TISCI_RESASG_SUBTYPE_IR_OUTPUT),
.start_resource = 0,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0, // this is like regular GPIO
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_MCU_MCU_GPIOMUX_INTROUTER0, TISCI_RESASG_SUBTYPE_IR_OUTPUT),
.start_resource = 0,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1, // same as MAIN_0_R5_0?
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_MCU_MCU_GPIOMUX_INTROUTER0, TISCI_RESASG_SUBTYPE_IR_OUTPUT),
.start_resource = 2,
.host_id = TISCI_HOST_ID_MAIN_0_R5_3,
},
{
.num_resource = 41,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_TIMESYNC_EVENT_INTROUTER0, TISCI_RESASG_SUBTYPE_IR_OUTPUT),
.start_resource = 0,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 136,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_GLOBAL_EVENT_TRIGGER),
.start_resource = 50176,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 1,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_UDMAP_GLOBAL_CONFIG),
.start_resource = 0,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 12,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_RING_BLOCK_COPY_CHAN),
.start_resource = 0,
.host_id = TISCI_HOST_ID_A53_2,
},
{
.num_resource = 6,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_RING_BLOCK_COPY_CHAN),
.start_resource = 12,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 6,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_RING_BLOCK_COPY_CHAN),
.start_resource = 12,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_RING_BLOCK_COPY_CHAN),
.start_resource = 18,
.host_id = TISCI_HOST_ID_MAIN_0_R5_3,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_RING_BLOCK_COPY_CHAN),
.start_resource = 20,
.host_id = TISCI_HOST_ID_MAIN_1_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_RING_BLOCK_COPY_CHAN),
.start_resource = 24,
.host_id = TISCI_HOST_ID_MAIN_1_R5_3,
},
{
.num_resource = 1,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_RING_BLOCK_COPY_CHAN),
.start_resource = 26,
.host_id = TISCI_HOST_ID_M4_0,
},
{
.num_resource = 1,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_RING_BLOCK_COPY_CHAN),
.start_resource = 27,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 6,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_RING_SPLIT_TR_RX_CHAN),
.start_resource = 48,
.host_id = TISCI_HOST_ID_A53_2,
},
{
.num_resource = 6,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_RING_SPLIT_TR_RX_CHAN),
.start_resource = 54,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 6,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_RING_SPLIT_TR_RX_CHAN),
.start_resource = 54,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_RING_SPLIT_TR_RX_CHAN),
.start_resource = 60,
.host_id = TISCI_HOST_ID_MAIN_0_R5_3,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_RING_SPLIT_TR_RX_CHAN),
.start_resource = 62,
.host_id = TISCI_HOST_ID_MAIN_1_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_RING_SPLIT_TR_RX_CHAN),
.start_resource = 66,
.host_id = TISCI_HOST_ID_MAIN_1_R5_3,
},
{
.num_resource = 6,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_RING_SPLIT_TR_TX_CHAN),
.start_resource = 28,
.host_id = TISCI_HOST_ID_A53_2,
},
{
.num_resource = 6,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_RING_SPLIT_TR_TX_CHAN),
.start_resource = 34,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 6,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_RING_SPLIT_TR_TX_CHAN),
.start_resource = 34,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_RING_SPLIT_TR_TX_CHAN),
.start_resource = 40,
.host_id = TISCI_HOST_ID_MAIN_0_R5_3,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_RING_SPLIT_TR_TX_CHAN),
.start_resource = 42,
.host_id = TISCI_HOST_ID_MAIN_1_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_RING_SPLIT_TR_TX_CHAN),
.start_resource = 46,
.host_id = TISCI_HOST_ID_MAIN_1_R5_3,
},
{
.num_resource = 12,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_BLOCK_COPY_CHAN),
.start_resource = 0,
.host_id = TISCI_HOST_ID_A53_2,
},
{
.num_resource = 6,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_BLOCK_COPY_CHAN),
.start_resource = 12,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 6,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_BLOCK_COPY_CHAN),
.start_resource = 12,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_BLOCK_COPY_CHAN),
.start_resource = 18,
.host_id = TISCI_HOST_ID_MAIN_0_R5_3,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_BLOCK_COPY_CHAN),
.start_resource = 20,
.host_id = TISCI_HOST_ID_MAIN_1_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_BLOCK_COPY_CHAN),
.start_resource = 24,
.host_id = TISCI_HOST_ID_MAIN_1_R5_3,
},
{
.num_resource = 1,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_BLOCK_COPY_CHAN),
.start_resource = 26,
.host_id = TISCI_HOST_ID_M4_0,
},
{
.num_resource = 1,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_BLOCK_COPY_CHAN),
.start_resource = 27,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 6,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_SPLIT_TR_RX_CHAN),
.start_resource = 0,
.host_id = TISCI_HOST_ID_A53_2,
},
{
.num_resource = 6,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_SPLIT_TR_RX_CHAN),
.start_resource = 6,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 6,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_SPLIT_TR_RX_CHAN),
.start_resource = 6,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_SPLIT_TR_RX_CHAN),
.start_resource = 12,
.host_id = TISCI_HOST_ID_MAIN_0_R5_3,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_SPLIT_TR_RX_CHAN),
.start_resource = 14,
.host_id = TISCI_HOST_ID_MAIN_1_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_SPLIT_TR_RX_CHAN),
.start_resource = 18,
.host_id = TISCI_HOST_ID_MAIN_1_R5_3,
},
{
.num_resource = 6,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_SPLIT_TR_TX_CHAN),
.start_resource = 0,
.host_id = TISCI_HOST_ID_A53_2,
},
{
.num_resource = 6,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_SPLIT_TR_TX_CHAN),
.start_resource = 6,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 6,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_SPLIT_TR_TX_CHAN),
.start_resource = 6,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_SPLIT_TR_TX_CHAN),
.start_resource = 12,
.host_id = TISCI_HOST_ID_MAIN_0_R5_3,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_SPLIT_TR_TX_CHAN),
.start_resource = 14,
.host_id = TISCI_HOST_ID_MAIN_1_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_BCDMA_0, TISCI_RESASG_SUBTYPE_BCDMA_SPLIT_TR_TX_CHAN),
.start_resource = 18,
.host_id = TISCI_HOST_ID_MAIN_1_R5_3,
},
{
.num_resource = 36,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_VINT),
.start_resource = 4,
.host_id = TISCI_HOST_ID_A53_2,
},
{
.num_resource = 14,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_VINT),
.start_resource = 44,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 14,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_VINT),
.start_resource = 44,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 14,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_VINT),
.start_resource = 58,
.host_id = TISCI_HOST_ID_MAIN_0_R5_3,
},
{
.num_resource = 14,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_VINT),
.start_resource = 92,
.host_id = TISCI_HOST_ID_MAIN_1_R5_1,
},
{
.num_resource = 14,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_VINT),
.start_resource = 106,
.host_id = TISCI_HOST_ID_MAIN_1_R5_3,
},
{
.num_resource = 16,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_VINT),
.start_resource = 168,
.host_id = TISCI_HOST_ID_M4_0,
},
{
.num_resource = 512,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_GLOBAL_EVENT_SEVT),
.start_resource = 15,
.host_id = TISCI_HOST_ID_A53_2,
},
{
.num_resource = 256,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_GLOBAL_EVENT_SEVT),
.start_resource = 527,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 256,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_GLOBAL_EVENT_SEVT),
.start_resource = 527,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 192,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_GLOBAL_EVENT_SEVT),
.start_resource = 783,
.host_id = TISCI_HOST_ID_MAIN_0_R5_3,
},
{
.num_resource = 256,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_GLOBAL_EVENT_SEVT),
.start_resource = 975,
.host_id = TISCI_HOST_ID_MAIN_1_R5_1,
},
{
.num_resource = 192,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_GLOBAL_EVENT_SEVT),
.start_resource = 1231,
.host_id = TISCI_HOST_ID_MAIN_1_R5_3,
},
{
.num_resource = 96,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_GLOBAL_EVENT_SEVT),
.start_resource = 1423,
.host_id = TISCI_HOST_ID_M4_0,
},
{
.num_resource = 17,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_GLOBAL_EVENT_SEVT),
.start_resource = 1519,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 1024,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_TIMERMGR_EVT_OES),
.start_resource = 0,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 42,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_PKTDMA_TX_CHAN_ERROR_OES),
.start_resource = 4096,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 112,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_PKTDMA_TX_FLOW_COMPLETION_OES),
.start_resource = 4608,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 29,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_PKTDMA_RX_CHAN_ERROR_OES),
.start_resource = 5120,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 176,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_PKTDMA_RX_FLOW_COMPLETION_OES),
.start_resource = 5632,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 176,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_PKTDMA_RX_FLOW_STARVATION_OES),
.start_resource = 6144,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 176,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_PKTDMA_RX_FLOW_FIREWALL_OES),
.start_resource = 6656,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 28,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_BCDMA_CHAN_ERROR_OES),
.start_resource = 8192,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 28,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_BCDMA_CHAN_DATA_COMPLETION_OES),
.start_resource = 8704,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 28,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_BCDMA_CHAN_RING_COMPLETION_OES),
.start_resource = 9216,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 20,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_BCDMA_TX_CHAN_ERROR_OES),
.start_resource = 9728,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 20,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_BCDMA_TX_CHAN_DATA_COMPLETION_OES),
.start_resource = 10240,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 20,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_BCDMA_TX_CHAN_RING_COMPLETION_OES),
.start_resource = 10752,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 20,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_BCDMA_RX_CHAN_ERROR_OES),
.start_resource = 11264,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 20,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_BCDMA_RX_CHAN_DATA_COMPLETION_OES),
.start_resource = 11776,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 20,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_BCDMA_RX_CHAN_RING_COMPLETION_OES),
.start_resource = 12288,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 1,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_UDMAP_GLOBAL_CONFIG),
.start_resource = 0,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_UNMAPPED_TX_CHAN),
.start_resource = 0,
.host_id = TISCI_HOST_ID_A53_2,
},
{
.num_resource = 3,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_UNMAPPED_TX_CHAN),
.start_resource = 4,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 3,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_UNMAPPED_TX_CHAN),
.start_resource = 4,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_UNMAPPED_TX_CHAN),
.start_resource = 7,
.host_id = TISCI_HOST_ID_MAIN_0_R5_3,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_UNMAPPED_TX_CHAN),
.start_resource = 9,
.host_id = TISCI_HOST_ID_MAIN_1_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_UNMAPPED_TX_CHAN),
.start_resource = 13,
.host_id = TISCI_HOST_ID_MAIN_1_R5_3,
},
{
.num_resource = 1,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_UNMAPPED_TX_CHAN),
.start_resource = 15,
.host_id = TISCI_HOST_ID_M4_0,
},
{
.num_resource = 64,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_CPSW_TX_CHAN),
.start_resource = 16,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 64,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_CPSW_TX_CHAN),
.start_resource = 16,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 7,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_SAUL_TX_0_CHAN),
.start_resource = 81,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 8,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_SAUL_TX_1_CHAN),
.start_resource = 88,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 8,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_ICSSG_0_TX_CHAN),
.start_resource = 96,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 8,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_ICSSG_0_TX_CHAN),
.start_resource = 96,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 8,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_ICSSG_1_TX_CHAN),
.start_resource = 104,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 8,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_ICSSG_1_TX_CHAN),
.start_resource = 104,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_UNMAPPED_RX_CHAN),
.start_resource = 112,
.host_id = TISCI_HOST_ID_A53_2,
},
{
.num_resource = 3,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_UNMAPPED_RX_CHAN),
.start_resource = 116,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 3,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_UNMAPPED_RX_CHAN),
.start_resource = 116,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_UNMAPPED_RX_CHAN),
.start_resource = 119,
.host_id = TISCI_HOST_ID_MAIN_0_R5_3,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_UNMAPPED_RX_CHAN),
.start_resource = 121,
.host_id = TISCI_HOST_ID_MAIN_1_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_UNMAPPED_RX_CHAN),
.start_resource = 125,
.host_id = TISCI_HOST_ID_MAIN_1_R5_3,
},
{
.num_resource = 1,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_UNMAPPED_RX_CHAN),
.start_resource = 127,
.host_id = TISCI_HOST_ID_M4_0,
},
{
.num_resource = 16,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_CPSW_RX_CHAN),
.start_resource = 128,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 16,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_CPSW_RX_CHAN),
.start_resource = 128,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 7,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_SAUL_RX_0_CHAN),
.start_resource = 145,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 8,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_SAUL_RX_1_CHAN),
.start_resource = 144,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 8,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_SAUL_RX_2_CHAN),
.start_resource = 152,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 8,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_SAUL_RX_3_CHAN),
.start_resource = 152,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 64,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_ICSSG_0_RX_CHAN),
.start_resource = 160,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 64,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_ICSSG_0_RX_CHAN),
.start_resource = 160,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 64,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_ICSSG_1_RX_CHAN),
.start_resource = 224,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 64,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_RING_ICSSG_1_RX_CHAN),
.start_resource = 224,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_UNMAPPED_TX_CHAN),
.start_resource = 0,
.host_id = TISCI_HOST_ID_A53_2,
},
{
.num_resource = 3,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_UNMAPPED_TX_CHAN),
.start_resource = 4,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 3,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_UNMAPPED_TX_CHAN),
.start_resource = 4,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_UNMAPPED_TX_CHAN),
.start_resource = 7,
.host_id = TISCI_HOST_ID_MAIN_0_R5_3,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_UNMAPPED_TX_CHAN),
.start_resource = 9,
.host_id = TISCI_HOST_ID_MAIN_1_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_UNMAPPED_TX_CHAN),
.start_resource = 13,
.host_id = TISCI_HOST_ID_MAIN_1_R5_3,
},
{
.num_resource = 1,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_UNMAPPED_TX_CHAN),
.start_resource = 15,
.host_id = TISCI_HOST_ID_M4_0,
},
{
.num_resource = 8,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_CPSW_TX_CHAN),
.start_resource = 16,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 8,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_CPSW_TX_CHAN),
.start_resource = 16,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 1,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_SAUL_TX_1_CHAN),
.start_resource = 25,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 8,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_ICSSG_0_TX_CHAN),
.start_resource = 26,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 8,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_ICSSG_0_TX_CHAN),
.start_resource = 26,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 8,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_ICSSG_1_TX_CHAN),
.start_resource = 34,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 8,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_ICSSG_1_TX_CHAN),
.start_resource = 34,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_UNMAPPED_RX_CHAN),
.start_resource = 0,
.host_id = TISCI_HOST_ID_A53_2,
},
{
.num_resource = 3,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_UNMAPPED_RX_CHAN),
.start_resource = 4,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 3,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_UNMAPPED_RX_CHAN),
.start_resource = 4,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_UNMAPPED_RX_CHAN),
.start_resource = 7,
.host_id = TISCI_HOST_ID_MAIN_0_R5_3,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_UNMAPPED_RX_CHAN),
.start_resource = 9,
.host_id = TISCI_HOST_ID_MAIN_1_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_UNMAPPED_RX_CHAN),
.start_resource = 13,
.host_id = TISCI_HOST_ID_MAIN_1_R5_3,
},
{
.num_resource = 1,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_UNMAPPED_RX_CHAN),
.start_resource = 15,
.host_id = TISCI_HOST_ID_M4_0,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_FLOW_UNMAPPED_RX_CHAN),
.start_resource = 0,
.host_id = TISCI_HOST_ID_A53_2,
},
{
.num_resource = 3,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_FLOW_UNMAPPED_RX_CHAN),
.start_resource = 4,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 3,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_FLOW_UNMAPPED_RX_CHAN),
.start_resource = 4,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_FLOW_UNMAPPED_RX_CHAN),
.start_resource = 7,
.host_id = TISCI_HOST_ID_MAIN_0_R5_3,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_FLOW_UNMAPPED_RX_CHAN),
.start_resource = 9,
.host_id = TISCI_HOST_ID_MAIN_1_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_FLOW_UNMAPPED_RX_CHAN),
.start_resource = 13,
.host_id = TISCI_HOST_ID_MAIN_1_R5_3,
},
{
.num_resource = 1,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_FLOW_UNMAPPED_RX_CHAN),
.start_resource = 15,
.host_id = TISCI_HOST_ID_M4_0,
},
{
.num_resource = 1,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_CPSW_RX_CHAN),
.start_resource = 16,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 1,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_CPSW_RX_CHAN),
.start_resource = 16,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 16,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_FLOW_CPSW_RX_CHAN),
.start_resource = 16,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 16,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_FLOW_CPSW_RX_CHAN),
.start_resource = 16,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 8,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_FLOW_SAUL_RX_0_CHAN),
.start_resource = 32,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 8,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_FLOW_SAUL_RX_1_CHAN),
.start_resource = 32,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 1,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_SAUL_RX_2_CHAN),
.start_resource = 19,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 8,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_FLOW_SAUL_RX_2_CHAN),
.start_resource = 40,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 1,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_SAUL_RX_3_CHAN),
.start_resource = 20,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 8,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_FLOW_SAUL_RX_3_CHAN),
.start_resource = 40,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_ICSSG_0_RX_CHAN),
.start_resource = 21,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_ICSSG_0_RX_CHAN),
.start_resource = 21,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 64,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_FLOW_ICSSG_0_RX_CHAN),
.start_resource = 48,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 64,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_FLOW_ICSSG_0_RX_CHAN),
.start_resource = 48,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_ICSSG_1_RX_CHAN),
.start_resource = 25,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_ICSSG_1_RX_CHAN),
.start_resource = 25,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 64,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_FLOW_ICSSG_1_RX_CHAN),
.start_resource = 112,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 64,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_PKTDMA_0, TISCI_RESASG_SUBTYPE_PKTDMA_FLOW_ICSSG_1_RX_CHAN),
.start_resource = 112,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 1,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_RINGACC_0, TISCI_RESASG_SUBTYPE_RA_ERROR_OES),
.start_resource = 0,
.host_id = TISCI_HOST_ID_ALL,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_RINGACC_0, TISCI_RESASG_SUBTYPE_RA_VIRTID),
.start_resource = 2,
.host_id = TISCI_HOST_ID_A53_2,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_RINGACC_0, TISCI_RESASG_SUBTYPE_RA_GENERIC_IPC),
.start_resource = 20,
.host_id = TISCI_HOST_ID_MAIN_0_R5_0,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_RINGACC_0, TISCI_RESASG_SUBTYPE_RA_GENERIC_IPC),
.start_resource = 20,
.host_id = TISCI_HOST_ID_MAIN_0_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_RINGACC_0, TISCI_RESASG_SUBTYPE_RA_GENERIC_IPC),
.start_resource = 22,
.host_id = TISCI_HOST_ID_MAIN_0_R5_3,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_RINGACC_0, TISCI_RESASG_SUBTYPE_RA_GENERIC_IPC),
.start_resource = 24,
.host_id = TISCI_HOST_ID_MAIN_1_R5_1,
},
{
.num_resource = 2,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_RINGACC_0, TISCI_RESASG_SUBTYPE_RA_GENERIC_IPC),
.start_resource = 26,
.host_id = TISCI_HOST_ID_MAIN_1_R5_3,
},
{
.num_resource = 4,
.type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_RINGACC_0, TISCI_RESASG_SUBTYPE_RA_GENERIC_IPC),
.start_resource = 28,
.host_id = TISCI_HOST_ID_ALL,
},
}
};
/*
* Copyright (C) 2021 Texas Instruments Incorporated
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <kernel/dpl/DebugP.h>
#include <kernel/dpl/ClockP.h>
#include <kernel/dpl/AddrTranslateP.h>
#include <kernel/dpl/HwiP.h>
#include "ti_drivers_config.h"
#include "ti_drivers_open_close.h"
#include "ti_board_open_close.h"
/*
* This example configures a GPIO pin in input mode
* and configures it to generate interrupt on rising edge.
* The application waits for 5 interrupts, prints the
* number of interrupts and exits.
*/
uint32_t gGpioBaseAddr = (CSL_MCU_GPIO0_BASE); // 0x4201000 + 0x1000
HwiP_Object gGpioHwiObject;
volatile uint32_t gGpioIntrDone = 0;
static void GPIO_bankIsrFxn(void *args);
extern void Board_gpioInit(void);
extern void Board_gpioDeinit(void);
extern uint32_t Board_getGpioIntrNum(void);
extern uint32_t Board_getGpioNum(void);
void gpio_input_interrupt_main(void *args)
{
int32_t retVal;
uint32_t pinNum, intrNum;
uint32_t bankNum, waitCount = 5;
HwiP_Params hwiPrms;
/* Open drivers to open the UART driver for console */
Drivers_open();
Board_driversOpen();
Board_gpioInit();
DebugP_log("GPIO Input Interrupt Test Started ...\r\n");
DebugP_log("GPIO Interrupt Configured for Rising Edge ...\r\n");
pinNum = 21;
intrNum = Board_getGpioIntrNum();
bankNum = GPIO_GET_BANK_INDEX(pinNum);
/* Address translate */
gGpioBaseAddr = (uint32_t) AddrTranslateP_getLocalAddr(gGpioBaseAddr);
/* Setup GPIO for interrupt generation */
GPIO_setDirMode(gGpioBaseAddr, pinNum, GPIO_DIRECTION_INPUT);
GPIO_setTrigType(gGpioBaseAddr, pinNum, GPIO_TRIG_TYPE_FALL_EDGE);
GPIO_bankIntrEnable(gGpioBaseAddr, bankNum);
/* Register pin interrupt */
HwiP_Params_init(&hwiPrms);
hwiPrms.intNum = intrNum;
hwiPrms.callback = &GPIO_bankIsrFxn;
hwiPrms.args = (void *) pinNum;
retVal = HwiP_construct(&gGpioHwiObject, &hwiPrms);
DebugP_assert(retVal == SystemP_SUCCESS );
DebugP_log("Generate interrupts to trigger GPIO interrupt ...\r\n", Board_getGpioNum());
while(gGpioIntrDone < waitCount)
{
/* Keep printing the current GPIO value */
DebugP_log("Interrupted %d times(bank %d, val %x)\r\n",
gGpioIntrDone, bankNum, GPIO_pinRead(gGpioBaseAddr, pinNum));
ClockP_sleep(1);
}
DebugP_log("Interrupted %d times\r\n", gGpioIntrDone);
/* Unregister interrupt */
GPIO_bankIntrDisable(gGpioBaseAddr, bankNum);
GPIO_setTrigType(gGpioBaseAddr, pinNum, GPIO_TRIG_TYPE_NONE);
GPIO_clearIntrStatus(gGpioBaseAddr, pinNum);
HwiP_destruct(&gGpioHwiObject);
DebugP_log("GPIO Input Interrupt Test Passed!!\r\n");
DebugP_log("All tests have passed!!\r\n");
Board_gpioDeinit();
Board_driversClose();
Drivers_close();
}
static void GPIO_bankIsrFxn(void *args)
{
uint32_t pinNum = (uint32_t) args;
uint32_t bankNum = GPIO_GET_BANK_INDEX(pinNum);
uint32_t intrStatus, pinMask = GPIO_GET_BANK_BIT_MASK(pinNum);
/* Get and clear bank interrupt status */
intrStatus = GPIO_getBankIntrStatus(gGpioBaseAddr, bankNum);
GPIO_clearBankIntrStatus(gGpioBaseAddr, bankNum, intrStatus);
gGpioIntrDone++;
/* Per pin interrupt handling */
if(intrStatus & pinMask)
{
}
}
/*
* Copyright (C) 2018-2021 Texas Instruments Incorporated
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <stdlib.h>
#include <drivers/hw_include/cslr_soc.h>
#include <drivers/gpio.h>
#include <drivers/sciclient.h>
#include "ti_drivers_config.h"
/*
* Board info
*/
/* This is based on DMSC board config and core */
#define BOARD_GPIO_INTR_NUM (CSLR_R5FSS0_CORE0_INTR_MCU_MCU_GPIOMUX_INTROUTER0_OUTP_0)
#define BOARD_GPIO_NUM (21)
#define GPIO_PIN BOARD_GPIO_NUM
/** \brief bank interrupt source index base */
#define TISCI_BANK_SRC_IDX_BASE_GPIO0 (0U)
#define TISCI_BANK_SRC_IDX_BASE_GPIO1 (90U)
#define TISCI_BANK_SRC_IDX_BASE_MCU_GPIO0 (0U)
static void Sciclient_gpioIrqSet(void);
static void Sciclient_gpioIrqRelease(void);
void Board_gpioInit(void)
{
Sciclient_gpioIrqSet();
}
void Board_gpioDeinit(void)
{
Sciclient_gpioIrqRelease();
}
uint32_t Board_getGpioIntrNum(void)
{
return (BOARD_GPIO_INTR_NUM);
}
uint32_t Board_getGpioNum(void)
{
return (BOARD_GPIO_NUM);
}
static void Sciclient_gpioIrqSet(void)
{
int32_t retVal;
struct tisci_msg_rm_irq_set_req rmIrqReq;
struct tisci_msg_rm_irq_set_resp rmIrqResp;
/* For setting the IRQ for GPIO using sciclient APIs, we need to populate
* a structure, tisci_msg_rm_irq_set_req instantiated above. The definition
* of this struct and details regarding the struct members can be found in
* the tisci_rm_irq.h.
*/
/* Initialize all flags to zero since we'll be setting only a few */
rmIrqReq.valid_params = 0U;
/* Our request has a destination id, so enable the flag for DST ID */
rmIrqReq.valid_params |= TISCI_MSG_VALUE_RM_DST_ID_VALID;
/* DST HOST IRQ is the output index of the interrupt router. We need to make sure this is also enabled as a valid param */
rmIrqReq.valid_params |= TISCI_MSG_VALUE_RM_DST_HOST_IRQ_VALID;
/* This is not a global event */
rmIrqReq.global_event = 0U;
/* Our interrupt source would be the GPIO peripheral. The source id has to be a device id recognizable by the SYSFW.
* The list of device IDs can be found in tisci_devices.h file under source/drivers/sciclient/include/tisci/am64x_am243x/.
* In GPIO case there are 3 possible options - TISCI_DEV_GPIO0, TISCI_DEV_GPIO1, TISCI_DEV_MCU_GPIO0. For input interrupt,
* we need to choose the TISCI_DEV_GPIO1
*/
rmIrqReq.src_id = TISCI_DEV_MCU_GPIO0;
/* This is the interrupt source index within the GPIO peripheral */
rmIrqReq.src_index = TISCI_BANK_SRC_IDX_BASE_MCU_GPIO0 + GPIO_GET_BANK_INDEX(GPIO_PIN);
/* This is the destination of the interrupt, usually a CPU core. Here we choose the TISCI device ID for R5F0-0 core.
* For a different core, the corresponding TISCI device id has to be provided */
rmIrqReq.dst_id = TISCI_DEV_R5FSS0_CORE0;
/* This is the output index of the interrupt router. This depends on the core and board configuration */
rmIrqReq.dst_host_irq = Board_getGpioIntrNum();
/* Rest of the struct members are unused for GPIO interrupt */
rmIrqReq.ia_id = 0U;
rmIrqReq.vint = 0U;
rmIrqReq.vint_status_bit_index = 0U;
rmIrqReq.secondary_host = TISCI_MSG_VALUE_RM_UNUSED_SECONDARY_HOST;
/* To set the interrupt we now invoke the Sciclient_rmIrqSet function which
* will find out the route to configure the interrupt and request DMSC to
* grant the resource
*/
retVal = Sciclient_rmIrqSet(&rmIrqReq, &rmIrqResp, SystemP_WAIT_FOREVER);
DebugP_log("Sciclient_rmIrqSet = %d\n", retVal);
if(0 != retVal)
{
DebugP_log("[Error] Sciclient event config failed!!!\r\n");
DebugP_assert(FALSE);
}
return;
}
static void Sciclient_gpioIrqRelease(void)
{
int32_t retVal;
struct tisci_msg_rm_irq_release_req rmIrqReq;
/* For releasing the IRQ for GPIO using sciclient APIs, we need to populate
* a structure, tisci_msg_rm_irq_release_req instantiated above. The definition
* of this struct and details regarding the struct members can be found in
* the tisci_rm_irq.h. These are similar to the struct members for the set request
* used above.
*/
/* Initialize all flags to zero since we'll be setting only a few */
rmIrqReq.valid_params = 0U;
/* Our request has a destination id, so enable the flag for DST ID */
rmIrqReq.valid_params |= TISCI_MSG_VALUE_RM_DST_ID_VALID;
/* DST HOST IRQ is the output index of the interrupt router. We need to make sure this is also enabled as a valid param */
rmIrqReq.valid_params |= TISCI_MSG_VALUE_RM_DST_HOST_IRQ_VALID;
/* This is not a global event */
rmIrqReq.global_event = 0U;
/* Our interrupt source would be the GPIO peripheral. The source id has to be a device id recognizable by the SYSFW.
* The list of device IDs can be found in tisci_devices.h file under source/drivers/sciclient/include/tisci/am64x_am243x/.
* In GPIO case there are 3 possible options - TISCI_DEV_GPIO0, TISCI_DEV_GPIO1, TISCI_DEV_MCU_GPIO0. For input interrupt,
* we need to choose the TISCI_DEV_GPIO1
*/
rmIrqReq.src_id = TISCI_DEV_GPIO1;
/* This is the interrupt source index within the GPIO peripheral */
rmIrqReq.src_index = TISCI_BANK_SRC_IDX_BASE_MCU_GPIO0 + GPIO_GET_BANK_INDEX(GPIO_PIN);
/* This is the destination of the interrupt, usually a CPU core. Here we choose the TISCI device ID for R5F0-0 core.
* For a different core, the corresponding TISCI device id has to be provided */
rmIrqReq.dst_id = TISCI_DEV_R5FSS0_CORE0;
/* This is the output index of the interrupt router. This depends on the core and board configuration */
rmIrqReq.dst_host_irq = Board_getGpioIntrNum();
/* Rest of the struct members are unused for GPIO interrupt */
rmIrqReq.ia_id = 0U;
rmIrqReq.vint = 0U;
rmIrqReq.vint_status_bit_index = 0U;
rmIrqReq.secondary_host = TISCI_MSG_VALUE_RM_UNUSED_SECONDARY_HOST;
/* To set the interrupt we now invoke the Sciclient_rmIrqRelease function which
* will find specifics about the route and request DMSC/SYSFW to relase/clear the interrupt
*/
retVal = Sciclient_rmIrqRelease(&rmIrqReq, SystemP_WAIT_FOREVER);
if(0 != retVal)
{
DebugP_log("[Error] Sciclient event reset failed!!!\r\n");
DebugP_assert(FALSE);
}
return;
}


