aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikhil Devshatwar2020-10-19 10:41:06 -0500
committerDave Gerlach2020-10-19 11:25:42 -0500
commitab4400fa5cfe61760881cbace8b7fcdd1e703426 (patch)
treeca27cbe4e85d70bb9f58fb4f8d8c4534fa904af7
parent36fe2d183a734f65b9adbd3097e5d51a6f931521 (diff)
downloadk3-image-gen-ab4400fa5cfe61760881cbace8b7fcdd1e703426.tar.gz
k3-image-gen-ab4400fa5cfe61760881cbace8b7fcdd1e703426.tar.xz
k3-image-gen-ab4400fa5cfe61760881cbace8b7fcdd1e703426.zip
scripts: Update board configuration validation files from v2020.08-RC3
Update the board config validation script and rules json from v2020.08-RC3 This allows to pass more number of entries in the RM board config updates the resource constraints for MCU NAVSS Signed-off-by: Nikhil Devshatwar <nikhil.nd@ti.com>
-rw-r--r--scripts/sysfw_boardcfg_rules.json58
-rwxr-xr-xscripts/sysfw_boardcfg_validator.py13
2 files changed, 40 insertions, 31 deletions
diff --git a/scripts/sysfw_boardcfg_rules.json b/scripts/sysfw_boardcfg_rules.json
index a71e28615..082aab93c 100644
--- a/scripts/sysfw_boardcfg_rules.json
+++ b/scripts/sysfw_boardcfg_rules.json
@@ -624,7 +624,7 @@
624 ], 624 ],
625 "constraints": [ 625 "constraints": [
626 { 626 {
627 "max_resource_entries": 104 627 "max_resource_entries": 260
628 } 628 }
629 ] 629 ]
630 }, 630 },
@@ -951,7 +951,7 @@
951 ], 951 ],
952 "constraints": [ 952 "constraints": [
953 { 953 {
954 "max_resource_entries": 104 954 "max_resource_entries": 260
955 } 955 }
956 ] 956 ]
957 }, 957 },
@@ -1234,67 +1234,67 @@
1234 "num_resource": 132 1234 "num_resource": 132
1235 }, 1235 },
1236 { 1236 {
1237 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_INTAGGR_0, RESASG_SUBTYPE_IA_VINT)", 1237 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_UDMASS_INTA_0, RESASG_SUBTYPE_IA_VINT)",
1238 "type": 14922, 1238 "type": 14922,
1239 "start_resource": 8, 1239 "start_resource": 16,
1240 "num_resource": 248 1240 "num_resource": 240
1241 }, 1241 },
1242 { 1242 {
1243 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_INTAGGR_0, RESASG_SUBTYPE_GLOBAL_EVENT_SEVT)", 1243 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_UDMASS_INTA_0, RESASG_SUBTYPE_GLOBAL_EVENT_SEVT)",
1244 "type": 14925, 1244 "type": 14925,
1245 "start_resource": 16392, 1245 "start_resource": 16400,
1246 "num_resource": 1528 1246 "num_resource": 1520
1247 }, 1247 },
1248 { 1248 {
1249 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_PROXY_0, RESASG_SUBTYPE_PROXY_PROXIES)", 1249 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_PROXY0, RESASG_SUBTYPE_PROXY_PROXIES)",
1250 "type": 14976, 1250 "type": 14976,
1251 "start_resource": 1, 1251 "start_resource": 1,
1252 "num_resource": 63 1252 "num_resource": 63
1253 }, 1253 },
1254 { 1254 {
1255 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_RINGACC_0, RESASG_SUBTYPE_RA_ERROR_OES)", 1255 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_ERROR_OES)",
1256 "type": 15040, 1256 "type": 15040,
1257 "start_resource": 0, 1257 "start_resource": 0,
1258 "num_resource": 1 1258 "num_resource": 1
1259 }, 1259 },
1260 { 1260 {
1261 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_RINGACC_0, RESASG_SUBTYPE_RA_GP)", 1261 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_GP)",
1262 "type": 15041, 1262 "type": 15041,
1263 "start_resource": 96, 1263 "start_resource": 96,
1264 "num_resource": 156 1264 "num_resource": 156
1265 }, 1265 },
1266 { 1266 {
1267 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_RINGACC_0, RESASG_SUBTYPE_RA_UDMAP_RX)", 1267 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_UDMAP_RX)",
1268 "type": 15042, 1268 "type": 15042,
1269 "start_resource": 50, 1269 "start_resource": 50,
1270 "num_resource": 43 1270 "num_resource": 43
1271 }, 1271 },
1272 { 1272 {
1273 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_RINGACC_0, RESASG_SUBTYPE_RA_UDMAP_TX)", 1273 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_UDMAP_TX)",
1274 "type": 15043, 1274 "type": 15043,
1275 "start_resource": 2, 1275 "start_resource": 2,
1276 "num_resource": 44 1276 "num_resource": 44
1277 }, 1277 },
1278 { 1278 {
1279 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_RINGACC_0, RESASG_SUBTYPE_RA_UDMAP_RX_H)", 1279 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_UDMAP_RX_H)",
1280 "type": 15045, 1280 "type": 15045,
1281 "start_resource": 48, 1281 "start_resource": 48,
1282 "num_resource": 2 1282 "num_resource": 2
1283 }, 1283 },
1284 { 1284 {
1285 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_RINGACC_0, RESASG_SUBTYPE_RA_UDMAP_TX_H)", 1285 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_UDMAP_TX_H)",
1286 "type": 15047, 1286 "type": 15047,
1287 "start_resource": 0, 1287 "start_resource": 0,
1288 "num_resource": 2 1288 "num_resource": 2
1289 }, 1289 },
1290 { 1290 {
1291 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_RINGACC_0, RESASG_SUBTYPE_RA_VIRTID)", 1291 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_VIRTID)",
1292 "type": 15050, 1292 "type": 15050,
1293 "start_resource": 0, 1293 "start_resource": 0,
1294 "num_resource": 4096 1294 "num_resource": 4096
1295 }, 1295 },
1296 { 1296 {
1297 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_RINGACC_0, RESASG_SUBTYPE_RA_MONITORS)", 1297 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_RINGACC0, RESASG_SUBTYPE_RA_MONITORS)",
1298 "type": 15051, 1298 "type": 15051,
1299 "start_resource": 0, 1299 "start_resource": 0,
1300 "num_resource": 32 1300 "num_resource": 32
@@ -1348,13 +1348,13 @@
1348 "num_resource": 2 1348 "num_resource": 2
1349 }, 1349 },
1350 { 1350 {
1351 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_INTR_ROUTER_0, RESASG_SUBTYPE_IR_OUTPUT)", 1351 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_INTR_0, RESASG_SUBTYPE_IR_OUTPUT)",
1352 "type": 15168, 1352 "type": 15168,
1353 "start_resource": 4, 1353 "start_resource": 12,
1354 "num_resource": 28 1354 "num_resource": 20
1355 }, 1355 },
1356 { 1356 {
1357 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_INTR_ROUTER_0, RESASG_SUBTYPE_IR_OUTPUT)", 1357 "name": "RESASG_UTYPE(J721E_DEV_MCU_NAVSS0_INTR_0, RESASG_SUBTYPE_IR_OUTPUT)",
1358 "type": 15168, 1358 "type": 15168,
1359 "start_resource": 36, 1359 "start_resource": 36,
1360 "num_resource": 28 1360 "num_resource": 28
@@ -1362,7 +1362,7 @@
1362 ], 1362 ],
1363 "constraints": [ 1363 "constraints": [
1364 { 1364 {
1365 "max_resource_entries": 420 1365 "max_resource_entries": 600
1366 } 1366 }
1367 ] 1367 ]
1368 }, 1368 },
@@ -1587,14 +1587,14 @@
1587 { 1587 {
1588 "name": "RESASG_UTYPE(J7200_DEV_MCU_NAVSS0_UDMASS_INTA_0, RESASG_SUBTYPE_IA_VINT)", 1588 "name": "RESASG_UTYPE(J7200_DEV_MCU_NAVSS0_UDMASS_INTA_0, RESASG_SUBTYPE_IA_VINT)",
1589 "type": 14922, 1589 "type": 14922,
1590 "start_resource": 8, 1590 "start_resource": 15,
1591 "num_resource": 248 1591 "num_resource": 241
1592 }, 1592 },
1593 { 1593 {
1594 "name": "RESASG_UTYPE(J7200_DEV_MCU_NAVSS0_UDMASS_INTA_0, RESASG_SUBTYPE_GLOBAL_EVENT_SEVT)", 1594 "name": "RESASG_UTYPE(J7200_DEV_MCU_NAVSS0_UDMASS_INTA_0, RESASG_SUBTYPE_GLOBAL_EVENT_SEVT)",
1595 "type": 14925, 1595 "type": 14925,
1596 "start_resource": 16392, 1596 "start_resource": 16399,
1597 "num_resource": 1528 1597 "num_resource": 1521
1598 }, 1598 },
1599 { 1599 {
1600 "name": "RESASG_UTYPE(J7200_DEV_MCU_NAVSS0_PROXY0, RESASG_SUBTYPE_PROXY_PROXIES)", 1600 "name": "RESASG_UTYPE(J7200_DEV_MCU_NAVSS0_PROXY0, RESASG_SUBTYPE_PROXY_PROXIES)",
@@ -1701,8 +1701,8 @@
1701 { 1701 {
1702 "name": "RESASG_UTYPE(J7200_DEV_MCU_NAVSS0_INTR_0, RESASG_SUBTYPE_IR_OUTPUT)", 1702 "name": "RESASG_UTYPE(J7200_DEV_MCU_NAVSS0_INTR_0, RESASG_SUBTYPE_IR_OUTPUT)",
1703 "type": 15168, 1703 "type": 15168,
1704 "start_resource": 4, 1704 "start_resource": 11,
1705 "num_resource": 28 1705 "num_resource": 21
1706 }, 1706 },
1707 { 1707 {
1708 "name": "RESASG_UTYPE(J7200_DEV_MCU_NAVSS0_INTR_0, RESASG_SUBTYPE_IR_OUTPUT)", 1708 "name": "RESASG_UTYPE(J7200_DEV_MCU_NAVSS0_INTR_0, RESASG_SUBTYPE_IR_OUTPUT)",
@@ -1713,7 +1713,7 @@
1713 ], 1713 ],
1714 "constraints": [ 1714 "constraints": [
1715 { 1715 {
1716 "max_resource_entries": 270 1716 "max_resource_entries": 540
1717 } 1717 }
1718 ] 1718 ]
1719 } 1719 }
diff --git a/scripts/sysfw_boardcfg_validator.py b/scripts/sysfw_boardcfg_validator.py
index 3d8bc90dd..2401d45ab 100755
--- a/scripts/sysfw_boardcfg_validator.py
+++ b/scripts/sysfw_boardcfg_validator.py
@@ -164,20 +164,27 @@ class sysfw_boardcfg_rules:
164 self.output_class.send_next_line( 164 self.output_class.send_next_line(
165 'Found %s resource entries' % num_entries) 165 'Found %s resource entries' % num_entries)
166 166
167 matched_r_dict = list()
167 for entry in r_dict: 168 for entry in r_dict:
168 valid = False 169 valid = False
169 closest_matches = list() 170 closest_matches = list()
170 e_start = entry['start_resource'] 171 e_start = entry['start_resource']
171 e_end = entry['start_resource'] + entry['num_resource'] - 1 172 e_end = entry['start_resource'] + entry['num_resource']
172 173
173 for v_entry in validator['values']: 174 for v_entry in validator['values']:
174 if entry['type'] == v_entry['type']: 175 if entry['type'] == v_entry['type']:
175 v_start = v_entry['start_resource'] 176 v_start = v_entry['start_resource']
176 v_end = v_entry['start_resource'] + \ 177 v_end = v_entry['start_resource'] + \
177 v_entry['num_resource'] - 1 178 v_entry['num_resource']
178 closest_matches.append(v_entry) 179 closest_matches.append(v_entry)
179 180
180 if e_start >= v_start and e_end <= v_end: 181 if e_start >= v_start and e_end <= v_end:
182 if entry['num_resource'] != 0:
183 # Entries with a number of resources equal to
184 # zero are allowed but shouldn't be validated
185 # against adjacent ranges so do not pass them
186 # along for further validation
187 matched_r_dict.append(entry)
181 valid = True 188 valid = True
182 189
183 if not valid: 190 if not valid:
@@ -198,6 +205,8 @@ class sysfw_boardcfg_rules:
198 205
199 break 206 break
200 207
208 r_dict = matched_r_dict
209
201 if valid: 210 if valid:
202 host_id_all = 128 211 host_id_all = 128
203 for pre, cur, post in zip( 212 for pre, cur, post in zip(