powerdomains2xxx_3xxx_data.c 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /*
  2. * OMAP2/3 common powerdomain definitions
  3. *
  4. * Copyright (C) 2007-2008 Texas Instruments, Inc.
  5. * Copyright (C) 2007-2010 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 <plat/powerdomain.h>
  45. #include "prcm-common.h"
  46. #include "prm.h"
  47. #include "powerdomains.h"
  48. /* OMAP2/3-common powerdomains */
  49. /*
  50. * The GFX powerdomain is not present on 3430ES2, but currently we do not
  51. * have a macro to filter it out at compile-time.
  52. */
  53. struct powerdomain gfx_omap2_pwrdm = {
  54. .name = "gfx_pwrdm",
  55. .prcm_offs = GFX_MOD,
  56. .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP24XX |
  57. CHIP_IS_OMAP3430ES1),
  58. .pwrsts = PWRSTS_OFF_RET_ON,
  59. .pwrsts_logic_ret = PWRDM_POWER_RET,
  60. .banks = 1,
  61. .pwrsts_mem_ret = {
  62. [0] = PWRDM_POWER_RET, /* MEMRETSTATE */
  63. },
  64. .pwrsts_mem_on = {
  65. [0] = PWRDM_POWER_ON, /* MEMONSTATE */
  66. },
  67. };
  68. struct powerdomain wkup_omap2_pwrdm = {
  69. .name = "wkup_pwrdm",
  70. .prcm_offs = WKUP_MOD,
  71. .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP24XX | CHIP_IS_OMAP3430),
  72. };