Issues with AMD Genoa/Bergamo PCIe Bridge
Jonas Licht
jonas.licht at gmail.com
Fri Apr 11 16:08:15 CEST 2025
Hi,
I do have the issue that my u-boot is not finding my sata hard disk.
I'm using a supermicro H13SSW server with an efi payload64, with the defconfig +
CONFIG_DM_PCI_COMPAT=y
CONFIG_PCI_REGION_MULTI_ENTRY=y
CONFIG_PCI_ARID=y
CONFIG_PCIE_ECAM_GENERIC=y
It looks like while probing the pci bus, u-boot don't see the sata controller.
The pci tree in linux is show as the following:
lspci -t
-+-[0000:00]-+-00.0
| +-00.2
| +-00.3
| +-01.0
| +-02.0
| +-03.0
| +-03.1-[01-02]--
| +-03.2-[03-04]--
| +-03.3-[05-06]--
| +-03.4-[07-08]--
| +-04.0
| +-05.0
| +-07.0
| +-07.1-[09]--+-00.0
| | +-00.1
| | +-00.4
| | \-00.5
| +-07.2-[0a]--+-00.0
| | \-00.1
| +-14.0
| +-14.3
| +-18.0
| +-18.1
| +-18.2
| +-18.3
| +-18.4
| +-18.5
| +-18.6
| \-18.7
+-[0000:40]-+-00.0
| +-00.2
| +-00.3
| +-01.0
| +-01.1-[41]--+-00.0
| | \-00.1
| +-02.0
| +-03.0
| +-04.0
| +-05.0
| +-07.0
| \-07.1-[42]--+-00.0
| \-00.1
+-[0000:80]-+-00.0
| +-00.2
| +-00.3
| +-01.0
| +-01.1-[81]--+-00.0
| | \-00.1
| +-02.0
| +-03.0
| +-03.1-[82-83]--
| +-03.2-[84-85]--
| +-03.3-[86-87]--
| +-03.4-[88-89]--
| +-04.0
| +-05.0
| +-07.0
| \-07.1-[8a]--+-00.0
| \-00.1
\-[0000:c0]-+-00.0
+-00.2
+-00.3
+-01.0
+-02.0
+-03.0
+-03.1-[c1-c2]--
+-03.2-[c3-c4]--
+-03.3-[c5-c6]--
+-03.4-[c7-c8]--
+-04.0
+-05.0
+-05.1-[c9]----00.0
+-05.3-[ca-cb]----00.0-[cb]----00.0
+-07.0
+-07.1-[cc]--+-00.0
| +-00.1
| \-00.4
\-07.2-[cd]--+-00.0
\-00.1
And the SATA controllers are under addresses:
lspci | grep SATA
0a:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA
Controller [AHCI mode] (rev 91)
0a:00.1 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA
Controller [AHCI mode] (rev 91)
cd:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA
Controller [AHCI mode] (rev 91)
cd:00.1 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA
Controller [AHCI mode] (rev 91)
In u-boot running the command pci, only gives me this:
pci *
BusDevFun VendorId DeviceId Device Class Sub-Class
_____________________________________________________________
00.00.00 0x1022 0x14a4 Bridge device 0x00
00.00.02 0x1022 0x149e Base system peripheral 0x06
00.00.03 0x1022 0x14a6 Base system peripheral 0x07
00.01.00 0x1022 0x149f Bridge device 0x00
00.02.00 0x1022 0x149f Bridge device 0x00
00.03.00 0x1022 0x149f Bridge device 0x00
00.03.01 0x1022 0x14a5 Bridge device 0x04
00.03.02 0x1022 0x14a5 Bridge device 0x04
00.03.03 0x1022 0x14a5 Bridge device 0x04
00.03.04 0x1022 0x14a5 Bridge device 0x04
00.04.00 0x1022 0x149f Bridge device 0x00
00.05.00 0x1022 0x149f Bridge device 0x00
00.07.00 0x1022 0x149f Bridge device 0x00
00.07.01 0x1022 0x14a7 Bridge device 0x04
00.07.02 0x1022 0x14a7 Bridge device 0x04
00.14.00 0x1022 0x790b Serial bus controller 0x05
00.14.03 0x1022 0x790e Bridge device 0x01
00.18.00 0x1022 0x14ad Bridge device 0x00
00.18.01 0x1022 0x14ae Bridge device 0x00
00.18.02 0x1022 0x14af Bridge device 0x00
00.18.03 0x1022 0x14b0 Bridge device 0x00
00.18.04 0x1022 0x14b1 Bridge device 0x00
00.18.05 0x1022 0x14b2 Bridge device 0x00
00.18.06 0x1022 0x14b3 Bridge device 0x00
00.18.07 0x1022 0x14b4 Bridge device 0x00
After I enabled some logging, I can see u-boot is scanning a Bus
behind 00.07.02 but don't found any devices:
pci_uclass_pre_probe, bus=-1/pci_0:7.2, parent=pci
rivers/pci/pci-uclass.c:1150-pci_uclass_post_probe()
pci_uclass_post_probe: probing bus 6
drivers/pci/pci-uclass.c:887-pci_bind_bus_devices()
pci_bus_read_config: ret=0, vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0,
vendor=65535pci_bus_read_config: ret=0, vendor=65535
Does anybody have an idea what I'm doing wrong or what I can do to get
the other pci devices?
Thanks in advance,
Jonas
More information about the U-Boot
mailing list