|
Hi all there,
I am using s3c2410 and 2.6.16 kernel and I am struggling to disable pull-up on EINTn.
My code is something like this:
s3c2410_gpio_pullup(S3C2410_GPF5, 1);
s3c2410_gpio_pullup(S3C2410_GPF6, 1);
s3c2410_gpio_cfgpin(S3C2410_GPF5, S3C2410_GPF5_OUTP);
s3c2410_gpio_cfgpin(S3C2410_GPF6, S3C2410_GPF6_OUTP);
s3c2410_gpio_setpin(S3C2410_GPF5, 0);
s3c2410_gpio_setpin(S3C2410_GPF6, 0);
--> by here I can see the pull-up is disabled
/* Configure the data0=GPF5=EINT5 data1=GPF6=EINT6 */
s3c2410_gpio_cfgpin(S3C2410_GPF5, S3C2410_GPF5_EINT5);
s3c2410_gpio_cfgpin(S3C2410_GPF6, S3C2410_GPF6_EINT6);
-->by here I can see the pull-up is enabled
But why?
The menu says:
"The port pull-up register controls the pull-up resister enable/
disable of each port group. When the corresponding bit is
0, the pull-up resister of the pin is enabled. When 1, the pull-
up resister is disabled.
If the port pull-up register is enabled, the pull-up resisters work
without pin's functional setting (input, output, DATAn,EINTn,
etc)."
It seems like when setting to EINT the pull-up is automatically on!!!
I have check the souce linux/arch/arm/mach-s3c2410/gpio.c, and I think it is OK.
Are there anything I have missed, or some stupid mistake.
Thanks for your help |
|