TDA4VM: RTOS-SDK: PDK gpio example is not working with button connected to main domain GPIO

Part Number: TDA4VM

Tool/software:

Hello guys!

I have got a J721e_evm board. I am using the "ti-processor-sdk-rtos-j721e-evm-09_02_00_05". I am trying to trigger a GPIO interrupt which comes form an external source (like a button). I am using the mc2_1 core, and the PDK's GPIO example: main_led_blink.c. I have already successfully triggered interrupt from a WKUP domain GPIO, but with MAIN domain its just does't work. In my example I am trying to use GPIO0_71. I could use this pin as output successfully, but not as interrupt input so far. Here is the relevant part of my code:

pinmux_data:

/* MyGPIO0 -> GPIO0_71 -> AA28 */
    {
        PIN_PRG0_PRU1_GPO8, PIN_MODE(7) | \
        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
    },


GPIO_board.c:
/* GPIO Driver board specific pin configuration structure */ 
GPIO_PinConfig gpioPinConfigs[] =
{
    GPIO_DEVICE_CONFIG(1, 71)               |  GPIO_CFG_IN_INT_RISING | GPIO_CFG_INPUT,
};

/* GPIO Driver call back functions */
GPIO_CallbackFxn gpioCallbackFunctions[] =
{
    NULL
};

/* GPIO Driver configuration structure */
GPIO_v0_Config GPIO_v0_config =
{
    gpioPinConfigs,         
    gpioCallbackFunctions,
    sizeof(gpioPinConfigs) / sizeof(GPIO_PinConfig),
    sizeof(gpioCallbackFunctions) / sizeof(GPIO_CallbackFxn),
    0x8U


main_led_blink.c
volatile uint32_t main_gpio_intr_triggered = 0;

static void Board_initGPIO(void)
{
    Board_initCfg boardCfg;
    GPIO_v0_HwAttrs gpio_cfg;

    boardCfg = BOARD_INIT_PINMUX_CONFIG |
        BOARD_INIT_MODULE_CLOCK |
        BOARD_INIT_UART_STDIO;
    Board_init(boardCfg);

    GPIO_socGetInitCfg(1, &gpio_cfg);
    gpio_cfg.baseAddr = CSL_GPIO0_BASE;
    (gpio_cfg.intCfg[71]).intcMuxNum = INVALID_INTC_MUX_NUM;
    (gpio_cfg.intCfg[71]).intcMuxInEvent = 0;
    (gpio_cfg.intCfg[71]).intcMuxOutEvent = 0;
    GPIO_socSetInitCfg(1, &gpio_cfg);
}

void AppMainGpioCallbackFxn(void)
{
    main_gpio_intr_triggered = 1;
    GPIO_clearInt(0);
}

#if defined (RTOS_ENV)
void gpio_test(void* arg0, void* arg1)
{
#else
int main()
{   
    Board_initGPIO();
#endif
    // GPIO initialization
    GPIO_init();
    
    // Set the callback function
    GPIO_setCallback(0, AppMainGpioCallbackFxn);

    // Enable GPIO interrupt on the specific gpio pin
    GPIO_enableInt(0); 
    GPIO_clearInt(0);
  
    GPIO_log("\n -------------LED blink application------------- \n");
    UART_printStatus("\n Awaiting interrupt occurrence ...\n");
    AppDelay(DELAY_VALUE);
   
    while (main_gpio_intr_triggered == 0U);
    UART_printStatus("\n Button has been pushed, and the interrupt has been captured!! \n");
    
    while(1)
    {
        AppDelay(DELAY_VALUE);
    }
}



Can you help me what could I do wrong?
Thank you for your help