alarmUnprocessedDataOperation.c 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. /*
  2. * omap_hwmod_2xxx_ipblock_data.c - common IP block data for OMAP2xxx
  3. *
  4. * Copyright (C) 2011 Nokia Corporation
  5. * Paul Walmsley
  6. *
  7. * This program is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License version 2 as
  9. * published by the Free Software Foundation.
  10. */
  11. #include <linux/platform_data/gpio-omap.h>
  12. #include <linux/omap-dma.h>
  13. #include <plat/dmtimer.h>
  14. #include <linux/platform_data/spi-omap2-mcspi.h>
  15. #include "omap_hwmod.h"
  16. #include "omap_hwmod_common_data.h"
  17. #include "cm-regbits-24xx.h"
  18. #include "prm-regbits-24xx.h"
  19. #include "wd_timer.h"
  20. struct omap_hwmod_irq_info omap2xxx_timer12_mpu_irqs[] = {
  21. { .irq = 48 + OMAP_INTC_START, },
  22. { .irq = -1 },
  23. };
  24. struct omap_hwmod_dma_info omap2xxx_dss_sdma_chs[] = {
  25. { .name = "dispc", .dma_req = 5 },
  26. { .dma_req = -1 }
  27. };
  28. /*
  29. * 'dispc' class
  30. * display controller
  31. */
  32. static struct omap_hwmod_class_sysconfig omap2_dispc_sysc = {
  33. .rev_offs = 0x0000,
  34. .sysc_offs = 0x0010,
  35. .syss_offs = 0x0014,
  36. .sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_MIDLEMODE |
  37. SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
  38. .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
  39. MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
  40. .sysc_fields = &omap_hwmod_sysc_type1,
  41. };
  42. struct omap_hwmod_class omap2_dispc_hwmod_class = {
  43. .name = "dispc",
  44. .sysc = &omap2_dispc_sysc,
  45. };
  46. /* OMAP2xxx Timer Common */
  47. static struct omap_hwmod_class_sysconfig omap2xxx_timer_sysc = {
  48. .rev_offs = 0x0000,
  49. .sysc_offs = 0x0010,
  50. .syss_offs = 0x0014,
  51. .sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_CLOCKACTIVITY |
  52. SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
  53. SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
  54. .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
  55. .clockact = CLOCKACT_TEST_ICLK,
  56. .sysc_fields = &omap_hwmod_sysc_type1,
  57. };
  58. struct omap_hwmod_class omap2xxx_timer_hwmod_class = {
  59. .name = "timer",
  60. .sysc = &omap2xxx_timer_sysc,
  61. };
  62. /*
  63. * 'wd_timer' class
  64. * 32-bit watchdog upward counter that generates a pulse on the reset pin on
  65. * overflow condition
  66. */
  67. static struct omap_hwmod_class_sysconfig omap2xxx_wd_timer_sysc = {
  68. .rev_offs = 0x0000,
  69. .sysc_offs = 0x0010,
  70. .syss_offs = 0x0014,
  71. .sysc_flags = (SYSC_HAS_EMUFREE | SYSC_HAS_SOFTRESET |
  72. SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
  73. .sysc_fields = &omap_hwmod_sysc_type1,
  74. };
  75. struct omap_hwmod_class omap2xxx_wd_timer_hwmod_class = {
  76. .name = "wd_timer",
  77. .sysc = &omap2xxx_wd_timer_sysc,
  78. .pre_shutdown = &omap2_wd_timer_disable,
  79. .reset = &omap2_wd_timer_reset,
  80. };
  81. /*
  82. * 'gpio' class
  83. * general purpose io module
  84. */
  85. static struct omap_hwmod_class_sysconfig omap2xxx_gpio_sysc = {
  86. .rev_offs = 0x0000,
  87. .sysc_offs = 0x0010,
  88. .syss_offs = 0x0014,
  89. .sysc_flags = (SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE |
  90. SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
  91. SYSS_HAS_RESET_STATUS),