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.

[FAQ] AM64X: How to Run MCU+ SDK GPIO_INPUT_INTERRUPT example for R5FSS0-0 with Linux running on A53

Part Number: AM6442

Problem Description

The MCU+ SDK comes with a GPIO_INPUT_INTERRUPT example for R5FSS0-0. This example configures a GPIO pin to generate an interrupt and then registers an interrupt handler to service the GPIO interrupt. This example works out-of-the box with MCU+ SDK. However, when running Linux on A53 and NORTOS/FreeRTOS on other cores, this GPIO_INPUT_INTERRUPT does not work. It fails by reporting the following error:

[Error] Sciclient event config failed!!!

In this FAQ, we will cover the WHAT, WHY and HOW of the issue. We will discuss WHAT is causing the issue, WHY the issue happens and HOW to resolve the issue.

    • What is a Resource Management file (sciclient_defaultBoardcfg_rm.c)?

    The RM firmware uses the rm_c ( sciclient_defaultBoardcfg_rm.c ) file to initialize the system resources during boot and to manage the allocation and usage of these resources during runtime. This helps to ensure that system resources are used efficiently and that there are no conflicts between different software components that may require access to the same resources. The file is typically created by the system integrator and provided to the RM firmware as part of the boot process

    • What are Interrupt Routers

    Interrupt routers are a hardware module in the AM64x system on chip (SoC) that manage and route interrupts between various processor and peripheral components. The interrupt router is responsible for taking interrupt requests generated by hardware peripherals or other sources and then routing them to the appropriate CPU or processor core for processing.

    The interrupt routers are configurable, allowing developers to specify interrupt routing configurations to optimize system performance and reduce latency. The interrupt router configuration can be controlled through Resource Management file (sciclient_defaultBoardcfg_rm.c file).

     

    In the AM64X SOC, there are following interrupt routers,

    1. MAIN_GPIO_INTERRUPT_INTRTR0
    2. MCU_GPIOMUX_INTRTR0
    3. TIME_SYNC_INTRTR
    4. CMP_EVEN_INTRTR
    5. PKTDMA_INTRTR
    6. BCDMA routers.
  • Here, we will be focusing on MAIN_GPIO_INTERRUPT_INTRTR0 as the issue pertains to this router.

     MAIN_GPIO_INTERRUPT_INTRTR0 :

    as per the TRM, the AM64X SOC can read 199 GPIO interrupts and route them to different cores through the MAIN_GPIO_INTERRUPT_INTRTR0

    Router. As shown in the figure below, the AM64X SOC has 54 MAIN GPIO MUX INTR Routers.

    Among the 54 routers, 0 to 15 routers are shared between A53/R5F cores,

    38 to 45 are allocated to PRU_ICSSG0, and

    46 to 53 are allocated to PRU_ICSSG1.

    These routers are allocated to specific cores in the sciclient_defaultBoardcfg_rm.c file.

    In the MCU+SDK, this file can be found in the following path:  <Installation Directory>/source/drivers/sciclient/sciclient_default_boardcfg/am64x_am243x/sciclient_defaultBoardcfg_rm.

    According to the sciclient_defaultBoardcfg_rm.c  file,

            {
                .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,
            },

    Default Router Allocation Table

    Sl. No

    Router No (Range)

    Default Core

    1.

    0 to 7

    A53

    2.

    8 to 9

    R5F0_0

    3.

    10 to 11

    R5F0_1

    4.

    12 to 13

    R5F1_0

    5.

    14 to 15

    R5F1_1

     

    Therefore, to route a GPIO interrupt to a specific core, the Router output and destination core must be configured properly.

  • Root Cause of the Problem

    The GPIO_INPUT_INTERRUPT example running on R5FSS0_0 is based on MCU+ SDK while Linux running on A53 is based on Processor SDK. The problem comes because of the RM configuration differences in these SDKs. We have to initialize the board with the right RM configurations to make this example work.

    There are three ways to initialize the board:

    S. No. Boot Flow Use Case
    1 SBL from MCU+ SDK NORTOS/FreeRTOS example running on A53SS, R5FSS, M4FSS
    2 SPL from Processor SDK Linux running on A53SS
    3 Linux SBL from MCU+ SDK NORTOS/FreeRTOS example running on R5FSS, M4FSS & Linux running on A53SS

    The default GPIO_INPUT_INTERRUPT example is coded to work out-of-the box with the SBL from MCU+ SDK. If we used SPL to initialize the board, then the example does not work because Processor SDK uses different RM configurations. For the third option, the RM configurations used are the same as used in Processor SDK so the example does not work in this case also.

    In a nutshell, the GPIO_INPUT_INTERRUPT example works only with the first option while we need to tweak the RM configurations in case of second and third option to make the example work.

  • Modifying Resource Management Configurations

    A general introduction on modifying resource allocation is available at Modifying Resource Allocation. Here, we will discuss the more specific modifications to TISCI_DEV_MAIN_GPIOMUX_INTROUTER0.

    Resource Management Source File

    We will use the Linux SBL boot flow to demonstrate how to modify the RM configurations to make the example work.

    There are two Linux SBLs in the MCU+ SDK. One is SBL_EMMC_LINUX while the other is SBL_OPSI_LINUX. These SBLs uses a different RM configuration file than used by other SBLs like SBL_NULL, SBL_OSPI. The Resource Management file for Linux SBLs is located at <MCU+ SDK INSTALL DIR>/source/drivers/sciclient/sciclient_default_boardcfg/am64x_am243x/sciclient_defaultBoardcfg_rm_linux.c.

    If we take a look at this file, we find that the MAIN_GPIOMUX_INTROUTER0 interrupt outputs are only assigned to A530 & R5FSS1-1. Since, GPIO_INPUT_INTERRUPT runs on R5FSS0-0, the example does not work. To make the example work, we have to assign interrupt outputs 8 & 9 to R5FSS0-0 and keeping the rest same.

    Context ID for the Core

    We also need to take care of one more thing. The interrupt routing path is set via the TISCI request message TISCI_MSG_RM_IRQ_SET to System Firmware. This message type is used in non-secure context and therefore non-secure context ids should be used for the cores. The non-secure context id for R5FSS0-0 in MCU+ SDK is TISCI_HOST_ID_MAIN_0_R5_1.

    Changes to the Resource Management File

    With the above understanding, we assign the interrupt outputs of TISCI_DEV_MAIN_GPIOMUX_INTROUTER0 as follows:

    {
        .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_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_A53_2,
    },
    {
        .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,
    },

    Since, the above changes add 2 new entries to the structure, we have to accordingly update the new number of entries. Search for the field resasg_entries_size and change the number 161 to 163.

    .resasg_entries_size = 163 * sizeof(struct tisci_boardcfg_rm_resasg_entry),

    With the above changes, we have to then generate the updated Board Configuration binary file and then rebuild the Linux SBLs to reflect the changes.

    The updated sciclient_defaultBoardcfg_rm_linux.c file is attached for reference:

    3730.sciclient_defaultBoardcfg_rm_linux.c
    /*
     * K3 System Firmware Resource Management Configuration Data
     * Auto generated from K3 Resource Partitioning tool
     *
     * Copyright (c) 2018-2022, 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 sciclient_defaultBoardcfg_rm.c
     *
     *  \brief File containing the rm boardcfg default data structure to
     *      send TISCI_MSG_BOARD_CONFIG_RM 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 = 163 * 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_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_A53_2,
            },
            {
                .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 = 4,
                .type = TISCI_RESASG_UTYPE (TISCI_DEV_MCU_MCU_GPIOMUX_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_MCU_MCU_GPIOMUX_INTROUTER0, TISCI_RESASG_SUBTYPE_IR_OUTPUT),
                .start_resource = 4,
                .host_id = TISCI_HOST_ID_M4_0,
            },
            {
                .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 = 35,
                .type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_IA_VINT),
                .start_resource = 5,
                .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 = 16,
                .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 = 528,
                .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 = 528,
                .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 = 784,
                .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 = 976,
                .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 = 1232,
                .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 = 1424,
                .host_id = TISCI_HOST_ID_M4_0,
            },
            {
                .num_resource = 16,
                .type = TISCI_RESASG_UTYPE (TISCI_DEV_DMASS0_INTAGGR_0, TISCI_RESASG_SUBTYPE_GLOBAL_EVENT_SEVT),
                .start_resource = 1520,
                .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_A53_2,
            },
            {
                .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 = 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_A53_2,
            },
            {
                .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_A53_2,
            },
            {
                .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_A53_2,
            },
            {
                .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_A53_2,
            },
            {
                .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 = 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_A53_2,
            },
            {
                .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_A53_2,
            },
            {
                .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_A53_2,
            },
            {
                .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_A53_2,
            },
            {
                .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_A53_2,
            },
            {
                .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 = 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_A53_2,
            },
            {
                .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_A53_2,
            },
            {
                .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_A53_2,
            },
            {
                .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_A53_2,
            },
            {
                .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 = 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_A53_2,
            },
            {
                .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 = 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_A53_2,
            },
            {
                .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_A53_2,
            },
            {
                .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_A53_2,
            },
            {
                .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_A53_2,
            },
            {
                .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_A53_2,
            },
            {
                .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_A53_2,
            },
            {
                .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_A53_2,
            },
            {
                .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_A53_2,
            },
            {
                .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,
            },
        }
    };
    
    


  • Building RM & Linux SBL

    Generating Board Configuration Binary

    After doing the changes, we then build Board Configuration to generate the updated Board Configuration binary file. The following command can be run in <MCU+ SDK INSTALL DIR> to build generate Board Configuration file.

    gmake -s -C tools/sysfw/boardcfg

    More details are available at SYSFW Board Config Generation.

    Building Linux SBL

    We will build SBL_OSPI_LINUX however the same will apply for SBL_EMMC_LINUX. The following command can be run in <MCU+ SDK INSTALL DIR> to build SBL_OSPI_LINUX.

    gmake -s -C examples/drivers/boot/sbl_ospi_linux/am64x-evm/r5fss0-0_nortos/ti-arm-clang all

    Post Build Steps

    After building the required components, flash the binaries and power-cycle the board. The GPIO_INPUT_INTERRUPT example running on R5FSS0-0 should now be able to run successfully.