Tool/software: TI-RTOS
Hi,
I am using PROCESSOR-SDK-RTOS-AM57X - pdk_am57xx_1_0_7
we are trying to handle the interrupt which is triggered by the FPGA to DSP on the gpio2_19 pin.
But, when we try to use this GPIO we receive bad IRQ interrupt in ARM linux.
------------------------------------------Logs start ----------------------------------------------------------
[ 370.329813] irq 88, desc: eea35d80, depth: 1, count: 0, unhandled: 0
[ 370.336198] ->handle_irq(): c007e908, handle_bad_irq+0x0/0x280
[ 370.342159] ->irq_data.chip(): eea34d90, 0xeea34d90
[ 370.347065] ->action(): (null)
[ 370.350304] IRQ_NOPROBE set
[ 370.353369] unexpected IRQ trap at vector 58
-------------------------------------------Logs End--------------------------------------------------------------------
We are configuring the gpio pin as below,
pinmux to work as gpio2_19,
#define GPIO_FPGA_INTR_PORT_NUM 0x2;
#define GPIO_FPGA_INTR_PIN_NUM 0x13;
regVal = 0x5000E
((CSL_padRegsOvly) CSL_MPU_CORE_PAD_IO_REGISTERS_REGS)->PAD_GPMC_CS0 = regVal;//gpio2_19
GPIO_DEVICE_CONFIG(GPIO_FPGA_INTR_PORT_NUM, GPIO_FPGA_INTR_PIN_NUM) |
GPIO_CFG_INPUT | GPIO_CFG_IN_INT_RISING
ISR to handle the interrupt,
void FpgaGpioInt()
{
Log_print0(Diags_USER1, "***** interrupt occured *****");
}
void config_gpio_callback()
{
GPIO_setCallback(BOSE_GPIO_FPGA_INTR, FpgaGpioInt);
GPIO_enableInt(BOSE_GPIO_FPGA_INTR);
}
Crossbar IRQ for gpio2
CSL_xbarIrqConfigure(CSL_XBAR_IRQ_CPU_ID_DSP1, CSL_XBAR_INST_DSP1_IRQ_56, CSL_XBAR_GPIO2_IRQ_1);//gpio2_irq
after registering am calling the ISR
config_gpio_callback();
Can you tell us whats going wrong in the above procedure,why am getting IRQ interrupt error?
Thanks and regards,
Ranganath
