Hi, I need a help to resolve the Interrupt handling in the mini2440 ( s3c2440); I have configured the GPIO GPG port pins 19 and 20 ( CON4 pins) as Interrupt pins ( EINT13 and EINT14 ) ; developed a driver in kernel space similar to the example mini2440_buttons.c I have set the Pull-up for these Pins as OFF by using hte built it routine s3c24xx_setpull(port, 1); IT seems this pull up function doesn't work. but when I turn on the board and run this driver, ( open the Test application using this driver). these EINT13 and EINT14 pins goes HIGH always. My external interrupts are driving Active HIGH, so I wanted to configure these EINTx pins as ZERO/low by default. Please help me to set these EINTx pins to ZERO ( or to disable the Pull up). thanks in advance, sampath
GPIO EINT13, EINT14 Pull-up seems not working
I don't how fast you want to be able to control these pins. If speed is not a factor I would suggest reading section 8.4.1 GPIO Usage example in the Pengutronix Quickstart guide. http://www.ptxdist.de/oselas/bsp/pengutronix/mini2440_bsp_en.html
Thanks Dave. But my requirements is to use Interrupts. I realized that, when this Pin is configured for Interrupts, it should be either Puled Up or Pulled Down. not sure. regards, sampath
Just trying to work through this myself: EINT12 [18:16] Setting the signaling method of the EINT12. 000 = Low level 001 = High level 01x = Falling edge triggered 10x = Rising edge triggered 11x = Both edge triggered You want the port to start off low then cause an interrupt when the port goes high. So, the signalling method is set to 001 (high level) or 10x (rising edge triggered). When the uP boots up the ports are in their reset state which is a high pull-up on. Correct? Could you just put a pull-down resistor on the port and then let up the interrupt source pull it high? Interested in the outcome.