As far as I know the RHS example image just contains a SPI peripheral that can be accessed over PCIe for writing to the Flash. After all, it's not much use to reprogram it "live" since that will unload the FPGA first and then you're kind of stuck
Bus 001 Device 008: ID 8087:0000 Intel Corp. TPS65983
Device file not found:/dev/xdma/card0/user. Is the XDMA driver installed and working?
$ modinfo xdma
filename: /lib/modules/5.11.0-38-generic/extra/xdma.ko
license: Dual BSD/GPL
version: 2020.2.2
description: Xilinx XDMA Reference Driver
author: Xilinx, Inc.
srcversion: 755B8C84314FF43EE2506DC
alias: pci:v00001D0Fd0000F001sv*sd*bc*sc*i*
alias: pci:v00001D0Fd0000F000sv*sd*bc*sc*i*
alias: pci:v000010EEd00002808sv*sd*bc*sc*i*
alias: pci:v000010EEd00004B28sv*sd*bc*sc*i*
alias: pci:v000010EEd00004A28sv*sd*bc*sc*i*
alias: pci:v000010EEd00004908sv*sd*bc*sc*i*
alias: pci:v000010EEd00004828sv*sd*bc*sc*i*
alias: pci:v000010EEd00004808sv*sd*bc*sc*i*
alias: pci:v000010EEd00006D30sv*sd*bc*sc*i*
alias: pci:v000010EEd00006A30sv*sd*bc*sc*i*
alias: pci:v000010EEd00006A28sv*sd*bc*sc*i*
alias: pci:v000010EEd00006930sv*sd*bc*sc*i*
alias: pci:v000010EEd00006928sv*sd*bc*sc*i*
alias: pci:v000010EEd00006830sv*sd*bc*sc*i*
alias: pci:v000010EEd00006828sv*sd*bc*sc*i*
alias: pci:v000010EEd00007038sv*sd*bc*sc*i*
alias: pci:v000010EEd00007034sv*sd*bc*sc*i*
alias: pci:v000010EEd00007032sv*sd*bc*sc*i*
alias: pci:v000010EEd00007031sv*sd*bc*sc*i*
alias: pci:v000010EEd00007028sv*sd*bc*sc*i*
alias: pci:v000010EEd00007024sv*sd*bc*sc*i*
alias: pci:v000010EEd00007022sv*sd*bc*sc*i*
alias: pci:v000010EEd00007021sv*sd*bc*sc*i*
alias: pci:v000010EEd00007018sv*sd*bc*sc*i*
alias: pci:v000010EEd00007014sv*sd*bc*sc*i*
alias: pci:v000010EEd00007012sv*sd*bc*sc*i*
alias: pci:v000010EEd00007011sv*sd*bc*sc*i*
alias: pci:v000010EEd00008038sv*sd*bc*sc*i*
alias: pci:v000010EEd00008034sv*sd*bc*sc*i*
alias: pci:v000010EEd00008032sv*sd*bc*sc*i*
alias: pci:v000010EEd00008031sv*sd*bc*sc*i*
alias: pci:v000010EEd00008028sv*sd*bc*sc*i*
alias: pci:v000010EEd00008024sv*sd*bc*sc*i*
alias: pci:v000010EEd00008022sv*sd*bc*sc*i*
alias: pci:v000010EEd00008021sv*sd*bc*sc*i*
alias: pci:v000010EEd00008018sv*sd*bc*sc*i*
alias: pci:v000010EEd00008014sv*sd*bc*sc*i*
alias: pci:v000010EEd00008012sv*sd*bc*sc*i*
alias: pci:v000010EEd00008011sv*sd*bc*sc*i*
alias: pci:v000010EEd00009011sv*sd*bc*sc*i*
alias: pci:v000010EEd00009021sv*sd*bc*sc*i*
alias: pci:v000010EEd00009031sv*sd*bc*sc*i*
alias: pci:v000010EEd00009012sv*sd*bc*sc*i*
alias: pci:v000010EEd00009022sv*sd*bc*sc*i*
alias: pci:v000010EEd00009032sv*sd*bc*sc*i*
alias: pci:v000010EEd00009014sv*sd*bc*sc*i*
alias: pci:v000010EEd00009024sv*sd*bc*sc*i*
alias: pci:v000010EEd00009034sv*sd*bc*sc*i*
alias: pci:v000010EEd00009018sv*sd*bc*sc*i*
alias: pci:v000010EEd00009028sv*sd*bc*sc*i*
alias: pci:v000010EEd00009038sv*sd*bc*sc*i*
alias: pci:v000010EEd0000903Fsv*sd*bc*sc*i*
alias: pci:v000010EEd00009041sv*sd*bc*sc*i*
alias: pci:v000010EEd00009042sv*sd*bc*sc*i*
alias: pci:v000010EEd00009044sv*sd*bc*sc*i*
alias: pci:v000010EEd00009048sv*sd*bc*sc*i*
depends:
retpoline: Y
name: xdma
vermagic: 5.11.0-38-generic SMP mod_unload modversions
sig_id: PKCS#7
signer: Modules
sig_key: 26:1D:63:96:05:5C:E0:68:98:7B:AF:61:CA:40:AA:E2:37:39:26:73
sig_hashalgo: sha512
signature: 1F:6D:25:1C:88:6E:F1:2E:ED:2F:E1:49:64:52:7A:18:5B:BE:96:65:
1A:E8:D8:8D:F3:36:B3:1E:B0:72:75:57:6C:6F:B7:8D:5F:72:DC:A7:
9C:EC:91:70:64:6E:93:C9:02:59:5B:DB:B0:A4:6D:C2:46:8D:DA:1D:
24:15:00:1A:DD:F1:43:A3:C3:96:5E:74:3B:5E:C5:6A:6C:C9:23:9B:
43:4E:38:6C:C1:CD:BC:F3:9D:BA:C3:87:B6:33:81:14:ED:F7:33:E6:
FD:69:41:FF:EA:45:71:9F:76:41:3B:A6:C0:E4:9D:65:C6:3F:10:06:
3E:05:9E:B8:58:5C:CF:6C:E7:EB:18:C8:6B:90:6F:72:0C:90:8B:42:
B6:F2:A6:71:46:B1:81:2E:06:1B:2F:46:C2:61:77:C4:34:AF:B3:69:
7A:74:23:CA:55:F2:A6:2E:2B:7F:F0:59:9F:1C:A1:B6:53:D1:1A:01:
42:1F:EA:61:0B:24:35:04:79:70:7D:4F:9C:BE:C2:97:90:40:7B:D3:
EE:57:20:F9:23:38:C6:5A:4D:55:B9:07:90:22:64:3D:A6:8F:11:89:
0E:1C:E2:E1:E4:39:F3:A5:A7:26:22:02:E2:2E:F0:E4:B5:46:38:79:
FC:F4:50:E4:96:6A:F6:81:0E:26:00:C1:50:F7:4C:14:B4:72:CB:6A:
28:0D:93:BE:EF:5C:27:95:A6:19:56:74:28:C8:D2:D9:8C:28:11:5C:
6B:7C:32:57:9C:6D:AA:73:1C:5F:95:92:B2:A1:AC:73:CD:6F:D7:67:
14:10:1D:4F:B7:61:00:4C:61:95:70:E0:5B:6A:53:C6:A7:85:3B:70:
88:EB:1C:0C:95:3B:46:82:D0:C5:A3:AC:DA:DB:5D:E8:D3:6A:62:36:
36:0C:AA:61:44:FD:4D:FB:F6:B5:86:A5:D9:DA:A3:0B:A9:63:CA:DE:
C5:59:D6:77:40:9A:A3:7B:45:BD:98:61:FB:C3:05:BC:88:14:AF:7D:
E8:45:E9:C6:B0:74:20:F7:54:CE:6D:9C:6F:91:A9:91:AD:86:B8:1D:
28:AC:D8:D1:30:15:FD:08:F1:88:0D:DC:D5:DF:F4:98:AF:D7:E5:4D:
B7:48:EC:65:4C:38:05:12:6D:D8:8D:63:D3:39:90:69:F6:81:CB:EB:
38:CC:43:E6:1D:13:61:02:92:91:D8:05:B8:40:DD:33:BE:98:7E:4F:
65:14:C7:CF:B7:DC:D4:E3:46:1A:F0:34:E0:87:0A:53:A6:7F:BA:8B:
A8:6F:EC:CD:F7:C0:80:4A:36:F0:F1:56:EE:46:E1:40:0F:71:F9:DD:
C7:F3:89:D4:2E:B9:F7:2E:BC:87:00:3D
parm: h2c_timeout:H2C sgdma timeout in seconds, default is 10 sec. (uint)
parm: c2h_timeout:C2H sgdma timeout in seconds, default is 10 sec. (uint)
parm: poll_mode:Set 1 for hw polling, default is 0 (interrupts) (uint)
parm: interrupt_mode:0 - Auto , 1 - MSI, 2 - Legacy, 3 - MSI-x (uint)
parm: enable_st_c2h_credit:Set 1 to enable ST C2H engine credit feature, default is 0 ( credit control disabled) (uint)
parm: desc_blen_max:per descriptor max. buffer length, default is (1 << 28) - 1 (uint)
$ sudo lspci -v
00:1c.0 PCI bridge: Intel Corporation Device 9dba (rev f0) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 122
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: [disabled]
Memory behind bridge: a0100000-a01fffff [size=1M]
Prefetchable memory behind bridge: [disabled]
Capabilities: [40] Express Root Port (Slot+), MSI 00
Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [90] Subsystem: Hewlett-Packard Company Device 8514
Capabilities: [a0] Power Management version 3
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Access Control Services
Capabilities: [150] Precision Time Measurement
Capabilities: [200] L1 PM Substates
Capabilities: [220] Secondary PCI Express
Capabilities: [250] Downstream Port Containment
Kernel driver in use: pcieport
00:1c.4 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #5 (rev f0) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 123
Bus: primary=00, secondary=02, subordinate=6c, sec-latency=0
I/O behind bridge: 00004000-00006fff [size=12K]
Memory behind bridge: 70000000-9e0fffff [size=737M]
Prefetchable memory behind bridge: 0000004000000000-0000004049ffffff [size=1184M]
Capabilities: [40] Express Root Port (Slot+), MSI 00
Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [90] Subsystem: Hewlett-Packard Company Cannon Point-LP PCI Express Root Port
Capabilities: [a0] Power Management version 3
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Access Control Services
Capabilities: [150] Precision Time Measurement
Capabilities: [220] Secondary PCI Express
Capabilities: [250] Downstream Port Containment
Kernel driver in use: pcieport
00:1d.0 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #13 (rev f0) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 124
Bus: primary=00, secondary=6d, subordinate=6d, sec-latency=0
I/O behind bridge: [disabled]
Memory behind bridge: a0000000-a00fffff [size=1M]
Prefetchable memory behind bridge: [disabled]
Capabilities: [40] Express Root Port (Slot+), MSI 00
Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [90] Subsystem: Hewlett-Packard Company Cannon Point-LP PCI Express Root Port
Capabilities: [a0] Power Management version 3
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Access Control Services
Capabilities: [150] Precision Time Measurement
Capabilities: [200] L1 PM Substates
Capabilities: [220] Secondary PCI Express
Capabilities: [250] Downstream Port Containment
Kernel driver in use: pcieport
01:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader (rev 01)
DeviceName: Realtek PCIE CardReader
Subsystem: Hewlett-Packard Company RTS525A PCI Express Card Reader
Flags: bus master, fast devsel, latency 0, IRQ 130
Memory at a0100000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [80] Power Management version 3
Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [b0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [148] Device Serial Number 00-00-00-01-00-4c-e0-00
Capabilities: [158] Latency Tolerance Reporting
Capabilities: [160] L1 PM Substates
Kernel driver in use: rtsx_pci
Kernel modules: rtsx_pci
02:00.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02) (prog-if 00 [Normal decode])
Physical Slot: 8
Flags: bus master, fast devsel, latency 0, IRQ 16
Bus: primary=02, secondary=03, subordinate=6c, sec-latency=0
I/O behind bridge: 00004000-00005fff [size=8K]
Memory behind bridge: 70000000-9e0fffff [size=737M]
Prefetchable memory behind bridge: 0000004000000000-0000004049ffffff [size=1184M]
Capabilities: [80] Power Management version 3
Capabilities: [88] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [ac] Subsystem: Hewlett-Packard Company JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016]
Capabilities: [c0] Express Upstream Port, MSI 00
Capabilities: [100] Device Serial Number cf-dd-68-09-50-b7-d0-00
Capabilities: [200] Advanced Error Reporting
Capabilities: [300] Virtual Channel
Capabilities: [400] Power Budgeting <?>
Capabilities: [500] Vendor Specific Information: ID=1234 Rev=1 Len=0d8 <?>
Capabilities: [600] Latency Tolerance Reporting
Capabilities: [700] Secondary PCI Express
Kernel driver in use: pcieport
03:00.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 125
Bus: primary=03, secondary=04, subordinate=04, sec-latency=0
I/O behind bridge: [disabled]
Memory behind bridge: 9e000000-9e0fffff [size=1M]
Prefetchable memory behind bridge: [disabled]
Capabilities: [80] Power Management version 3
Capabilities: [88] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [ac] Subsystem: Hewlett-Packard Company JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016]
Capabilities: [c0] Express Downstream Port (Slot+), MSI 00
Capabilities: [100] Device Serial Number cf-dd-68-09-50-b7-d0-00
Capabilities: [200] Advanced Error Reporting
Capabilities: [300] Virtual Channel
Capabilities: [400] Power Budgeting <?>
Capabilities: [500] Vendor Specific Information: ID=1234 Rev=1 Len=0d8 <?>
Capabilities: [700] Secondary PCI Express
Kernel driver in use: pcieport
03:01.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 126
Bus: primary=03, secondary=05, subordinate=37, sec-latency=0
I/O behind bridge: 00004000-00004fff [size=4K]
Memory behind bridge: 70000000-87efffff [size=383M]
Prefetchable memory behind bridge: 0000004000000000-000000401fffffff [size=512M]
Capabilities: [80] Power Management version 3
Capabilities: [88] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [ac] Subsystem: Hewlett-Packard Company JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016]
Capabilities: [c0] Express Downstream Port (Slot+), MSI 00
Capabilities: [100] Device Serial Number cf-dd-68-09-50-b7-d0-00
Capabilities: [200] Advanced Error Reporting
Capabilities: [300] Virtual Channel
Capabilities: [400] Power Budgeting <?>
Capabilities: [500] Vendor Specific Information: ID=1234 Rev=1 Len=0d8 <?>
Capabilities: [700] Secondary PCI Express
Kernel driver in use: pcieport
03:02.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 127
Bus: primary=03, secondary=38, subordinate=38, sec-latency=0
I/O behind bridge: [disabled]
Memory behind bridge: 87f00000-87ffffff [size=1M]
Prefetchable memory behind bridge: [disabled]
Capabilities: [80] Power Management version 3
Capabilities: [88] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [ac] Subsystem: Hewlett-Packard Company JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016]
Capabilities: [c0] Express Downstream Port (Slot+), MSI 00
Capabilities: [100] Device Serial Number cf-dd-68-09-50-b7-d0-00
Capabilities: [200] Advanced Error Reporting
Capabilities: [300] Virtual Channel
Capabilities: [400] Power Budgeting <?>
Capabilities: [500] Vendor Specific Information: ID=1234 Rev=1 Len=0d8 <?>
Capabilities: [700] Secondary PCI Express
Kernel driver in use: pcieport
03:04.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 128
Bus: primary=03, secondary=39, subordinate=6c, sec-latency=0
I/O behind bridge: 00005000-00005fff [size=4K]
Memory behind bridge: 88000000-9dffffff [size=352M]
Prefetchable memory behind bridge: 0000004020000000-0000004049ffffff [size=672M]
Capabilities: [80] Power Management version 3
Capabilities: [88] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [ac] Subsystem: Hewlett-Packard Company JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016]
Capabilities: [c0] Express Downstream Port (Slot+), MSI 00
Capabilities: [100] Device Serial Number cf-dd-68-09-50-b7-d0-00
Capabilities: [200] Advanced Error Reporting
Capabilities: [300] Virtual Channel
Capabilities: [400] Power Budgeting <?>
Capabilities: [500] Vendor Specific Information: ID=1234 Rev=1 Len=0d8 <?>
Capabilities: [700] Secondary PCI Express
Kernel driver in use: pcieport
04:00.0 System peripheral: Intel Corporation JHL6540 Thunderbolt 3 NHI (C step) [Alpine Ridge 4C 2016] (rev 02)
Subsystem: Hewlett-Packard Company JHL6540 Thunderbolt 3 NHI (C step) [Alpine Ridge 4C 2016]
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at 9e000000 (32-bit, non-prefetchable) [size=256K]
Memory at 9e040000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [80] Power Management version 3
Capabilities: [88] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [c0] Express Endpoint, MSI 00
Capabilities: [a0] MSI-X: Enable+ Count=16 Masked-
Capabilities: [100] Device Serial Number cf-dd-68-09-50-b7-d0-00
Capabilities: [200] Advanced Error Reporting
Capabilities: [300] Virtual Channel
Capabilities: [400] Power Budgeting <?>
Capabilities: [500] Vendor Specific Information: ID=1234 Rev=1 Len=088 <?>
Capabilities: [600] Latency Tolerance Reporting
Kernel driver in use: thunderbolt
Kernel modules: thunderbolt
38:00.0 USB controller: Intel Corporation JHL6540 Thunderbolt 3 USB Controller (C step) [Alpine Ridge 4C 2016] (rev 02) (prog-if 30 [XHCI])
Subsystem: Hewlett-Packard Company JHL6540 Thunderbolt 3 USB Controller (C step) [Alpine Ridge 4C 2016]
Flags: bus master, fast devsel, latency 0, IRQ 132
Memory at 87f00000 (32-bit, non-prefetchable) [size=64K]
Capabilities: [80] Power Management version 3
Capabilities: [88] MSI: Enable+ Count=1/8 Maskable- 64bit+
Capabilities: [c0] Express Endpoint, MSI 00
Capabilities: [100] Device Serial Number cf-dd-68-09-50-b7-d0-00
Capabilities: [200] Advanced Error Reporting
Capabilities: [300] Virtual Channel
Capabilities: [400] Power Budgeting <?>
Capabilities: [500] Vendor Specific Information: ID=1234 Rev=1 Len=0d8 <?>
Capabilities: [600] Latency Tolerance Reporting
Capabilities: [700] Secondary PCI Express
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
The XDMA driver has nothing with device not showing in lspci (the driver can just sit in memory waiting for any device from it’s aliases list to appear), the problem is either in Thunderbolt or FPGA board. Try checking dmesg and boltctl output after plugging the device in to see is there anything other than the TB controller itself. You can try plugging an empty TB enclosure first and checking those two util’s outputs to get a reference point, then look for differences when you plug the enclosure with FPGA up and running.
[ 748.079731] usb 1-3: new low-speed USB device number 6 using xhci_hcd
[ 748.231809] usb 1-3: No LPM exit latency info found, disabling LPM.
[ 748.238688] usb 1-3: New USB device found, idVendor=8087, idProduct=0000, bcdDevice= 4.51
[ 748.238706] usb 1-3: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[ 748.238713] usb 1-3: Product: TPS65983
[ 748.238719] usb 1-3: Manufacturer: Texas Instruments
[ 748.238724] usb 1-3: SerialNumber: FD1C701466D2DCA4394575BE15664075
[ 975.351287] usb 1-3: new low-speed USB device number 7 using xhci_hcd
[ 975.504061] usb 1-3: No LPM exit latency info found, disabling LPM.
[ 975.510403] usb 1-3: New USB device found, idVendor=8087, idProduct=0000, bcdDevice= 4.51
[ 975.510421] usb 1-3: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[ 975.510428] usb 1-3: Product: TPS65983
[ 975.510433] usb 1-3: Manufacturer: Texas Instruments
[ 975.510439] usb 1-3: SerialNumber: FD1C701466D2DCA4394575BE15664075
I fixed the error I described in my previous post. Apparently /dev/xdma0_user needed read/write permissions before it would allow me to upload a bitstream via the thunderbolt connection. However, the new problem is that uploading a bitstream appears to crash my computer. More on that as I find out.
I never actually managed to get the NiteFury (A200T) project to work on the CLE-215+. This includes even setting the LEDs. The A100T project did work on the LiteFury I bought last year.
Its not really epoxy, its actually just very viscous thermal paste (it is soluble in isopropanol too). A slight twisting motion and some patience was enough to get it off for me. I have done it successfully twice as of today, once on a CLE-215 and once on a CLE-215+ without issue. No guarantees though.
Is the CLE-215 just a different speed grade of the XC7A200 and do you know whether its the same RAM chip as the CLE-215+?
From you other pictures you posted, I'm curious how you removed the thermal epoxy holding the heatsink down without ruining anything? The stock heatsink+fan is terribly annoying...