Add power management support to DRA7xx DSP
[ipc/ipcdev.git] / packages / ti / pm / _IpcPower.h
index c41d47341f30a85bf18ed8733ba495fb90e3f389..7ba161a2fd461a6893f072997ffc7ad1fd5a4004 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011-2013, Texas Instruments Incorporated
+ * Copyright (c) 2011-2015, Texas Instruments Incorporated
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -60,6 +60,7 @@ extern "C" {
  * register.
  */
 #define MIRQ_SHIFT(irq)                 (((irq) - 16) % 32)
+#define IRQWAKEEN_SHIFT(irq)            (((irq) - 32) % 32)
 
 #define MBX_INT                         50
 #define GPT3_INT                        53
@@ -68,6 +69,10 @@ extern "C" {
 #define GPT11_INT                       56
 #define MBX6_U1_INT                     66
 
+#define DSP_GPT5_INT                    67
+#define DSP_GPT6_INT                    68
+#define DSP_MBX_INT                     57
+
 #define WUGEN_MAILBOX_BIT               (1 << MIRQ34_SHIFT)
 #define WUGEN_GPT3_BIT                  (1 << MIRQ37_SHIFT)
 #define WUGEN_GPT4_BIT                  (1 << MIRQ38_SHIFT)
@@ -76,10 +81,19 @@ extern "C" {
 #define WUGEN_GPT11_BIT                 (1 << MIRQ_SHIFT(GPT11_INT))
 #define WUGEN_MBX6_U1_BIT               (1 << MIRQ_SHIFT(MBX6_U1_INT))
 
+#define DSP_SYS_IRQWAKEEN_GPT5_BIT      (1 << IRQWAKEEN_SHIFT(DSP_GPT5_INT))
+#define DSP_SYS_IRQWAKEEN_GPT6_BIT      (1 << IRQWAKEEN_SHIFT(DSP_GPT6_INT))
+#define DSP1_SYS_IRQWAKEEN_MBX5_U0_BIT   (1 << IRQWAKEEN_SHIFT(DSP_MBX_INT))
+#define DSP2_SYS_IRQWAKEEN_MBX6_U0_BIT   (1 << IRQWAKEEN_SHIFT(DSP_MBX_INT))
+
 /* Wake-up masks for interrupts 00-31 */
 #define WUGEN_MEVT0                     0x4000100C
 /* Wake-up masks for interrupts 32-63 */
 #define WUGEN_MEVT1                     0x40001010
+/* Wake-up masks for interrupts 32-63 */
+#define DSP_SYS_IRQWAKEEN0              0x01D00020
+/* Wake-up masks for interrupts 64-95 */
+#define DSP_SYS_IRQWAKEEN1              0x01D00024
 
 /* Enable Mailbox, GPT3, and GPT4 interrupts as Wakeup sources */
 #define OMAP_IPU_WUGEN_INT_MASK0        0
@@ -92,6 +106,10 @@ extern "C" {
 #define VAYU_IPU1_WUGEN_INT_MASK0       0
 #define VAYU_IPU1_WUGEN_INT_MASK1       (WUGEN_GPT11_BIT | \
                                          WUGEN_MBX6_U1_BIT)
+#define VAYU_DSP1_WUGEN_INT_MASK0       (DSP1_SYS_IRQWAKEEN_MBX5_U0_BIT)
+#define VAYU_DSP1_WUGEN_INT_MASK1       (DSP_SYS_IRQWAKEEN_GPT5_BIT)
+#define VAYU_DSP2_WUGEN_INT_MASK0       (DSP2_SYS_IRQWAKEEN_MBX6_U0_BIT)
+#define VAYU_DSP2_WUGEN_INT_MASK1       (DSP_SYS_IRQWAKEEN_GPT6_BIT)
 
 #define M3_SCR_REG                      0xE000ED10