| 
 | 
 
 本帖最后由 fanqiehua 于 2013-8-28 15:38 编辑  
 
tq210 如何在按键驱动当中增加一个io口作为一个新的按键,比如在“XEINT30/KP_ROW6/GPH3_6”这个引脚上新增加一个按键,要在原来的按键驱动中怎么更改!请版主给个提示!谢谢! 
 
我修改mach-tq210.c的static struct gpio_keys_button gpio_buttons[]如下: 
#ifdef CONFIG_KEYBOARD_S3C_GPIO 
 static struct gpio_keys_button gpio_buttons[] = { 
 
         { 
                 .gpio                = S5PV210_GPH0(0), 
                 .code                = 139, 
                 .desc                = "KEY_MENU_SHARD", 
                 .active_low        = 1, 
                 .wakeup                = 0, 
         }, 
         { 
                 .gpio                = S5PV210_GPH0(1), 
                 .code                = 28, 
                 .desc                = "ENTER", 
                 .active_low        = 1, 
                 .wakeup                = 1, 
         },         
         { 
                 .gpio                = S5PV210_GPH0(2), 
                 .code                = 158, 
                 .desc                = "BACK", 
                 .active_low        = 1, 
                 .wakeup                = 1, 
         }, 
         { 
                 .gpio                = S5PV210_GPH3(6), 
                 .code                = 116, 
                 .desc                = "POWER", 
                 .active_low        = 1, 
                 .wakeup                = 0, 
         }, 
} 
 
 
修改struct s3c_gpio_key s3c_gpio_keys[]如下: 
struct s3c_gpio_key s3c_gpio_keys[]= 
 {         
          {  
                  .pin = S5PV210_GPH0(0), 
                  .eintcfg = 0X0f<<0,       
                  .inputcfg = 0<<0, 
                  .eint = IRQ_EINT0, 
          }, 
          {  
                  .pin = S5PV210_GPH0(1), 
                  .eintcfg = 0X0f<<4,       
                  .inputcfg = 0<<4, 
                  .eint = IRQ_EINT1, 
          }, 
          { //lhh add 
                  .pin = S5PV210_GPH0(2), 
                  .eintcfg = 0X0f<<8,       
                  .inputcfg = 0<<8, 
                  .eint = IRQ_EINT2, 
          }, 
          {  
                  .pin = S5PV210_GPH3(6),  
                  .eintcfg = 0X0f<<24,       
                  .inputcfg = 0<<24, 
                  .eint = IRQ_EINT(30), 
          }, 
} 
 
为什么还要加入s3c_gpio_setpull(S5PV210_GPH3(6),S3C_GPIO_PULL_UP);这句话啊!不加入这句话时,io口引脚默认是低电平,为什么其它的GPH0—GPH2这三个脚不用设置成上拉,或者是在其它地方设置的? 
 |   
 
 
 
 |