1. inside twl4030.c files:
  2.  
  3. static int __devinit gpio_twl4030_probe(struct platform_device *pdev)
  4. {
  5. struct twl4030_gpio_platform_data *pdata = pdev->dev.platform_data;
  6. int ret,itime,atime;
  7. omap_cfg_reg(AE2_34XX_GPIO130_OUT);
  8.  
  9. if (gpio_request(130, "AE2_34XX_GPIO130_OUT") == 0)
  10. {
  11. if(gpio_direction_output(130, 1)==0)
  12. {
  13. printk(KERN_INFO "IO_EXPANDER: WORKs!\n");
  14.  
  15. gpio_set_value(130, 1);
  16.  
  17. for(itime=0;itime<1000000;itime++)
  18. {
  19. for(atime=0;atime<1000000;atime++)
  20. might_sleep();
  21. }
  22.  
  23. gpio_set_value(130, 0);
  24.  
  25. for(itime=0;itime<1000000;itime++)
  26. {
  27. for(atime=0;atime<1000000;atime++)
  28. might_sleep();
  29. }
  30. gpio_set_value(130, 1);
  31.  
  32. for(itime=0;itime<1000000;itime++)
  33. {
  34. for(atime=0;atime<1000000;atime++)
  35. might_sleep();
  36. }
  37.  
  38. gpio_set_value(130, 1);
  39. }
  40. else
  41. printk(KERN_INFO "IO_EXPANDER: Not WORKs!\n");
  42. }
  43. else
  44. printk(KERN_INFO "IO_EXPANDER: Not WORKs!\n");
  45.  
  46. inside devkit8000_defconfig files:
  47. CONFIG_OMAP_MUX=y
  48.  
  49. inside board-devkit8000.c:
  50.  
  51. static struct pin_config __initdata devkit8000_pins[] = {
  52. /*
  53. * Name, reg-offset,
  54. * mux-mode | [active-mode | off-mode]
  55. */
  56.  
  57. /* added this GPIO_130->GPIO_139*/
  58. MUX_CFG_34XX("AE2_34XX_GPIO130_OUT", 0x158,
  59. OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT)