definitionOfRtuMemory.c 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /*
  2. * Copyright (C) ST-Ericsson SA 2010
  3. *
  4. * License terms: GNU General Public License (GPL) version 2
  5. */
  6. #include <linux/kernel.h>
  7. #include <linux/init.h>
  8. #include <linux/bug.h>
  9. #include <linux/string.h>
  10. #include <linux/pinctrl/machine.h>
  11. #include <linux/platform_data/pinctrl-nomadik.h>
  12. #include <asm/mach-types.h>
  13. #include <mach/hardware.h>
  14. #include "pins-db8500.h"
  15. #include "board-mop500.h"
  16. enum custom_pin_cfg_t {
  17. PINS_FOR_DEFAULT,
  18. PINS_FOR_U9500,
  19. };
  20. static enum custom_pin_cfg_t pinsfor;
  21. /* These simply sets bias for pins */
  22. #define BIAS(a,b) static unsigned long a[] = { b }
  23. BIAS(pd, PIN_PULL_DOWN);
  24. BIAS(in_nopull, PIN_INPUT_NOPULL);
  25. BIAS(in_nopull_slpm_nowkup, PIN_INPUT_NOPULL|PIN_SLPM_WAKEUP_DISABLE);
  26. BIAS(in_pu, PIN_INPUT_PULLUP);
  27. BIAS(in_pd, PIN_INPUT_PULLDOWN);
  28. BIAS(out_hi, PIN_OUTPUT_HIGH);
  29. BIAS(out_lo, PIN_OUTPUT_LOW);
  30. BIAS(out_lo_slpm_nowkup, PIN_OUTPUT_LOW|PIN_SLPM_WAKEUP_DISABLE);
  31. /* These also force them into GPIO mode */
  32. BIAS(gpio_in_pu, PIN_INPUT_PULLUP|PIN_GPIOMODE_ENABLED);
  33. BIAS(gpio_in_pd, PIN_INPUT_PULLDOWN|PIN_GPIOMODE_ENABLED);
  34. BIAS(gpio_in_pu_slpm_gpio_nopull, PIN_INPUT_PULLUP|PIN_GPIOMODE_ENABLED|PIN_SLPM_GPIO|PIN_SLPM_INPUT_NOPULL);
  35. BIAS(gpio_in_pd_slpm_gpio_nopull, PIN_INPUT_PULLDOWN|PIN_GPIOMODE_ENABLED|PIN_SLPM_GPIO|PIN_SLPM_INPUT_NOPULL);
  36. BIAS(gpio_out_hi, PIN_OUTPUT_HIGH|PIN_GPIOMODE_ENABLED);
  37. BIAS(gpio_out_lo, PIN_OUTPUT_LOW|PIN_GPIOMODE_ENABLED);
  38. /* Sleep modes */
  39. BIAS(slpm_in_nopull_wkup, PIN_SLEEPMODE_ENABLED|
  40. PIN_SLPM_DIR_INPUT|PIN_SLPM_PULL_NONE|PIN_SLPM_WAKEUP_ENABLE);
  41. BIAS(slpm_in_wkup_pdis, PIN_SLEEPMODE_ENABLED|
  42. PIN_SLPM_DIR_INPUT|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED);
  43. BIAS(slpm_wkup_pdis, PIN_SLEEPMODE_ENABLED|
  44. PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED);
  45. BIAS(slpm_out_lo_pdis, PIN_SLEEPMODE_ENABLED|
  46. PIN_SLPM_OUTPUT_LOW|PIN_SLPM_WAKEUP_DISABLE|PIN_SLPM_PDIS_DISABLED);
  47. BIAS(slpm_out_lo_wkup, PIN_SLEEPMODE_ENABLED|
  48. PIN_SLPM_OUTPUT_LOW|PIN_SLPM_WAKEUP_ENABLE);
  49. BIAS(slpm_out_lo_wkup_pdis, PIN_SLEEPMODE_ENABLED|
  50. PIN_SLPM_OUTPUT_LOW|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED);
  51. BIAS(slpm_out_hi_wkup_pdis, PIN_SLEEPMODE_ENABLED|PIN_SLPM_OUTPUT_HIGH|
  52. PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED);
  53. BIAS(slpm_in_nopull_wkup_pdis, PIN_SLEEPMODE_ENABLED|
  54. PIN_SLPM_INPUT_NOPULL|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED);
  55. BIAS(slpm_in_pu_wkup_pdis_en, PIN_SLEEPMODE_ENABLED|PIN_SLPM_INPUT_PULLUP|
  56. PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_ENABLED);
  57. BIAS(slpm_out_wkup_pdis, PIN_SLEEPMODE_ENABLED|
  58. PIN_SLPM_DIR_OUTPUT|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED);
  59. BIAS(out_lo_wkup_pdis, PIN_SLPM_OUTPUT_LOW|
  60. PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED);
  61. BIAS(in_wkup_pdis_en, PIN_SLPM_DIR_INPUT|PIN_SLPM_WAKEUP_ENABLE|
  62. PIN_SLPM_PDIS_ENABLED);
  63. BIAS(in_wkup_pdis, PIN_SLPM_DIR_INPUT|PIN_SLPM_WAKEUP_ENABLE|
  64. PIN_SLPM_PDIS_DISABLED);
  65. BIAS(out_wkup_pdis, PIN_SLPM_DIR_OUTPUT|PIN_SLPM_WAKEUP_ENABLE|
  66. PIN_SLPM_PDIS_DISABLED);