summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Elder <elder@linaro.org>2022-07-14 18:00:53 -0500
committerAlex Elder <elder@linaro.org>2022-07-14 18:30:51 -0500
commit1bd4a30a4e13985e9095ca5c5a1c123b922697bd (patch)
treedef6b249dddda91779b97a5b48de72423d6fd375
parent99d7c0a935d4a74ec0e093ae440ab918e9e191bf (diff)
regs: define the IPA_REG_IRQ_* registers
Define the IPA_REG_IRQ_* register offsets each IPA version. Signed-off-by: Alex Elder <elder@linaro.org>
-rw-r--r--ipa_reg-v3.0.c15
-rw-r--r--ipa_reg-v3.1.c15
-rw-r--r--ipa_reg-v3.5.1.c15
-rw-r--r--ipa_reg-v3.5.c15
-rw-r--r--ipa_reg-v4.0.c15
-rw-r--r--ipa_reg-v4.1.c15
-rw-r--r--ipa_reg-v4.11.c15
-rw-r--r--ipa_reg-v4.2.c15
-rw-r--r--ipa_reg-v4.5.c15
-rw-r--r--ipa_reg-v4.7.c15
-rw-r--r--ipa_reg-v4.9.c15
-rw-r--r--ipa_reg_new.h87
12 files changed, 252 insertions, 0 deletions
diff --git a/ipa_reg-v3.0.c b/ipa_reg-v3.0.c
index a68571b..07aa1e8 100644
--- a/ipa_reg-v3.0.c
+++ b/ipa_reg-v3.0.c
@@ -361,6 +361,17 @@ IPA_REG_STRIDE_FIELDS(ENDP_FILTER_ROUTER_HSH_CFG_N,
#define IPA_REG_ENDP_FILTER_HASH_MSK_ALL GENMASK(6, 0)
#define IPA_REG_ENDP_ROUTER_HASH_MSK_ALL GENMASK(22, 16)
+IPA_REG(IRQ_STTS, irq_stts, 0x00003008 + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_EN, irq_en, 0x0000300c + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_CLR, irq_clr, 0x00003010 + 0x1000 * GSI_EE_AP);
+
+static const u32 ipa_reg_irq_uc_field[] = {
+ [UC_INTR] = BIT(0),
+};
+IPA_REG_FIELDS(IRQ_UC, irq_uc, 0x0000301c + 0x1000 * GSI_EE_AP);
+
static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_COMP_CFG] = &ipa_reg_comp_cfg,
[IPA_REG_CLKON_CFG] = &ipa_reg_clkon_cfg,
@@ -408,6 +419,10 @@ static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_ENDP_STATUS_N] = &ipa_reg_endp_status_n,
[IPA_REG_ENDP_FILTER_ROUTER_HSH_CFG_N] =
&ipa_reg_endp_filter_router_hsh_cfg_n,
+ [IPA_REG_IRQ_STTS] = &ipa_reg_irq_stts,
+ [IPA_REG_IRQ_EN] = &ipa_reg_irq_en,
+ [IPA_REG_IRQ_CLR] = &ipa_reg_irq_clr,
+ [IPA_REG_IRQ_UC] = &ipa_reg_irq_uc,
};
const struct ipa_regs ipa_regs_v3_0 = {
diff --git a/ipa_reg-v3.1.c b/ipa_reg-v3.1.c
index 14699f5..d5e1dea 100644
--- a/ipa_reg-v3.1.c
+++ b/ipa_reg-v3.1.c
@@ -361,6 +361,17 @@ IPA_REG_STRIDE_FIELDS(ENDP_FILTER_ROUTER_HSH_CFG_N,
#define IPA_REG_ENDP_FILTER_HASH_MSK_ALL GENMASK(6, 0)
#define IPA_REG_ENDP_ROUTER_HASH_MSK_ALL GENMASK(22, 16)
+IPA_REG(IRQ_STTS, irq_stts, 0x00003008 + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_EN, irq_en, 0x0000300c + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_CLR, irq_clr, 0x00003010 + 0x1000 * GSI_EE_AP);
+
+static const u32 ipa_reg_irq_uc_field[] = {
+ [UC_INTR] = BIT(0),
+};
+IPA_REG_FIELDS(IRQ_UC, irq_uc, 0x0000301c + 0x1000 * GSI_EE_AP);
+
static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_COMP_CFG] = &ipa_reg_comp_cfg,
[IPA_REG_CLKON_CFG] = &ipa_reg_clkon_cfg,
@@ -408,6 +419,10 @@ static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_ENDP_STATUS_N] = &ipa_reg_endp_status_n,
[IPA_REG_ENDP_FILTER_ROUTER_HSH_CFG_N] =
&ipa_reg_endp_filter_router_hsh_cfg_n,
+ [IPA_REG_IRQ_STTS] = &ipa_reg_irq_stts,
+ [IPA_REG_IRQ_EN] = &ipa_reg_irq_en,
+ [IPA_REG_IRQ_CLR] = &ipa_reg_irq_clr,
+ [IPA_REG_IRQ_UC] = &ipa_reg_irq_uc,
};
const struct ipa_regs ipa_regs_v3_1 = {
diff --git a/ipa_reg-v3.5.1.c b/ipa_reg-v3.5.1.c
index 08f8edf..42d1fdb 100644
--- a/ipa_reg-v3.5.1.c
+++ b/ipa_reg-v3.5.1.c
@@ -397,6 +397,17 @@ IPA_REG_STRIDE_FIELDS(ENDP_FILTER_ROUTER_HSH_CFG_N,
#define IPA_REG_ENDP_FILTER_HASH_MSK_ALL GENMASK(6, 0)
#define IPA_REG_ENDP_ROUTER_HASH_MSK_ALL GENMASK(22, 16)
+IPA_REG(IRQ_STTS, irq_stts, 0x00003008 + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_EN, irq_en, 0x0000300c + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_CLR, irq_clr, 0x00003010 + 0x1000 * GSI_EE_AP);
+
+static const u32 ipa_reg_irq_uc_field[] = {
+ [UC_INTR] = BIT(0),
+};
+IPA_REG_FIELDS(IRQ_UC, irq_uc, 0x0000301c + 0x1000 * GSI_EE_AP);
+
static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_COMP_CFG] = &ipa_reg_comp_cfg,
[IPA_REG_CLKON_CFG] = &ipa_reg_clkon_cfg,
@@ -447,6 +458,10 @@ static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_ENDP_STATUS_N] = &ipa_reg_endp_status_n,
[IPA_REG_ENDP_FILTER_ROUTER_HSH_CFG_N] =
&ipa_reg_endp_filter_router_hsh_cfg_n,
+ [IPA_REG_IRQ_STTS] = &ipa_reg_irq_stts,
+ [IPA_REG_IRQ_EN] = &ipa_reg_irq_en,
+ [IPA_REG_IRQ_CLR] = &ipa_reg_irq_clr,
+ [IPA_REG_IRQ_UC] = &ipa_reg_irq_uc,
};
const struct ipa_regs ipa_regs_v3_5_1 = {
diff --git a/ipa_reg-v3.5.c b/ipa_reg-v3.5.c
index 1eacc53..d373373 100644
--- a/ipa_reg-v3.5.c
+++ b/ipa_reg-v3.5.c
@@ -396,6 +396,17 @@ IPA_REG_STRIDE_FIELDS(ENDP_FILTER_ROUTER_HSH_CFG_N,
#define IPA_REG_ENDP_FILTER_HASH_MSK_ALL GENMASK(6, 0)
#define IPA_REG_ENDP_ROUTER_HASH_MSK_ALL GENMASK(22, 16)
+IPA_REG(IRQ_STTS, irq_stts, 0x00003008 + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_EN, irq_en, 0x0000300c + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_CLR, irq_clr, 0x00003010 + 0x1000 * GSI_EE_AP);
+
+static const u32 ipa_reg_irq_uc_field[] = {
+ [UC_INTR] = BIT(0),
+};
+IPA_REG_FIELDS(IRQ_UC, irq_uc, 0x0000301c + 0x1000 * GSI_EE_AP);
+
static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_COMP_CFG] = &ipa_reg_comp_cfg,
[IPA_REG_CLKON_CFG] = &ipa_reg_clkon_cfg,
@@ -447,6 +458,10 @@ static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_ENDP_STATUS_N] = &ipa_reg_endp_status_n,
[IPA_REG_ENDP_FILTER_ROUTER_HSH_CFG_N] =
&ipa_reg_endp_filter_router_hsh_cfg_n,
+ [IPA_REG_IRQ_STTS] = &ipa_reg_irq_stts,
+ [IPA_REG_IRQ_EN] = &ipa_reg_irq_en,
+ [IPA_REG_IRQ_CLR] = &ipa_reg_irq_clr,
+ [IPA_REG_IRQ_UC] = &ipa_reg_irq_uc,
};
const struct ipa_regs ipa_regs_v3_5 = {
diff --git a/ipa_reg-v4.0.c b/ipa_reg-v4.0.c
index eb36864..a620529 100644
--- a/ipa_reg-v4.0.c
+++ b/ipa_reg-v4.0.c
@@ -423,6 +423,17 @@ IPA_REG_STRIDE_FIELDS(ENDP_FILTER_ROUTER_HSH_CFG_N,
#define IPA_REG_ENDP_FILTER_HASH_MSK_ALL GENMASK(6, 0)
#define IPA_REG_ENDP_ROUTER_HASH_MSK_ALL GENMASK(22, 16)
+IPA_REG(IRQ_STTS, irq_stts, 0x00003008 + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_EN, irq_en, 0x0000300c + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_CLR, irq_clr, 0x00003010 + 0x1000 * GSI_EE_AP);
+
+static const u32 ipa_reg_irq_uc_field[] = {
+ [UC_INTR] = BIT(0),
+};
+IPA_REG_FIELDS(IRQ_UC, irq_uc, 0x0000301c + 0x1000 * GSI_EE_AP);
+
static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_COMP_CFG] = &ipa_reg_comp_cfg,
[IPA_REG_CLKON_CFG] = &ipa_reg_clkon_cfg,
@@ -473,6 +484,10 @@ static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_ENDP_STATUS_N] = &ipa_reg_endp_status_n,
[IPA_REG_ENDP_FILTER_ROUTER_HSH_CFG_N] =
&ipa_reg_endp_filter_router_hsh_cfg_n,
+ [IPA_REG_IRQ_STTS] = &ipa_reg_irq_stts,
+ [IPA_REG_IRQ_EN] = &ipa_reg_irq_en,
+ [IPA_REG_IRQ_CLR] = &ipa_reg_irq_clr,
+ [IPA_REG_IRQ_UC] = &ipa_reg_irq_uc,
};
const struct ipa_regs ipa_regs_v4_0 = {
diff --git a/ipa_reg-v4.1.c b/ipa_reg-v4.1.c
index ed48fea..5d0c8e4 100644
--- a/ipa_reg-v4.1.c
+++ b/ipa_reg-v4.1.c
@@ -423,6 +423,17 @@ IPA_REG_STRIDE_FIELDS(ENDP_FILTER_ROUTER_HSH_CFG_N,
#define IPA_REG_ENDP_FILTER_HASH_MSK_ALL GENMASK(6, 0)
#define IPA_REG_ENDP_ROUTER_HASH_MSK_ALL GENMASK(22, 16)
+IPA_REG(IRQ_STTS, irq_stts, 0x00003008 + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_EN, irq_en, 0x0000300c + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_CLR, irq_clr, 0x00003010 + 0x1000 * GSI_EE_AP);
+
+static const u32 ipa_reg_irq_uc_field[] = {
+ [UC_INTR] = BIT(0),
+};
+IPA_REG_FIELDS(IRQ_UC, irq_uc, 0x0000301c + 0x1000 * GSI_EE_AP);
+
static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_COMP_CFG] = &ipa_reg_comp_cfg,
[IPA_REG_CLKON_CFG] = &ipa_reg_clkon_cfg,
@@ -473,6 +484,10 @@ static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_ENDP_STATUS_N] = &ipa_reg_endp_status_n,
[IPA_REG_ENDP_FILTER_ROUTER_HSH_CFG_N] =
&ipa_reg_endp_filter_router_hsh_cfg_n,
+ [IPA_REG_IRQ_STTS] = &ipa_reg_irq_stts,
+ [IPA_REG_IRQ_EN] = &ipa_reg_irq_en,
+ [IPA_REG_IRQ_CLR] = &ipa_reg_irq_clr,
+ [IPA_REG_IRQ_UC] = &ipa_reg_irq_uc,
};
const struct ipa_regs ipa_regs_v4_1 = {
diff --git a/ipa_reg-v4.11.c b/ipa_reg-v4.11.c
index 358d79e..8e630c6 100644
--- a/ipa_reg-v4.11.c
+++ b/ipa_reg-v4.11.c
@@ -446,6 +446,17 @@ IPA_REG_STRIDE_FIELDS(ENDP_FILTER_ROUTER_HSH_CFG_N,
#define IPA_REG_ENDP_FILTER_HASH_MSK_ALL GENMASK(6, 0)
#define IPA_REG_ENDP_ROUTER_HASH_MSK_ALL GENMASK(22, 16)
+IPA_REG(IRQ_STTS, irq_stts, 0x00004008 + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_EN, irq_en, 0x0000400c + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_CLR, irq_clr, 0x00004010 + 0x1000 * GSI_EE_AP);
+
+static const u32 ipa_reg_irq_uc_field[] = {
+ [UC_INTR] = BIT(0),
+};
+IPA_REG_FIELDS(IRQ_UC, irq_uc, 0x0000401c + 0x1000 * GSI_EE_AP);
+
static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_COMP_CFG] = &ipa_reg_comp_cfg,
[IPA_REG_CLKON_CFG] = &ipa_reg_clkon_cfg,
@@ -498,6 +509,10 @@ static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_ENDP_STATUS_N] = &ipa_reg_endp_status_n,
[IPA_REG_ENDP_FILTER_ROUTER_HSH_CFG_N] =
&ipa_reg_endp_filter_router_hsh_cfg_n,
+ [IPA_REG_IRQ_STTS] = &ipa_reg_irq_stts,
+ [IPA_REG_IRQ_EN] = &ipa_reg_irq_en,
+ [IPA_REG_IRQ_CLR] = &ipa_reg_irq_clr,
+ [IPA_REG_IRQ_UC] = &ipa_reg_irq_uc,
};
const struct ipa_regs ipa_regs_v4_11 = {
diff --git a/ipa_reg-v4.2.c b/ipa_reg-v4.2.c
index d4ae07e..f5f12ac 100644
--- a/ipa_reg-v4.2.c
+++ b/ipa_reg-v4.2.c
@@ -426,6 +426,17 @@ IPA_REG_STRIDE_FIELDS(ENDP_FILTER_ROUTER_HSH_CFG_N,
#define IPA_REG_ENDP_FILTER_HASH_MSK_ALL GENMASK(6, 0)
#define IPA_REG_ENDP_ROUTER_HASH_MSK_ALL GENMASK(22, 16)
+IPA_REG(IRQ_STTS, irq_stts, 0x00003008 + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_EN, irq_en, 0x0000300c + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_CLR, irq_clr, 0x00003010 + 0x1000 * GSI_EE_AP);
+
+static const u32 ipa_reg_irq_uc_field[] = {
+ [UC_INTR] = BIT(0),
+};
+IPA_REG_FIELDS(IRQ_UC, irq_uc, 0x0000301c + 0x1000 * GSI_EE_AP);
+
static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_COMP_CFG] = &ipa_reg_comp_cfg,
[IPA_REG_CLKON_CFG] = &ipa_reg_clkon_cfg,
@@ -477,6 +488,10 @@ static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_ENDP_STATUS_N] = &ipa_reg_endp_status_n,
[IPA_REG_ENDP_FILTER_ROUTER_HSH_CFG_N] =
&ipa_reg_endp_filter_router_hsh_cfg_n,
+ [IPA_REG_IRQ_STTS] = &ipa_reg_irq_stts,
+ [IPA_REG_IRQ_EN] = &ipa_reg_irq_en,
+ [IPA_REG_IRQ_CLR] = &ipa_reg_irq_clr,
+ [IPA_REG_IRQ_UC] = &ipa_reg_irq_uc,
};
const struct ipa_regs ipa_regs_v4_2 = {
diff --git a/ipa_reg-v4.5.c b/ipa_reg-v4.5.c
index 4e64a4f..f1733ac 100644
--- a/ipa_reg-v4.5.c
+++ b/ipa_reg-v4.5.c
@@ -440,6 +440,17 @@ IPA_REG_STRIDE_FIELDS(ENDP_FILTER_ROUTER_HSH_CFG_N,
#define IPA_REG_ENDP_FILTER_HASH_MSK_ALL GENMASK(6, 0)
#define IPA_REG_ENDP_ROUTER_HASH_MSK_ALL GENMASK(22, 16)
+IPA_REG(IRQ_STTS, irq_stts, 0x00003008 + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_EN, irq_en, 0x0000300c + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_CLR, irq_clr, 0x00003010 + 0x1000 * GSI_EE_AP);
+
+static const u32 ipa_reg_irq_uc_field[] = {
+ [UC_INTR] = BIT(0),
+};
+IPA_REG_FIELDS(IRQ_UC, irq_uc, 0x0000301c + 0x1000 * GSI_EE_AP);
+
static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_COMP_CFG] = &ipa_reg_comp_cfg,
[IPA_REG_CLKON_CFG] = &ipa_reg_clkon_cfg,
@@ -492,6 +503,10 @@ static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_ENDP_STATUS_N] = &ipa_reg_endp_status_n,
[IPA_REG_ENDP_FILTER_ROUTER_HSH_CFG_N] =
&ipa_reg_endp_filter_router_hsh_cfg_n,
+ [IPA_REG_IRQ_STTS] = &ipa_reg_irq_stts,
+ [IPA_REG_IRQ_EN] = &ipa_reg_irq_en,
+ [IPA_REG_IRQ_CLR] = &ipa_reg_irq_clr,
+ [IPA_REG_IRQ_UC] = &ipa_reg_irq_uc,
};
const struct ipa_regs ipa_regs_v4_5 = {
diff --git a/ipa_reg-v4.7.c b/ipa_reg-v4.7.c
index 6421c13..edb655e 100644
--- a/ipa_reg-v4.7.c
+++ b/ipa_reg-v4.7.c
@@ -441,6 +441,17 @@ IPA_REG_STRIDE_FIELDS(ENDP_FILTER_ROUTER_HSH_CFG_N,
#define IPA_REG_ENDP_FILTER_HASH_MSK_ALL GENMASK(6, 0)
#define IPA_REG_ENDP_ROUTER_HASH_MSK_ALL GENMASK(22, 16)
+IPA_REG(IRQ_STTS, irq_stts, 0x00003008 + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_EN, irq_en, 0x0000300c + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_CLR, irq_clr, 0x00003010 + 0x1000 * GSI_EE_AP);
+
+static const u32 ipa_reg_irq_uc_field[] = {
+ [UC_INTR] = BIT(0),
+};
+IPA_REG_FIELDS(IRQ_UC, irq_uc, 0x0000301c + 0x1000 * GSI_EE_AP);
+
static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_COMP_CFG] = &ipa_reg_comp_cfg,
[IPA_REG_CLKON_CFG] = &ipa_reg_clkon_cfg,
@@ -493,6 +504,10 @@ static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_ENDP_STATUS_N] = &ipa_reg_endp_status_n,
[IPA_REG_ENDP_FILTER_ROUTER_HSH_CFG_N] =
&ipa_reg_endp_filter_router_hsh_cfg_n,
+ [IPA_REG_IRQ_STTS] = &ipa_reg_irq_stts,
+ [IPA_REG_IRQ_EN] = &ipa_reg_irq_en,
+ [IPA_REG_IRQ_CLR] = &ipa_reg_irq_clr,
+ [IPA_REG_IRQ_UC] = &ipa_reg_irq_uc,
};
const struct ipa_regs ipa_regs_v4_7 = {
diff --git a/ipa_reg-v4.9.c b/ipa_reg-v4.9.c
index c6b8a3d..a422814 100644
--- a/ipa_reg-v4.9.c
+++ b/ipa_reg-v4.9.c
@@ -446,6 +446,17 @@ IPA_REG_STRIDE_FIELDS(ENDP_FILTER_ROUTER_HSH_CFG_N,
#define IPA_REG_ENDP_FILTER_HASH_MSK_ALL GENMASK(6, 0)
#define IPA_REG_ENDP_ROUTER_HASH_MSK_ALL GENMASK(22, 16)
+IPA_REG(IRQ_STTS, irq_stts, 0x00004008 + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_EN, irq_en, 0x0000400c + 0x1000 * GSI_EE_AP);
+
+IPA_REG(IRQ_CLR, irq_clr, 0x00004010 + 0x1000 * GSI_EE_AP);
+
+static const u32 ipa_reg_irq_uc_field[] = {
+ [UC_INTR] = BIT(0),
+};
+IPA_REG_FIELDS(IRQ_UC, irq_uc, 0x0000401c + 0x1000 * GSI_EE_AP);
+
static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_COMP_CFG] = &ipa_reg_comp_cfg,
[IPA_REG_CLKON_CFG] = &ipa_reg_clkon_cfg,
@@ -498,6 +509,10 @@ static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_ENDP_STATUS_N] = &ipa_reg_endp_status_n,
[IPA_REG_ENDP_FILTER_ROUTER_HSH_CFG_N] =
&ipa_reg_endp_filter_router_hsh_cfg_n,
+ [IPA_REG_IRQ_STTS] = &ipa_reg_irq_stts,
+ [IPA_REG_IRQ_EN] = &ipa_reg_irq_en,
+ [IPA_REG_IRQ_CLR] = &ipa_reg_irq_clr,
+ [IPA_REG_IRQ_UC] = &ipa_reg_irq_uc,
};
const struct ipa_regs ipa_regs_v4_9 = {
diff --git a/ipa_reg_new.h b/ipa_reg_new.h
index a64acb9..1775214 100644
--- a/ipa_reg_new.h
+++ b/ipa_reg_new.h
@@ -4,6 +4,7 @@
#define _IPA_REG_NEW_H
#include "linux.h"
+#include "gsi_ee.h"
struct ipa_reg {
u32 offset;
@@ -61,6 +62,10 @@ enum ipa_reg_name {
IPA_REG_ENDP_INIT_SEQ_N, /* TX only */
IPA_REG_ENDP_STATUS_N,
IPA_REG_ENDP_FILTER_ROUTER_HSH_CFG_N,
+ IPA_REG_IRQ_STTS, /* GSI_EE_AP only */
+ IPA_REG_IRQ_EN, /* GSI_EE_AP only */
+ IPA_REG_IRQ_CLR, /* GSI_EE_AP only */
+ IPA_REG_IRQ_UC, /* GSI_EE_AP only */
};
#define IPA_REG(__NAME, __name, __offset) \
@@ -484,6 +489,88 @@ enum ipa_reg_endp_filter_router_hsh_cfg_n_field_name {
ROUTER_HASH_MSK_METADATA,
};
+#if 0 /* XXX Un-comment after switching over */
+/**
+ * enum ipa_irq_id - Bit positions representing type of IPA IRQ
+ * @IPA_IRQ_UC_0: Microcontroller event interrupt
+ * @IPA_IRQ_UC_1: Microcontroller response interrupt
+ * @IPA_IRQ_TX_SUSPEND: Data ready interrupt
+ * @IPA_IRQ_COUNT: Number of IRQ ids (must be last)
+ *
+ * IRQ types not described above are not currently used.
+ *
+ * @IPA_IRQ_BAD_SNOC_ACCESS: (Not currently used)
+ * @IPA_IRQ_EOT_COAL: (Not currently used)
+ * @IPA_IRQ_UC_2: (Not currently used)
+ * @IPA_IRQ_UC_3: (Not currently used)
+ * @IPA_IRQ_UC_IN_Q_NOT_EMPTY: (Not currently used)
+ * @IPA_IRQ_UC_RX_CMD_Q_NOT_FULL: (Not currently used)
+ * @IPA_IRQ_PROC_UC_ACK_Q_NOT_EMPTY: (Not currently used)
+ * @IPA_IRQ_RX_ERR: (Not currently used)
+ * @IPA_IRQ_DEAGGR_ERR: (Not currently used)
+ * @IPA_IRQ_TX_ERR: (Not currently used)
+ * @IPA_IRQ_STEP_MODE: (Not currently used)
+ * @IPA_IRQ_PROC_ERR: (Not currently used)
+ * @IPA_IRQ_TX_HOLB_DROP: (Not currently used)
+ * @IPA_IRQ_BAM_GSI_IDLE: (Not currently used)
+ * @IPA_IRQ_PIPE_YELLOW_BELOW: (Not currently used)
+ * @IPA_IRQ_PIPE_RED_BELOW: (Not currently used)
+ * @IPA_IRQ_PIPE_YELLOW_ABOVE: (Not currently used)
+ * @IPA_IRQ_PIPE_RED_ABOVE: (Not currently used)
+ * @IPA_IRQ_UCP: (Not currently used)
+ * @IPA_IRQ_DCMP: (Not currently used)
+ * @IPA_IRQ_GSI_EE: (Not currently used)
+ * @IPA_IRQ_GSI_IPA_IF_TLV_RCVD: (Not currently used)
+ * @IPA_IRQ_GSI_UC: (Not currently used)
+ * @IPA_IRQ_TLV_LEN_MIN_DSM: (Not currently used)
+ * @IPA_IRQ_DRBIP_PKT_EXCEED_MAX_SIZE_EN: (Not currently used)
+ * @IPA_IRQ_DRBIP_DATA_SCTR_CFG_ERROR_EN: (Not currently used)
+ * @IPA_IRQ_DRBIP_IMM_CMD_NO_FLSH_HZRD_EN: (Not currently used)
+ */
+enum ipa_irq_id {
+ IPA_IRQ_BAD_SNOC_ACCESS = 0x0,
+ /* The next bit is not present for IPA v3.5+ */
+ IPA_IRQ_EOT_COAL = 0x1,
+ IPA_IRQ_UC_0 = 0x2,
+ IPA_IRQ_UC_1 = 0x3,
+ IPA_IRQ_UC_2 = 0x4,
+ IPA_IRQ_UC_3 = 0x5,
+ IPA_IRQ_UC_IN_Q_NOT_EMPTY = 0x6,
+ IPA_IRQ_UC_RX_CMD_Q_NOT_FULL = 0x7,
+ IPA_IRQ_PROC_UC_ACK_Q_NOT_EMPTY = 0x8,
+ IPA_IRQ_RX_ERR = 0x9,
+ IPA_IRQ_DEAGGR_ERR = 0xa,
+ IPA_IRQ_TX_ERR = 0xb,
+ IPA_IRQ_STEP_MODE = 0xc,
+ IPA_IRQ_PROC_ERR = 0xd,
+ IPA_IRQ_TX_SUSPEND = 0xe,
+ IPA_IRQ_TX_HOLB_DROP = 0xf,
+ IPA_IRQ_BAM_GSI_IDLE = 0x10,
+ IPA_IRQ_PIPE_YELLOW_BELOW = 0x11,
+ IPA_IRQ_PIPE_RED_BELOW = 0x12,
+ IPA_IRQ_PIPE_YELLOW_ABOVE = 0x13,
+ IPA_IRQ_PIPE_RED_ABOVE = 0x14,
+ IPA_IRQ_UCP = 0x15,
+ /* The next bit is not present for IPA v4.5+ */
+ IPA_IRQ_DCMP = 0x16,
+ IPA_IRQ_GSI_EE = 0x17,
+ IPA_IRQ_GSI_IPA_IF_TLV_RCVD = 0x18,
+ IPA_IRQ_GSI_UC = 0x19,
+ /* The next bit is present for IPA v4.5+ */
+ IPA_IRQ_TLV_LEN_MIN_DSM = 0x1a,
+ /* The next three bits are present for IPA v4.9+ */
+ IPA_IRQ_DRBIP_PKT_EXCEED_MAX_SIZE_EN = 0x1b,
+ IPA_IRQ_DRBIP_DATA_SCTR_CFG_ERROR_EN = 0x1c,
+ IPA_IRQ_DRBIP_IMM_CMD_NO_FLSH_HZRD_EN = 0x1d,
+ IPA_IRQ_COUNT, /* Last; not an id */
+};
+
+#endif
+
+enum ipa_reg_irq_uc_field_name {
+ UC_INTR,
+};
+
extern const struct ipa_regs ipa_regs_v3_0;
extern const struct ipa_regs ipa_regs_v3_1;
extern const struct ipa_regs ipa_regs_v3_5;