artiq_flash: support efc

This commit is contained in:
occheung 2023-07-11 20:53:12 -07:00
parent d677cb2441
commit 936f24f6bd
1 changed files with 18 additions and 5 deletions

View File

@ -59,7 +59,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 kc705") "kasli kc705 efc")
parser.add_argument("-I", "--preinit-command", default=[], action="append", parser.add_argument("-I", "--preinit-command", default=[], action="append",
help="add a pre-initialization OpenOCD command. " help="add a pre-initialization OpenOCD command. "
"Useful for selecting a board when several are connected.") "Useful for selecting a board when several are connected.")
@ -215,10 +215,16 @@ class ProgrammerXC7(Programmer):
Programmer.__init__(self, client, preinit_script) Programmer.__init__(self, client, preinit_script)
self._proxy = proxy self._proxy = proxy
if board != "efc":
add_commands(self._board_script, add_commands(self._board_script,
"source {boardfile}", "source {boardfile}",
boardfile=self._transfer_script("board/{}.cfg".format(board))) boardfile=self._transfer_script("board/{}.cfg".format(board)))
self.add_flash_bank("spi0", "xc7", index=0) self.add_flash_bank("spi0", "xc7", index=0)
else:
add_commands(self._board_script,
"source efc.cfg"
)
self.add_flash_bank("spi0", "xc7", index=0)
add_commands(self._script, "xadc_report xc7.tap") add_commands(self._script, "xadc_report xc7.tap")
@ -242,6 +248,13 @@ def main():
"storage": ("spi0", 0x440000), "storage": ("spi0", 0x440000),
"firmware": ("spi0", 0x450000), "firmware": ("spi0", 0x450000),
}, },
"efc": {
"programmer": partial(ProgrammerXC7, board="efc", proxy="bscan_spi_xc7a100t.bit"),
"gateware": ("spi0", 0x000000),
"bootloader": ("spi0", 0x400000),
"storage": ("spi0", 0x440000),
"firmware": ("spi0", 0x450000),
},
"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),