static void PortE6_isr(void)
{
sysprintf("GPE6 IQR...\n");
gpio_cleartriggersrc(GPIO_PORTE);
return;
}
void gpioisr_init(void)
{
outp32(REG_GPEFUN, (inp32(REG_GPEFUN) & ~MF_GPE6));
gpio_setportdir(GPIO_PORTE, (1 << 6), 0 << 6);
gpio_setportpull(GPIO_PORTE, (1 << 6), 0 << 6);
sysprintf("pe6 internal pull high disable: \n");
gpio_setintmode(GPIO_PORTE, (1 << 6), (1 << 6), 1 << 6);
gpio_setsrcgrp(GPIO_PORTE, (1 << 6), 3);
gpio_setdebounce(128, 1 << 3);
gpio_setlatchtrigger(1 << 3);
sysInstallISR(IRQ_LEVEL_7, (INT_SOURCE_E)(3 + 2), (PVOID)PortE6_isr);
sysSetInterruptType((INT_SOURCE_E)(3 + 2), HIGH_LEVEL_SENSITIVE);
sysprintf("pe6 HIGH_LEVEL_SENSITIVE \n");
sysSetLocalInterrupt(ENABLE_IRQ);
sysEnableInterrupt((INT_SOURCE_E)(3 + 2));
}
|