Using tilegrid.json from database in 010-lutinit

Signed-off-by: Clifford Wolf <clifford@clifford.at>
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com>
This commit is contained in:
Clifford Wolf 2017-10-18 01:29:12 +02:00 committed by Tim 'mithro' Ansell
parent 98bcad730b
commit 28fa81b645
1 changed files with 10 additions and 12 deletions

View File

@ -11,7 +11,7 @@ bits = dict()
luts = dict()
print("Loading grid.")
with open("../../../gridinfo/grid-%s-db.json" % os.getenv("XRAY_PART"), "r") as f:
with open("../../../database/%s/tilegrid.json" % os.getenv("XRAY_DATABASE"), "r") as f:
grid = json.load(f)
print("Loading bits.")
@ -55,16 +55,14 @@ print("Compile segment data.")
segments = dict()
for tilename, tiledata in grid["tiles"].items():
found_data = False
for site in tiledata["sites"]:
if site in luts:
found_data = True
if not found_data:
if "segment" not in tiledata:
continue
tile_type = tiledata["props"]["TYPE"]
segname = "%s_%02x" % (tiledata["cfgcol"]["BASE_FRAMEID"][2:], min(tiledata["cfgcol"]["WORDS"]))
segtype = tiledata["segment"]
segdata = grid["segments"][segtype]
tile_type = tiledata["type"]
segname = "%s_%02x" % (segdata["baseaddr"][0][2:], segdata["baseaddr"][1])
if not segname in segments:
segments[segname] = { "bits": list(), "tags": dict() }
@ -83,14 +81,14 @@ for tilename, tiledata in grid["tiles"].items():
for name, value in luts[site].items():
segments[segname]["tags"]["%s.%s.%s" % (tile_type, sitekey, name)] = value
base_frame = int(tiledata["cfgcol"]["BASE_FRAMEID"][2:], 16)
for wordidx in tiledata["cfgcol"]["WORDS"]:
base_frame = int(segdata["baseaddr"][0][2:], 16)
for wordidx in range(segdata["baseaddr"][1], segdata["baseaddr"][1]+2):
if base_frame not in bits:
continue
if wordidx not in bits[base_frame]:
continue
for bit_frame, bit_wordidx, bit_bitidx in bits[base_frame][wordidx]:
segments[segname]["bits"].append("%02x_%02x_%02x" % (bit_frame - base_frame, bit_wordidx - min(tiledata["cfgcol"]["WORDS"]), bit_bitidx))
segments[segname]["bits"].append("%02x_%02x_%02x" % (bit_frame - base_frame, bit_wordidx - segdata["baseaddr"][1], bit_bitidx))
segments[segname]["bits"].sort()