powerdomains2xxx_3xxx_data.c 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /*
  2. * OMAP2/3 common powerdomain definitions
  3. *
  4. * Copyright (C) 2007-2008 Texas Instruments, Inc.
  5. * Copyright (C) 2007-2011 Nokia Corporation
  6. *
  7. * Paul Walmsley, Jouni Högander
  8. *
  9. * This program is free software; you can redistribute it and/or modify
  10. * it under the terms of the GNU General Public License version 2 as
  11. * published by the Free Software Foundation.
  12. */
  13. /*
  14. * To Do List
  15. * -> Move the Sleep/Wakeup dependencies from Power Domain framework to
  16. * Clock Domain Framework
  17. */
  18. /*
  19. * This file contains all of the powerdomains that have some element
  20. * of software control for the OMAP24xx and OMAP34xx chips.
  21. *
  22. * This is not an exhaustive listing of powerdomains on the chips; only
  23. * powerdomains that can be controlled in software.
  24. */
  25. /*
  26. * The names for the DSP/IVA2 powerdomains are confusing.
  27. *
  28. * Most OMAP chips have an on-board DSP.
  29. *
  30. * On the 2420, this is a 'C55 DSP called, simply, the DSP. Its
  31. * powerdomain is called the "DSP power domain." On the 2430, the
  32. * on-board DSP is a 'C64 DSP, now called (along with its hardware
  33. * accelerators) the IVA2 or IVA2.1. Its powerdomain is still called
  34. * the "DSP power domain." On the 3430, the DSP is a 'C64 DSP like the
  35. * 2430, also known as the IVA2; but its powerdomain is now called the
  36. * "IVA2 power domain."
  37. *
  38. * The 2420 also has something called the IVA, which is a separate ARM
  39. * core, and has nothing to do with the DSP/IVA2.
  40. *
  41. * Ideally the DSP/IVA2 could just be the same powerdomain, but the PRCM
  42. * address offset is different between the C55 and C64 DSPs.
  43. */
  44. #include "powerdomain.h"
  45. #include "prcm-common.h"
  46. #include "prm.h"
  47. /* OMAP2/3-common powerdomains */
  48. /*
  49. * The GFX powerdomain is not present on 3430ES2, but currently we do not
  50. * have a macro to filter it out at compile-time.
  51. */
  52. struct powerdomain gfx_omap2_pwrdm = {
  53. .name = "gfx_pwrdm",
  54. .prcm_offs = GFX_MOD,
  55. .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP24XX |
  56. CHIP_IS_OMAP3430ES1),
  57. .pwrsts = PWRSTS_OFF_RET_ON,
  58. .pwrsts_logic_ret = PWRSTS_RET,
  59. .banks = 1,
  60. .pwrsts_mem_ret = {
  61. [0] = PWRSTS_RET, /* MEMRETSTATE */
  62. },
  63. .pwrsts_mem_on = {
  64. [0] = PWRSTS_ON, /* MEMONSTATE */
  65. },
  66. };
  67. struct powerdomain wkup_omap2_pwrdm = {
  68. .name = "wkup_pwrdm",
  69. .prcm_offs = WKUP_MOD,
  70. .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP24XX | CHIP_IS_OMAP3430),
  71. .pwrsts = PWRSTS_ON,
  72. };