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