Skip to content

Complete smbus IP removal from top.tcl#55

Closed
merkelmarrow wants to merge 1 commit intoXilinx:devfrom
merkelmarrow:fix/complete-smbus-removal
Closed

Complete smbus IP removal from top.tcl#55
merkelmarrow wants to merge 1 commit intoXilinx:devfrom
merkelmarrow:fix/complete-smbus-removal

Conversation

@merkelmarrow
Copy link
Copy Markdown

@merkelmarrow merkelmarrow commented Apr 8, 2026

Commit b23555b deleted the smbus IP source files from linker/resources/base/iprepo/ but there are still references to the IP in top.tcl. This causes the abstract shell PDI build to fail.

ERROR: [BD::TCL 103-2012] The following IPs are not found in the IP Catalog: xilinx.com:ip:smbus:1.1

This PR removes 24 references to the IP in linker/resources/base/scripts/top.tcl.

Testing

  • Full PDI build completed with patch.
  • Abstract shell PDI programs to V80 OSPI flash.
  • v80-smi list shows board operational
  • First HLS example runs end-to-end on hardware with patched top.tcl.

Commit b23555b deleted the smbus IP source files from linker/resources/base/iprepo/ but there are still references to the IP in top.tcl.

Removes 24 references that causes abstract shell PDI build to fail

Signed-off-by: Marco Blackwell <mblackwe@amd.com>
@quetric quetric requested a review from hpc-aulmamei April 8, 2026 10:16
@quetric quetric self-assigned this Apr 8, 2026
@hpc-aulmamei
Copy link
Copy Markdown
Collaborator

Hi @merkelmarrow! I have a question regarding the AVED firmware for this image. After you program the abstract shell PDI in OSPI, and check with v80-smi list, could you also check that ami_tool sensors utility tool still works as intended?

@merkelmarrow
Copy link
Copy Markdown
Author

Hi @merkelmarrow! I have a question regarding the AVED firmware for this image. After you program the abstract shell PDI in OSPI, and check with v80-smi list, could you also check that ami_tool sensors utility tool still works as intended?

$ ami_tool sensors -d af:00.0                                                                                                                                    
Error: device has no sensor data
ERET: Invalid return code from function call [ami_sensor_discover:858].

Is this a pre-existing issue or is this due to removing SMBus from the build script? If so, how are you including the IP in the build so I can rebuild it?

@hpc-aulmamei
Copy link
Copy Markdown
Collaborator

Hmm, this works with the initial design. Can you provide the following command outputs?

ami_tool overview
lspci -vvd 10ee:

That will make me better understand what's going on.

@merkelmarrow
Copy link
Copy Markdown
Author

merkelmarrow commented Apr 8, 2026

Hmm, this works with the initial design. Can you provide the following command outputs?

ami_tool overview lspci -vvd 10ee:

That will make me better understand what's going on.

Of course:

$ ami_tool overview    

AMI             
-------------------------------------------------------------
Version          | 2.4.0  (0)                                
Branch          
Hash             | 898e7542b3ce3dd7f8cef299c152b809541fd039  
Hash Date        | 20250918                                  
Driver Version   | 2.4.0  (0)                                


BDF       | Device      | UUID                               | AMC       | State   
-----------------------------------------------------------------------------------
af:00.0   | ALVEO V80   | 819730a267b40f8a8a38fbe9a6f8de72   | Unknown   | NO_AMC  

$ sudo lspci -vvd 10ee:
af:00.0 Processing accelerators: Xilinx Corporation Device 50b4
        Subsystem: Xilinx Corporation Device 000e
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        NUMA node: 1
        Region 0: Memory at 39bfe0000000 (64-bit, prefetchable) [size=256M]
        Capabilities: [40] Power Management version 3
                Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0+,D1+,D2-,D3hot+,D3cold+)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [70] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
                        ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 75.000W
                DevCtl: CorrErr- NonFatalErr+ FatalErr+ UnsupReq+
                        RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
                        MaxPayload 256 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr- TransPend-
                LnkCap: Port #0, Speed 32GT/s, Width x8, ASPM not supported
                        ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 8GT/s (downgraded), Width x8 (ok)
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Range BC, TimeoutDis+ NROPrPrP- LTR+
                         10BitTagComp+ 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
                         EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
                         FRS- TPHComp- ExtTPHComp-
                         AtomicOpsCap: 32bit+ 64bit+ 128bitCAS+
                DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis- LTR- OBFF Disabled,
                         AtomicOpsCtl: ReqEn-
                LnkCap2: Supported Link Speeds: 2.5-32GT/s, Crosslink- Retimer+ 2Retimers+ DRS-
                LnkCtl2: Target Link Speed: 32GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+ EqualizationPhase1+
                         EqualizationPhase2+ EqualizationPhase3+ LinkEqualizationRequest-
                         Retimer- 2Retimers- CrosslinkRes: unsupported
        Capabilities: [100 v1] Advanced Error Reporting
                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt+ RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UESvrt: DLP+ SDES+ TLP+ FCP+ CmpltTO+ CmpltAbrt+ UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
                CEMsk:  RxErr+ BadTLP+ BadDLLP+ Rollover+ Timeout+ AdvNonFatalErr+
                AERCap: First Error Pointer: 00, ECRCGenCap- ECRCGenEn- ECRCChkCap- ECRCChkEn-
                        MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
                HeaderLog: 00000000 00000000 00000000 00000000
        Capabilities: [188 v1] Alternative Routing-ID Interpretation (ARI)
                ARICap: MFVC- ACS-, Next Function: 1
                ARICtl: MFVC- ACS-, Function Group: 0
        Capabilities: [1c0 v1] Secondary PCI Express
                LnkCtl3: LnkEquIntrruptEn- PerformEqu-
                LaneErrStat: 0
        Capabilities: [3a0 v1] Data Link Feature <?>
        Capabilities: [3b0 v1] Physical Layer 16.0 GT/s <?>
        Capabilities: [400 v1] Lane Margining at the Receiver <?>
        Capabilities: [460 v1] Extended Capability ID 0x2a
        Capabilities: [600 v1] Vendor Specific Information: ID=0020 Rev=0 Len=010 <?>
        Kernel driver in use: ami
        Kernel modules: ami

af:00.1 Processing accelerators: Xilinx Corporation Device 50b5
        Subsystem: Xilinx Corporation Device 000e
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        NUMA node: 1
        Region 0: Memory at 39bff0000000 (64-bit, prefetchable) [size=512K]
        Capabilities: [40] Power Management version 3
                Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0+,D1+,D2-,D3hot+,D3cold+)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [60] MSI-X: Enable- Count=9 Masked-
                Vector table: BAR=0 offset=00050000
                PBA: BAR=0 offset=00054000
        Capabilities: [70] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
                        ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 75.000W
                DevCtl: CorrErr- NonFatalErr+ FatalErr+ UnsupReq+
                        RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
                        MaxPayload 256 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr- TransPend-
                LnkCap: Port #0, Speed 32GT/s, Width x8, ASPM not supported
                        ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 8GT/s (downgraded), Width x8 (ok)
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Range BC, TimeoutDis+ NROPrPrP- LTR+
                         10BitTagComp+ 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
                         EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
                         FRS- TPHComp- ExtTPHComp-
                         AtomicOpsCap: 32bit+ 64bit+ 128bitCAS+
                DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis- LTR- OBFF Disabled,
                         AtomicOpsCtl: ReqEn-
                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-
                         EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
                         Retimer- 2Retimers- CrosslinkRes: unsupported
        Capabilities: [100 v1] Advanced Error Reporting
                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt+ RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UESvrt: DLP+ SDES+ TLP+ FCP+ CmpltTO+ CmpltAbrt+ UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
                CEMsk:  RxErr+ BadTLP+ BadDLLP+ Rollover+ Timeout+ AdvNonFatalErr+
                AERCap: First Error Pointer: 00, ECRCGenCap- ECRCGenEn- ECRCChkCap- ECRCChkEn-
                        MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
                HeaderLog: 00000000 00000000 00000000 00000000
        Capabilities: [188 v1] Alternative Routing-ID Interpretation (ARI)
                ARICap: MFVC- ACS-, Next Function: 2
                ARICtl: MFVC- ACS-, Function Group: 0
        Kernel driver in use: slash_qdma
        Kernel modules: ami

af:00.2 Processing accelerators [1280]: Xilinx Corporation Device 50b6
        Subsystem: Xilinx Corporation Device 000e
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        NUMA node: 1
        Region 0: Memory at c8000000 (64-bit, non-prefetchable) [size=128M]
        Region 2: Memory at d0000000 (64-bit, non-prefetchable) [size=128M]
        Region 4: Memory at d8000000 (64-bit, non-prefetchable) [size=512K]
        Capabilities: [40] Power Management version 3
                Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0+,D1+,D2-,D3hot+,D3cold+)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [60] MSI-X: Enable- Count=8 Masked-
                Vector table: BAR=0 offset=00000040
                PBA: BAR=0 offset=00000050
        Capabilities: [70] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
                        ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 75.000W
                DevCtl: CorrErr- NonFatalErr+ FatalErr+ UnsupReq+
                        RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
                        MaxPayload 256 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr- TransPend-
                LnkCap: Port #0, Speed 32GT/s, Width x8, ASPM not supported
                        ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 8GT/s (downgraded), Width x8 (ok)
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Range BC, TimeoutDis+ NROPrPrP- LTR+
                         10BitTagComp+ 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
                         EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
                         FRS- TPHComp- ExtTPHComp-
                         AtomicOpsCap: 32bit+ 64bit+ 128bitCAS+
                DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis- LTR- OBFF Disabled,
                         AtomicOpsCtl: ReqEn-
                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-
                         EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
                         Retimer- 2Retimers- CrosslinkRes: unsupported
        Capabilities: [100 v1] Advanced Error Reporting
                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt+ RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UESvrt: DLP+ SDES+ TLP+ FCP+ CmpltTO+ CmpltAbrt+ UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
                CEMsk:  RxErr+ BadTLP+ BadDLLP+ Rollover+ Timeout+ AdvNonFatalErr+
                AERCap: First Error Pointer: 00, ECRCGenCap- ECRCGenEn- ECRCChkCap- ECRCChkEn-
                        MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
                HeaderLog: 00000000 00000000 00000000 00000000
        Capabilities: [188 v1] Alternative Routing-ID Interpretation (ARI)
                ARICap: MFVC- ACS-, Next Function: 0
                ARICtl: MFVC- ACS-, Function Group: 0
        Kernel driver in use: slash_ctl
        Kernel modules: ami

@hpc-aulmamei
Copy link
Copy Markdown
Collaborator

Looks like the firmware wasn't built properly, or it's missing from the design. What image did you use for flashing the OSPI?

@merkelmarrow
Copy link
Copy Markdown
Author

Looks like the firmware wasn't built properly, or it's missing from the design. What image did you use for flashing the OSPI?

I believe it was linker/src/install.prj/AVED/hw/amd_v80_gen5x8_25.1/amd_v80_gen5x8_25.1.pdi

The command I ran was something like

sudo ami_tool cfgmem_program -d af:00.0 -t primary -p 0 \
  -i <local_path>/SLASH/linker/src/install.prj/AVED/hw/amd_v80_gen5x8_25.1/amd_v80_gen5x8_25.1.pdi

At this point I already had AVED programmed via JTAG and ami_tool could find AMC

@hpc-aulmamei
Copy link
Copy Markdown
Collaborator

That looks good. Did you reboot the machine after programming?

@merkelmarrow
Copy link
Copy Markdown
Author

That looks good. Did you reboot the machine after programming?

Yes, this was last week at some point. I'll look through the build log to see if I can find anything relevant.

@merkelmarrow merkelmarrow marked this pull request as draft April 8, 2026 12:29
@merkelmarrow
Copy link
Copy Markdown
Author

@hpc-aulmamei What was the reasoning behind removing SMBus? Is it a licensing thing?

@hpc-aulmamei
Copy link
Copy Markdown
Collaborator

@merkelmarrow yes, the smbus IP is not available to the public. It can be obtained from here. It should be added to linker/resources/base/iprepo/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants