artiq_flash: add Metlino support

This commit is contained in:
Sebastien Bourdeauducq 2019-05-19 16:30:10 +08:00
parent 9dcaae6395
commit 88b6496c8c
1 changed files with 11 additions and 4 deletions

View File

@ -54,7 +54,7 @@ Prerequisites:
help="SSH host to jump through") help="SSH host to jump through")
parser.add_argument("-t", "--target", default="kasli", parser.add_argument("-t", "--target", default="kasli",
help="target board, default: %(default)s, one of: " help="target board, default: %(default)s, one of: "
"kasli sayma kc705") "kasli sayma metlino kc705")
parser.add_argument("-V", "--variant", default=None, parser.add_argument("-V", "--variant", default=None,
help="board variant. Autodetected if only one is installed.") help="board variant. Autodetected if only one is installed.")
parser.add_argument("-I", "--preinit-command", default=[], action="append", parser.add_argument("-I", "--preinit-command", default=[], action="append",
@ -223,7 +223,7 @@ class ProgrammerXC7(Programmer):
"xc7_program xc7.tap") "xc7_program xc7.tap")
class ProgrammerSayma(Programmer): class ProgrammerSaymaMetlino(Programmer):
_sector_size = 0x10000 _sector_size = 0x10000
def __init__(self, client, preinit_script): def __init__(self, client, preinit_script):
@ -273,13 +273,20 @@ def main():
"firmware": ("spi0", 0x450000), "firmware": ("spi0", 0x450000),
}, },
"sayma": { "sayma": {
"programmer": ProgrammerSayma, "programmer": ProgrammerSaymaMetlino,
"gateware": ("spi0", 0x000000), "gateware": ("spi0", 0x000000),
"bootloader": ("spi1", 0x000000), "bootloader": ("spi1", 0x000000),
"storage": ("spi1", 0x040000), "storage": ("spi1", 0x040000),
"firmware": ("spi1", 0x050000), "firmware": ("spi1", 0x050000),
"rtm_gateware": ("spi1", 0x200000), "rtm_gateware": ("spi1", 0x200000),
}, },
"metlino": {
"programmer": ProgrammerSaymaMetlino,
"gateware": ("spi0", 0x000000),
"bootloader": ("spi1", 0x000000),
"storage": ("spi1", 0x040000),
"firmware": ("spi1", 0x050000),
},
"kc705": { "kc705": {
"programmer": partial(ProgrammerXC7, board="kc705", proxy="bscan_spi_xc7k325t.bit"), "programmer": partial(ProgrammerXC7, board="kc705", proxy="bscan_spi_xc7k325t.bit"),
"gateware": ("spi0", 0x000000), "gateware": ("spi0", 0x000000),
@ -394,7 +401,7 @@ def main():
elif action == "start": elif action == "start":
programmer.start() programmer.start()
elif action == "erase": elif action == "erase":
if args.target == "sayma": if args.target == "sayma" or args.target == "metlino":
programmer.erase_flash("spi0") programmer.erase_flash("spi0")
programmer.erase_flash("spi1") programmer.erase_flash("spi1")
else: else: