summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Elder <elder@linaro.org>2022-07-14 06:11:15 -0500
committerAlex Elder <elder@linaro.org>2022-07-14 16:19:01 -0500
commit21cc31a51806c7d334e8d4ff995c66c56028c110 (patch)
tree02cdff05d1a35f587a7de31dc6400252a6397d5d
parentf029cbc412712021164e31d07597aec01e592140 (diff)
regs: define the IPA_REG_ENDP_INIT_CTRL_N register
Define the IPA_REG_ENDP_INIT_CTRL_N register offset and fields for each IPA version. Signed-off-by: Alex Elder <elder@linaro.org>
-rw-r--r--ipa_reg-v3.0.c7
-rw-r--r--ipa_reg-v3.1.c7
-rw-r--r--ipa_reg-v3.5.1.c7
-rw-r--r--ipa_reg-v3.5.c7
-rw-r--r--ipa_reg-v4.0.c6
-rw-r--r--ipa_reg-v4.1.c6
-rw-r--r--ipa_reg_new.h7
7 files changed, 47 insertions, 0 deletions
diff --git a/ipa_reg-v3.0.c b/ipa_reg-v3.0.c
index 2ea3164..44bc01e 100644
--- a/ipa_reg-v3.0.c
+++ b/ipa_reg-v3.0.c
@@ -226,6 +226,12 @@ static const u32 ipa_reg_dst_rsrc_grp_67_rsrc_type_n_field[] = {
IPA_REG_STRIDE_FIELDS(DST_RSRC_GRP_67_RSRC_TYPE_N, dst_rsrc_grp_67_rsrc_type_n,
0x0000050c, 0x0020);
+static const u32 ipa_reg_endp_init_ctrl_n_field[] = {
+ [ENDP_SUSPEND] = BIT(0),
+ [ENDP_DELAY] = BIT(1),
+};
+IPA_REG_STRIDE_FIELDS(ENDP_INIT_CTRL_N, endp_init_ctrl_n, 0x00000800, 0x0070);
+
static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_COMP_CFG] = &ipa_reg_comp_cfg,
[IPA_REG_CLKON_CFG] = &ipa_reg_clkon_cfg,
@@ -256,6 +262,7 @@ static const struct ipa_reg *ipa_reg[] = {
&ipa_reg_dst_rsrc_grp_45_rsrc_type_n,
[IPA_REG_DST_RSRC_GRP_67_RSRC_TYPE_N] =
&ipa_reg_dst_rsrc_grp_67_rsrc_type_n,
+ [IPA_REG_ENDP_INIT_CTRL_N] = &ipa_reg_endp_init_ctrl_n,
};
const struct ipa_regs ipa_regs_v3_0 = {
diff --git a/ipa_reg-v3.1.c b/ipa_reg-v3.1.c
index 60818e2..4f7fa86 100644
--- a/ipa_reg-v3.1.c
+++ b/ipa_reg-v3.1.c
@@ -226,6 +226,12 @@ static const u32 ipa_reg_dst_rsrc_grp_67_rsrc_type_n_field[] = {
IPA_REG_STRIDE_FIELDS(DST_RSRC_GRP_67_RSRC_TYPE_N, dst_rsrc_grp_67_rsrc_type_n,
0x0000050c, 0x0020);
+static const u32 ipa_reg_endp_init_ctrl_n_field[] = {
+ [ENDP_SUSPEND] = BIT(0),
+ [ENDP_DELAY] = BIT(1),
+};
+IPA_REG_STRIDE_FIELDS(ENDP_INIT_CTRL_N, endp_init_ctrl_n, 0x00000800, 0x0070);
+
static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_COMP_CFG] = &ipa_reg_comp_cfg,
[IPA_REG_CLKON_CFG] = &ipa_reg_clkon_cfg,
@@ -256,6 +262,7 @@ static const struct ipa_reg *ipa_reg[] = {
&ipa_reg_dst_rsrc_grp_45_rsrc_type_n,
[IPA_REG_DST_RSRC_GRP_67_RSRC_TYPE_N] =
&ipa_reg_dst_rsrc_grp_67_rsrc_type_n,
+ [IPA_REG_ENDP_INIT_CTRL_N] = &ipa_reg_endp_init_ctrl_n,
};
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 dcf838d..5159c6c 100644
--- a/ipa_reg-v3.5.1.c
+++ b/ipa_reg-v3.5.1.c
@@ -262,6 +262,12 @@ static const u32 ipa_reg_dst_rsrc_grp_67_rsrc_type_n_field[] = {
IPA_REG_STRIDE_FIELDS(DST_RSRC_GRP_67_RSRC_TYPE_N, dst_rsrc_grp_67_rsrc_type_n,
0x0000050c, 0x0020);
+static const u32 ipa_reg_endp_init_ctrl_n_field[] = {
+ [ENDP_SUSPEND] = BIT(0),
+ [ENDP_DELAY] = BIT(1),
+};
+IPA_REG_STRIDE_FIELDS(ENDP_INIT_CTRL_N, endp_init_ctrl_n, 0x00000800, 0x0070);
+
static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_COMP_CFG] = &ipa_reg_comp_cfg,
[IPA_REG_CLKON_CFG] = &ipa_reg_clkon_cfg,
@@ -295,6 +301,7 @@ static const struct ipa_reg *ipa_reg[] = {
&ipa_reg_dst_rsrc_grp_45_rsrc_type_n,
[IPA_REG_DST_RSRC_GRP_67_RSRC_TYPE_N] =
&ipa_reg_dst_rsrc_grp_67_rsrc_type_n,
+ [IPA_REG_ENDP_INIT_CTRL_N] = &ipa_reg_endp_init_ctrl_n,
};
const struct ipa_regs ipa_regs_v3_5_1 = {
diff --git a/ipa_reg-v3.5.c b/ipa_reg-v3.5.c
index 5de60f6..d3a3d0d 100644
--- a/ipa_reg-v3.5.c
+++ b/ipa_reg-v3.5.c
@@ -261,6 +261,12 @@ static const u32 ipa_reg_dst_rsrc_grp_67_rsrc_type_n_field[] = {
IPA_REG_STRIDE_FIELDS(DST_RSRC_GRP_67_RSRC_TYPE_N, dst_rsrc_grp_67_rsrc_type_n,
0x0000050c, 0x0020);
+static const u32 ipa_reg_endp_init_ctrl_n_field[] = {
+ [ENDP_SUSPEND] = BIT(0),
+ [ENDP_DELAY] = BIT(1),
+};
+IPA_REG_STRIDE_FIELDS(ENDP_INIT_CTRL_N, endp_init_ctrl_n, 0x00000800, 0x0070);
+
static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_COMP_CFG] = &ipa_reg_comp_cfg,
[IPA_REG_CLKON_CFG] = &ipa_reg_clkon_cfg,
@@ -294,6 +300,7 @@ static const struct ipa_reg *ipa_reg[] = {
&ipa_reg_dst_rsrc_grp_45_rsrc_type_n,
[IPA_REG_DST_RSRC_GRP_67_RSRC_TYPE_N] =
&ipa_reg_dst_rsrc_grp_67_rsrc_type_n,
+ [IPA_REG_ENDP_INIT_CTRL_N] = &ipa_reg_endp_init_ctrl_n,
};
const struct ipa_regs ipa_regs_v3_5 = {
diff --git a/ipa_reg-v4.0.c b/ipa_reg-v4.0.c
index 9a2b7ab..de26984 100644
--- a/ipa_reg-v4.0.c
+++ b/ipa_reg-v4.0.c
@@ -289,6 +289,11 @@ static const u32 ipa_reg_dst_rsrc_grp_67_rsrc_type_n_field[] = {
IPA_REG_STRIDE_FIELDS(DST_RSRC_GRP_67_RSRC_TYPE_N, dst_rsrc_grp_67_rsrc_type_n,
0x0000050c, 0x0020);
+static const u32 ipa_reg_endp_init_ctrl_n_field[] = {
+ [ENDP_DELAY] = BIT(1),
+};
+IPA_REG_STRIDE_FIELDS(ENDP_INIT_CTRL_N, endp_init_ctrl_n, 0x00000800, 0x0070);
+
static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_COMP_CFG] = &ipa_reg_comp_cfg,
[IPA_REG_CLKON_CFG] = &ipa_reg_clkon_cfg,
@@ -322,6 +327,7 @@ static const struct ipa_reg *ipa_reg[] = {
&ipa_reg_dst_rsrc_grp_45_rsrc_type_n,
[IPA_REG_DST_RSRC_GRP_67_RSRC_TYPE_N] =
&ipa_reg_dst_rsrc_grp_67_rsrc_type_n,
+ [IPA_REG_ENDP_INIT_CTRL_N] = &ipa_reg_endp_init_ctrl_n,
};
const struct ipa_regs ipa_regs_v4_0 = {
diff --git a/ipa_reg-v4.1.c b/ipa_reg-v4.1.c
index 8332ae7..eba1870 100644
--- a/ipa_reg-v4.1.c
+++ b/ipa_reg-v4.1.c
@@ -289,6 +289,11 @@ static const u32 ipa_reg_dst_rsrc_grp_67_rsrc_type_n_field[] = {
IPA_REG_STRIDE_FIELDS(DST_RSRC_GRP_67_RSRC_TYPE_N, dst_rsrc_grp_67_rsrc_type_n,
0x0000050c, 0x0020);
+static const u32 ipa_reg_endp_init_ctrl_n_field[] = {
+ [ENDP_DELAY] = BIT(1),
+};
+IPA_REG_STRIDE_FIELDS(ENDP_INIT_CTRL_N, endp_init_ctrl_n, 0x00000800, 0x0070);
+
static const struct ipa_reg *ipa_reg[] = {
[IPA_REG_COMP_CFG] = &ipa_reg_comp_cfg,
[IPA_REG_CLKON_CFG] = &ipa_reg_clkon_cfg,
@@ -322,6 +327,7 @@ static const struct ipa_reg *ipa_reg[] = {
&ipa_reg_dst_rsrc_grp_45_rsrc_type_n,
[IPA_REG_DST_RSRC_GRP_67_RSRC_TYPE_N] =
&ipa_reg_dst_rsrc_grp_67_rsrc_type_n,
+ [IPA_REG_ENDP_INIT_CTRL_N] = &ipa_reg_endp_init_ctrl_n,
};
const struct ipa_regs ipa_regs_v4_1 = {
diff --git a/ipa_reg_new.h b/ipa_reg_new.h
index 341431c..f0cbe78 100644
--- a/ipa_reg_new.h
+++ b/ipa_reg_new.h
@@ -46,6 +46,7 @@ enum ipa_reg_name {
IPA_REG_DST_RSRC_GRP_23_RSRC_TYPE_N,
IPA_REG_DST_RSRC_GRP_45_RSRC_TYPE_N,
IPA_REG_DST_RSRC_GRP_67_RSRC_TYPE_N,
+ IPA_REG_ENDP_INIT_CTRL_N,
};
#define IPA_REG(__NAME, __name, __offset) \
@@ -255,6 +256,12 @@ enum ipa_reg_rsrc_grp_field_name {
RSRC_GRP_Y_MAX_LIM,
};
+/* ENDP_SUSPEND is for RX endpoints; ENDP_DELAY is for TX endpoints */
+enum ipa_reg_endp_init_ctrl_n_field_name {
+ ENDP_SUSPEND, /* Not IPA v4.0+ */
+ ENDP_DELAY, /* Not IPA v4.2+ */
+};
+
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;