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.

C6748 BIOS PSP GPIO INTERRUPT SETUP ISSUE

Hi,

I am trying to set-up a GPIO4[8] interrupt for C6748.

I have followed gpio_Sample example code provided in biospsp_03_00_01_00\drivers\examples\evm6738\gpio\src\

following is my code:

Gpio_IntrCmdArg intrCmdArg;
Gpio_PinCmdArg pinCmdArg;
CSL_SyscfgRegsOvly sysCfgRegs = (CSL_SyscfgRegsOvly)CSL_SYSCFG_0_REGS;

params.instNum = 0;

params.BankParams[4].inUse = Gpio_InUse_No;
params.BankParams[4].hwiNum = 8u;
params.BankParams[4].PinConfInfo[8].inUse = Gpio_InUse_No;

if (status == IOM_COMPLETED)
{
module->gpioHandle = Gpio_open(&params);
status = (module->gpioHandle == NULL) ? IOM_EALLOC : status;
}

/* enable OTG_VBUS_nFLT, GP4[8] PINMUX9 [31:28], INPUT, interrupt falling edge active low */
if (status == IOM_COMPLETED)
{
sysCfgRegs->PINMUX9 &= ~CSL_SYSCFG_PINMUX9_PINMUX9_31_28_MASK;
sysCfgRegs->PINMUX9 |= (CSL_SYSCFG_PINMUX9_PINMUX9_31_28_GPIO4_8 <<
CSL_SYSCFG_PINMUX9_PINMUX9_31_28_SHIFT);

// status = configurePin(USB0_OTG_VBUS_nFLT_PIN, Gpio_Direction_Input, PinState_LOW);

/* Configure GPIO(GPIO4_8_PIN) as an input */
pinCmdArg.pin = USB0_OTG_VBUS_nFLT_PIN;
pinCmdArg.value = Gpio_Direction_Input;
status = Gpio_setPinDir(module->gpioHandle, &pinCmdArg);

/* Enable GPIO Bank interrupt for bank GPIO_BANK_4 */
status = Gpio_bankInterruptEnable(module->gpioHandle, GPIO_BANK_4);

/* Configure GPIO(OTG_VBUS_nFLT) to generate interrupt on falling edge */
status = Gpio_setFallingEdgeTrigger(module->gpioHandle, USB0_OTG_VBUS_nFLT_PIN);

/* Set the interrupt handler for OTG_VBUS_nFLT, GP4[8]. Since we cannot register *
* interrupts for individual pins in C6748, therefore register interrupt *
* for the associated bank(BANK4) as a whole */

intrCmdArg.value = GPIO_BANK_4;
intrCmdArg.bankOrPin = Gpio_BankOrPin_isBank;
intrCmdArg.isrHandler = (Gpio_Isr)gpioInputIsr;
status = Gpio_regIntHandler(module->gpioHandle, &intrCmdArg);

}

// in cfg file

ECM.eventGroupHwiNum[0] = 7; // USB HWI
ECM.eventGroupHwiNum[1] = 8; // SPI1 Int
ECM.eventGroupHwiNum[2] = 9; // CameraManager/PRU HWI
ECM.eventGroupHwiNum[3] = 10;

what could I be missing?