b3f639c4fe
The call to s3c_gpio_cfgrange_nopull() takes a size and base but this looks like it is trying to do base and end. This means it is configuring too many GPIOs and on the case of the Cragganmore means we're seeing an overflow of the ROW pins causing problems with the keyboard driver. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
25 lines
797 B
C
25 lines
797 B
C
/* linux/arch/arm/mach-s3c64xx/setup-keypad.c
|
|
*
|
|
* Copyright (c) 2010 Samsung Electronics Co., Ltd.
|
|
* http://www.samsung.com/
|
|
*
|
|
* GPIO configuration for S3C64XX KeyPad device
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#include <linux/gpio.h>
|
|
#include <plat/gpio-cfg.h>
|
|
#include <plat/keypad.h>
|
|
|
|
void samsung_keypad_cfg_gpio(unsigned int rows, unsigned int cols)
|
|
{
|
|
/* Set all the necessary GPK pins to special-function 3: KP_ROW[x] */
|
|
s3c_gpio_cfgrange_nopull(S3C64XX_GPK(8), rows, S3C_GPIO_SFN(3));
|
|
|
|
/* Set all the necessary GPL pins to special-function 3: KP_COL[x] */
|
|
s3c_gpio_cfgrange_nopull(S3C64XX_GPL(0), cols, S3C_GPIO_SFN(3));
|
|
}
|