powerdomains2xxx_3xxx_data.c 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /*
  2. * OMAP2/3 common powerdomain definitions
  3. *
  4. * Copyright (C) 2007-2008, 2011 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. * The names for the DSP/IVA2 powerdomains are confusing.
  15. *
  16. * Most OMAP chips have an on-board DSP.
  17. *
  18. * On the 2420, this is a 'C55 DSP called, simply, the DSP. Its
  19. * powerdomain is called the "DSP power domain." On the 2430, the
  20. * on-board DSP is a 'C64 DSP, now called (along with its hardware
  21. * accelerators) the IVA2 or IVA2.1. Its powerdomain is still called
  22. * the "DSP power domain." On the 3430, the DSP is a 'C64 DSP like the
  23. * 2430, also known as the IVA2; but its powerdomain is now called the
  24. * "IVA2 power domain."
  25. *
  26. * The 2420 also has something called the IVA, which is a separate ARM
  27. * core, and has nothing to do with the DSP/IVA2.
  28. *
  29. * Ideally the DSP/IVA2 could just be the same powerdomain, but the PRCM
  30. * address offset is different between the C55 and C64 DSPs.
  31. */
  32. #include "powerdomain.h"
  33. #include "prcm-common.h"
  34. #include "prm.h"
  35. /* OMAP2/3-common powerdomains */
  36. /*
  37. * The GFX powerdomain is not present on 3430ES2, but currently we do not
  38. * have a macro to filter it out at compile-time.
  39. */
  40. struct powerdomain gfx_omap2_pwrdm = {
  41. .name = "gfx_pwrdm",
  42. .prcm_offs = GFX_MOD,
  43. .pwrsts = PWRSTS_OFF_RET_ON,
  44. .pwrsts_logic_ret = PWRSTS_RET,
  45. .banks = 1,
  46. .pwrsts_mem_ret = {
  47. [0] = PWRSTS_RET, /* MEMRETSTATE */
  48. },
  49. .pwrsts_mem_on = {
  50. [0] = PWRSTS_ON, /* MEMONSTATE */
  51. },
  52. .voltdm = { .name = "core" },
  53. };
  54. struct powerdomain wkup_omap2_pwrdm = {
  55. .name = "wkup_pwrdm",
  56. .prcm_offs = WKUP_MOD,
  57. .pwrsts = PWRSTS_ON,
  58. .voltdm = { .name = "wakeup" },
  59. };