build/xilinx/programmer: add position parameter to XC3SProg
authorMichael Betz <michibetz@gmail.com>
Tue, 23 Apr 2019 07:16:42 +0000 (09:16 +0200)
committerFlorent Kermarrec <florent@enjoy-digital.fr>
Tue, 23 Apr 2019 07:16:42 +0000 (09:16 +0200)
litex/build/xilinx/programmer.py

index 4c60b091eaa665061c96054f4687a7303c2eefef..c46c704f067ed69ff45697e0dc7071101687e1d5 100644 (file)
@@ -45,12 +45,14 @@ flashmem "{address}" "{data_file}" noverify
 class XC3SProg(GenericProgrammer):
     needs_bitreverse = False
 
-    def __init__(self, cable, flash_proxy_basename=None):
+    def __init__(self, cable, flash_proxy_basename=None, p=0):
+        """ p = Use device at JTAG Chain position <val> """
         GenericProgrammer.__init__(self, flash_proxy_basename)
         self.cable = cable
+        self.p = str(p)
 
     def load_bitstream(self, bitstream_file):
-        subprocess.call(["xc3sprog", "-v", "-c", self.cable, bitstream_file])
+        subprocess.call(["xc3sprog", "-v", "-c", self.cable, "-p", self.p, bitstream_file])
 
     def flash(self, address, data_file):
         flash_proxy = self.find_flash_proxy()