hu jiaqi
|
bsp6.5.0 ,GPIO interrupt of am335x beaglebone black
|
hu jiaqi
07/30/2018 6:34 AM
post119020
|
bsp6.5.0 ,GPIO interrupt of am335x beaglebone black
hello:
I am using the bsp I use the gpio3_20 to get interrupt .
i have configure the gpio setting of am335x according to linux bsp which is work fine.
I add code following in the startup/initpinmux.c
out32(conf_mcasp0_axr1,(MODE(7) | RXACTIVE |PULLUDEN | PULLUP_EN));//gpio3_20
out32(AM335X_GPIO3_BASE + GPIO_OE , in32(AM335X_GPIO3_BASE + GPIO_OE) & (1<<20));
out32(AM335X_GPIO3_BASE + GPIO_LEVELDETECT0 , in32(AM335X_GPIO3_BASE + GPIO_LEVELDETECT0) & (1<<20));
out32(AM335X_GPIO3_BASE + GPIO_LEVELDETECT1 , in32(AM335X_GPIO3_BASE + GPIO_LEVELDETECT1) & 0xFFEFFFFF);
out32(AM335X_GPIO3_BASE + GPIO_RISINGDETECT , in32(AM335X_GPIO3_BASE + GPIO_RISINGDETECT) & 0xFFEFFFFF);
out32(AM335X_GPIO3_BASE + GPIO_FALLINGDETECT , in32(AM335X_GPIO3_BASE + GPIO_FALLINGDETECT ) & 0xFFEFFFFF);
I use the gpio_irq 0x374 ,The irq num which is defined in initintinfo.c
// GPIO3 interrupt
{ 0x360, // vector base
32, // number of vectors
62, // cascade vector
0, // CPU vector base
0, // CPU vector stride
0, // flags
{ 0, 0, &interrupt_id_am335x_gpio},
{ INTR_GENFLAG_LOAD_INTRMASK, 0, &interrupt_eoi_am335x_gpio},
&interrupt_mask_am335x_gpio, // mask callout
&interrupt_unmask_am335x_gpio, // unmask callout
0, // config callout
&am335x_gpio3_base
},
But I can not get the interrupt in my ISR,can any one tell me why ?
I also find another guy meet the problem.
Can anyone also tell me where is the error he make?
Best regards
https://e2e.ti.com/support/arm/sitara_arm/f/791/t/293435
|
|
|