forked from M-Labs/artiq
artiq_ddb_template: kasli-soc support
This commit is contained in:
parent
07bd1e27c1
commit
ea1dd2da43
|
@ -11,9 +11,14 @@ from artiq.coredevice import jsondesc
|
|||
|
||||
|
||||
def process_header(output, description):
|
||||
if description["target"] != "kasli":
|
||||
if description["target"] not in ("kasli", "kasli_soc"):
|
||||
raise NotImplementedError
|
||||
|
||||
cpu_target = {
|
||||
"kasli": "or1k",
|
||||
"kasli_soc": "cortexa9"
|
||||
}[description["target"]]
|
||||
|
||||
print(textwrap.dedent("""
|
||||
# Autogenerated for the {variant} variant
|
||||
core_addr = "{core_addr}"
|
||||
|
@ -23,7 +28,7 @@ def process_header(output, description):
|
|||
"type": "local",
|
||||
"module": "artiq.coredevice.core",
|
||||
"class": "Core",
|
||||
"arguments": {{"host": core_addr, "ref_period": {ref_period}}}
|
||||
"arguments": {{"host": core_addr, "ref_period": {ref_period}, "target": "{cpu_target}"}},
|
||||
}},
|
||||
"core_log": {{
|
||||
"type": "controller",
|
||||
|
@ -58,7 +63,8 @@ def process_header(output, description):
|
|||
""").format(
|
||||
variant=description["variant"],
|
||||
core_addr=description["core_addr"],
|
||||
ref_period=1/(8*description["rtio_frequency"])),
|
||||
ref_period=1/(8*description["rtio_frequency"]),
|
||||
cpu_target=cpu_target),
|
||||
file=output)
|
||||
|
||||
|
||||
|
@ -513,7 +519,7 @@ class PeripheralManager:
|
|||
processor = getattr(self, "process_"+str(peripheral["type"]))
|
||||
return processor(rtio_offset, peripheral)
|
||||
|
||||
def add_sfp_leds(self, rtio_offset):
|
||||
def add_board_leds(self, rtio_offset):
|
||||
for i in range(2):
|
||||
self.gen("""
|
||||
device_db["{name}"] = {{
|
||||
|
@ -544,8 +550,10 @@ def process(output, master_description, satellites):
|
|||
for peripheral in master_description["peripherals"]:
|
||||
n_channels = pm.process(rtio_offset, peripheral)
|
||||
rtio_offset += n_channels
|
||||
if base == "standalone" and master_description["hw_rev"] in ("v1.0", "v1.1"):
|
||||
n_channels = pm.add_sfp_leds(rtio_offset)
|
||||
kasli_with_leds = (master_description["target"] == "kasli" and master_description["hw_rev"] in ("v1.0", "v1.1"))
|
||||
kasli_soc = master_description["target"] == "kasli_soc"
|
||||
if base == "standalone" and kasli_with_leds or kasli_soc:
|
||||
n_channels = pm.add_board_leds(rtio_offset)
|
||||
rtio_offset += n_channels
|
||||
|
||||
for destination, description in satellites:
|
||||
|
|
Loading…
Reference in New Issue