setup-keypad.c 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. /*
  2. * linux/arch/arm/mach-s5pv210/setup-keypad.c
  3. *
  4. * Copyright (C) 2010 Samsung Electronics Co.Ltd
  5. * Author: Joonyoung Shim <jy0922.shim@samsung.com>
  6. *
  7. * This program is free software; you can redistribute it and/or modify it
  8. * under the terms of the GNU General Public License as published by the
  9. * Free Software Foundation; either version 2 of the License, or (at your
  10. * option) any later version.
  11. *
  12. */
  13. #include <linux/gpio.h>
  14. #include <plat/gpio-cfg.h>
  15. void samsung_keypad_cfg_gpio(unsigned int rows, unsigned int cols)
  16. {
  17. unsigned int gpio, end;
  18. /* Set all the necessary GPH3 pins to special-function 3: KP_ROW[x] */
  19. end = S5PV210_GPH3(rows);
  20. for (gpio = S5PV210_GPH3(0); gpio < end; gpio++) {
  21. s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(3));
  22. s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
  23. }
  24. /* Set all the necessary GPH2 pins to special-function 3: KP_COL[x] */
  25. end = S5PV210_GPH2(cols);
  26. for (gpio = S5PV210_GPH2(0); gpio < end; gpio++) {
  27. s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(3));
  28. s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
  29. }
  30. }