omap_hwmod_common_data.c 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. /*
  2. * omap_hwmod common data structures
  3. *
  4. * Copyright (C) 2010 Texas Instruments, Inc.
  5. * Thara Gopinath <thara@ti.com>
  6. * Benoît Cousson
  7. *
  8. * Copyright (C) 2010 Nokia Corporation
  9. * Paul Walmsley
  10. *
  11. * This program is free software; you can redistribute it and/or modify
  12. * it under the terms of the GNU General Public License version 2 as
  13. * published by the Free Software Foundation.
  14. *
  15. * This data/structures are to be used while defining OMAP on-chip module
  16. * data and their integration with other OMAP modules and Linux.
  17. */
  18. #include <linux/types.h>
  19. #include <linux/platform_data/ti-sysc.h>
  20. #include "omap_hwmod.h"
  21. #include "omap_hwmod_common_data.h"
  22. /**
  23. * struct omap_hwmod_sysc_type1 - TYPE1 sysconfig scheme.
  24. *
  25. * To be used by hwmod structure to specify the sysconfig offsets
  26. * if the device ip is compliant with the original PRCM protocol
  27. * defined for OMAP2420.
  28. */
  29. struct sysc_regbits omap_hwmod_sysc_type1 = {
  30. .midle_shift = SYSC_TYPE1_MIDLEMODE_SHIFT,
  31. .clkact_shift = SYSC_TYPE1_CLOCKACTIVITY_SHIFT,
  32. .sidle_shift = SYSC_TYPE1_SIDLEMODE_SHIFT,
  33. .enwkup_shift = SYSC_TYPE1_ENAWAKEUP_SHIFT,
  34. .srst_shift = SYSC_TYPE1_SOFTRESET_SHIFT,
  35. .autoidle_shift = SYSC_TYPE1_AUTOIDLE_SHIFT,
  36. };
  37. /**
  38. * struct omap_hwmod_sysc_type2 - TYPE2 sysconfig scheme.
  39. *
  40. * To be used by hwmod structure to specify the sysconfig offsets if the
  41. * device ip is compliant with the new PRCM protocol defined for new
  42. * OMAP4 IPs.
  43. */
  44. struct sysc_regbits omap_hwmod_sysc_type2 = {
  45. .midle_shift = SYSC_TYPE2_MIDLEMODE_SHIFT,
  46. .sidle_shift = SYSC_TYPE2_SIDLEMODE_SHIFT,
  47. .srst_shift = SYSC_TYPE2_SOFTRESET_SHIFT,
  48. .dmadisable_shift = SYSC_TYPE2_DMADISABLE_SHIFT,
  49. };
  50. /**
  51. * struct omap_hwmod_sysc_type3 - TYPE3 sysconfig scheme.
  52. * Used by some IPs on AM33xx
  53. */
  54. struct sysc_regbits omap_hwmod_sysc_type3 = {
  55. .midle_shift = SYSC_TYPE3_MIDLEMODE_SHIFT,
  56. .sidle_shift = SYSC_TYPE3_SIDLEMODE_SHIFT,
  57. };
  58. struct omap_dss_dispc_dev_attr omap2_3_dss_dispc_dev_attr = {
  59. .manager_count = 2,
  60. .has_framedonetv_irq = 0
  61. };
  62. struct sysc_regbits omap34xx_sr_sysc_fields = {
  63. .clkact_shift = 20,
  64. };
  65. struct sysc_regbits omap36xx_sr_sysc_fields = {
  66. .sidle_shift = 24,
  67. .enwkup_shift = 26,
  68. };
  69. struct sysc_regbits omap3_sham_sysc_fields = {
  70. .sidle_shift = 4,
  71. .srst_shift = 1,
  72. .autoidle_shift = 0,
  73. };
  74. struct sysc_regbits omap3xxx_aes_sysc_fields = {
  75. .sidle_shift = 6,
  76. .srst_shift = 1,
  77. .autoidle_shift = 0,
  78. };
  79. struct sysc_regbits omap_hwmod_sysc_type_mcasp = {
  80. .sidle_shift = 0,
  81. };
  82. struct sysc_regbits omap_hwmod_sysc_type_usb_host_fs = {
  83. .midle_shift = 4,
  84. .sidle_shift = 2,
  85. .srst_shift = 1,
  86. };