mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-10 04:48:04 +09:00
rk29-ddr3sdk:set keygpio pullup/down disable when in sleep
This commit is contained in:
39
arch/arm/mach-rk29/board-rk29-ddr3sdk.c
Normal file → Executable file
39
arch/arm/mach-rk29/board-rk29-ddr3sdk.c
Normal file → Executable file
@@ -164,6 +164,45 @@ struct rk29_nand_platform_data rk29_nand_data = {
|
||||
#define TOUCH_SCREEN_STANDBY_VALUE GPIO_HIGH
|
||||
#define TOUCH_SCREEN_DISPLAY_PIN INVALID_GPIO
|
||||
#define TOUCH_SCREEN_DISPLAY_VALUE GPIO_HIGH
|
||||
|
||||
#if 1
|
||||
void key_gpio_pullupdown_enable(void)
|
||||
{ gpio_pull_updown(RK29_PIN6_PA0, 0);
|
||||
gpio_pull_updown(RK29_PIN6_PA1, 0);
|
||||
gpio_pull_updown(RK29_PIN6_PA2, 0);
|
||||
gpio_pull_updown(RK29_PIN6_PA3, 0);
|
||||
gpio_pull_updown(RK29_PIN6_PA4, 0);
|
||||
gpio_pull_updown(RK29_PIN6_PA5, 0);
|
||||
gpio_pull_updown(RK29_PIN6_PA6, 0);
|
||||
|
||||
}
|
||||
void key_gpio_pullupdown_disable(void)
|
||||
{
|
||||
gpio_pull_updown(RK29_PIN6_PA0, 1);
|
||||
gpio_pull_updown(RK29_PIN6_PA1, 1);
|
||||
gpio_pull_updown(RK29_PIN6_PA2, 1);
|
||||
gpio_pull_updown(RK29_PIN6_PA3, 1);
|
||||
gpio_pull_updown(RK29_PIN6_PA4, 1);
|
||||
gpio_pull_updown(RK29_PIN6_PA5, 1);
|
||||
gpio_pull_updown(RK29_PIN6_PA6, 1);
|
||||
}
|
||||
void rk29_setgpio_suspend_board(void)
|
||||
{
|
||||
|
||||
key_gpio_pullupdown_enable();
|
||||
|
||||
}
|
||||
|
||||
void rk29_setgpio_resume_board(void)
|
||||
{
|
||||
|
||||
key_gpio_pullupdown_disable();
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef CONFIG_FB_RK29
|
||||
/*****************************************************************************************
|
||||
* lcd devices
|
||||
|
||||
16
arch/arm/mach-rk29/gpio.c
Normal file → Executable file
16
arch/arm/mach-rk29/gpio.c
Normal file → Executable file
@@ -550,12 +550,22 @@ void __init rk29_gpio_init(void)
|
||||
}
|
||||
rk29_gpio_irq_setup();
|
||||
}
|
||||
__weak void rk29_setgpio_suspend_board(void)
|
||||
{
|
||||
}
|
||||
|
||||
__weak void rk29_setgpio_resume_board(void)
|
||||
{
|
||||
|
||||
}
|
||||
#ifdef CONFIG_PM
|
||||
|
||||
static int rk29_gpio_suspend(struct sys_device *dev, pm_message_t mesg)
|
||||
{
|
||||
unsigned i;
|
||||
|
||||
|
||||
rk29_setgpio_suspend_board();
|
||||
|
||||
for (i = 0; i < MAX_BANK; i++) {
|
||||
struct rk29_gpio_chip *rk29_gpio = &rk29gpio_chip[i];
|
||||
|
||||
@@ -572,7 +582,9 @@ static int rk29_gpio_suspend(struct sys_device *dev, pm_message_t mesg)
|
||||
static int rk29_gpio_resume(struct sys_device *dev)
|
||||
{
|
||||
unsigned i;
|
||||
|
||||
|
||||
rk29_setgpio_resume_board();
|
||||
|
||||
for (i = 0; i < MAX_BANK; i++) {
|
||||
struct rk29_gpio_chip *rk29_gpio = &rk29gpio_chip[i];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user