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.

PROCESSOR-SDK-J784S4: Is it possible to change every firewall owner

Part Number: PROCESSOR-SDK-J784S4

Tool/software:

Hi experts,

I am using J784S4_EVM with SDK10.

In my case, I am trying to give firewall 104 (GPIOMUX INTRTR) from mcu1_0 to C7X_0.

I need a flexible mapping of the IRQ for different applications and I can't rebuild the mcu1_0 each time with a different config (config from sciclient_defaultBoardcfg_rm.c).

The master of my app will be the c7x core 0, that's why I would like to config the GPIOMUX INTRTR from this core.

I have modify Ipc_setupSciServer() of ipc_echo_testb_freertos application

/* give gpio interrupt router firewall to c7x core 1 */
    struct tisci_msg_fwl_change_owner_info_req req_fw_change_owner = {
      .fwl_id      = (uint16_t) CSL_STD_FW_GPIOMUX_INTRTR0_INTR_ROUTER_CFG_ID,
      .region      = (uint16_t) 0,
      .owner_index = (uint8_t) TISCI_HOST_ID_C7X_0_1
      };
    struct tisci_msg_fwl_change_owner_info_resp resp = {0};
    uint32_t timeout = 0xFFFFFFFFU;
    int32_t ret = CSL_PASS;

    ret = Sciclient_firewallChangeOwnerInfo(&req_fw_change_owner, &resp, timeout);
    if (ret != CSL_PASS)
    {
        App_printf("[Firewall] Error : failed change owner of gpio intrtr\n");
    }
    else
    {
        App_printf("[Firewall] change owner of gpio intrtr success\n");
    }

I have rebuilt the SPL to boot on linux.

But the return value is != CSL_PASS.

When I try to change an other firewall owner with the same code, it works.

That's why, I would like to know if it is possible to change every firewall owner.

Thanks for your help

Charles

  • Hi Charles,

    In my case, I am trying to give firewall 104 (GPIOMUX INTRTR) from mcu1_0 to C7X_0.

    No, this is not possible.

    GPIOMUX_INTRTR is a central resource, and is used for managing GPIO interrupts that can be routed to multiple cores. The allocations are managed centrally by the Device Management Server running on MCU1_0 core, following the RM Board Configuration through the TI-SCI interface. Each client processor would have to use the Sciclient API to request the interrupt routing setup.

    I need a flexible mapping of the IRQ for different applications and I can't rebuild the mcu1_0 each time with a different config (config from sciclient_defaultBoardcfg_rm.c).

    The RM Board Configuration data is processed and initialized during boot and comes from your Bootloader (SBL). This is not something that comes from your MCU1_0 application.

    What do you mean by different applications -> you are talking about C7x firmware here? The C7x firmware is booted once, you may different run-time tasks.

    When I try to change an other firewall owner with the same code, it works.

    The Firewall Id 104 is owned by TIFS and pre-configured during boot, so you cannot change/adjust the Firewall permissions for this.

    Please see the J784S4 Firewall Descriptions section for details on all the pre-configured Firewalls.

    regards

    Suman