10
10
#include <linux/module.h>
11
11
#include <linux/mod_devicetable.h>
12
12
#include <linux/platform_device.h>
13
+ #include <linux/regmap.h>
13
14
14
15
15
16
#include "icc-rpm.h"
@@ -1067,10 +1068,22 @@ static struct qcom_icc_node * const qcs404_bimc_nodes[] = {
1067
1068
[SLAVE_BIMC_SNOC ] = & slv_bimc_snoc ,
1068
1069
};
1069
1070
1071
+ static const struct regmap_config qcs404_bimc_regmap_config = {
1072
+ .reg_bits = 32 ,
1073
+ .reg_stride = 4 ,
1074
+ .val_bits = 32 ,
1075
+ .max_register = 0x80000 ,
1076
+ .fast_io = true,
1077
+ };
1078
+
1070
1079
static const struct qcom_icc_desc qcs404_bimc = {
1071
- .bus_clk_desc = & bimc_clk ,
1080
+ .type = QCOM_ICC_BIMC ,
1072
1081
.nodes = qcs404_bimc_nodes ,
1073
1082
.num_nodes = ARRAY_SIZE (qcs404_bimc_nodes ),
1083
+ .bus_clk_desc = & bimc_clk ,
1084
+ .regmap_cfg = & qcs404_bimc_regmap_config ,
1085
+ .qos_offset = 0x8000 ,
1086
+ .ab_coeff = 153 ,
1074
1087
};
1075
1088
1076
1089
static struct qcom_icc_node * const qcs404_pcnoc_nodes [] = {
@@ -1122,10 +1135,22 @@ static struct qcom_icc_node * const qcs404_pcnoc_nodes[] = {
1122
1135
[SLAVE_PCNOC_SNOC ] = & slv_pcnoc_snoc ,
1123
1136
};
1124
1137
1138
+ static const struct regmap_config qcs404_pcnoc_regmap_config = {
1139
+ .reg_bits = 32 ,
1140
+ .reg_stride = 4 ,
1141
+ .val_bits = 32 ,
1142
+ .max_register = 0x15080 ,
1143
+ .fast_io = true,
1144
+ };
1145
+
1125
1146
static const struct qcom_icc_desc qcs404_pcnoc = {
1126
- .bus_clk_desc = & bus_0_clk ,
1147
+ .type = QCOM_ICC_NOC ,
1127
1148
.nodes = qcs404_pcnoc_nodes ,
1128
1149
.num_nodes = ARRAY_SIZE (qcs404_pcnoc_nodes ),
1150
+ .bus_clk_desc = & bus_0_clk ,
1151
+ .qos_offset = 0x7000 ,
1152
+ .keep_alive = true,
1153
+ .regmap_cfg = & qcs404_pcnoc_regmap_config ,
1129
1154
};
1130
1155
1131
1156
static struct qcom_icc_node * const qcs404_snoc_nodes [] = {
@@ -1151,10 +1176,21 @@ static struct qcom_icc_node * const qcs404_snoc_nodes[] = {
1151
1176
[SLAVE_LPASS ] = & slv_lpass ,
1152
1177
};
1153
1178
1179
+ static const struct regmap_config qcs404_snoc_regmap_config = {
1180
+ .reg_bits = 32 ,
1181
+ .reg_stride = 4 ,
1182
+ .val_bits = 32 ,
1183
+ .max_register = 0x23080 ,
1184
+ .fast_io = true,
1185
+ };
1186
+
1154
1187
static const struct qcom_icc_desc qcs404_snoc = {
1155
- .bus_clk_desc = & bus_1_clk ,
1188
+ .type = QCOM_ICC_NOC ,
1156
1189
.nodes = qcs404_snoc_nodes ,
1157
1190
.num_nodes = ARRAY_SIZE (qcs404_snoc_nodes ),
1191
+ .bus_clk_desc = & bus_1_clk ,
1192
+ .qos_offset = 0x11000 ,
1193
+ .regmap_cfg = & qcs404_snoc_regmap_config ,
1158
1194
};
1159
1195
1160
1196
0 commit comments