<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/drivers/pci, branch v2026.07</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/drivers/pci?h=v2026.07</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/drivers/pci?h=v2026.07'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2026-06-04T09:50:04Z</updated>
<entry>
<title>pci: brcmstb: Adapt to AXI bridge</title>
<updated>2026-06-04T09:50:04Z</updated>
<author>
<name>Torsten Duwe</name>
<email>duwe@suse.de</email>
</author>
<published>2026-06-01T10:39:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=de9ea19cf77817c6de2b74d26cfc18d648f88e03'/>
<id>urn:sha1:de9ea19cf77817c6de2b74d26cfc18d648f88e03</id>
<content type='text'>
Fix-ups for the BCM root complex when it is located behind an AXI
bridge and clocked with 54MHz.  Some are from kernel commit
377bced88c326, some where picked by Oleksii off a now-stale older
branch. All reworked for the simpler setup code in U-Boot.

Signed-off-by: Torsten Duwe &lt;duwe@suse.de&gt;
Co-authored-by: Oleksii Moisieiev &lt;oleksii_moisieiev@epam.com&gt;
Tested-by: Pedro Falcato &lt;pfalcato@suse.de&gt;
Reviewed-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt;
</content>
</entry>
<entry>
<title>pci: brcmstb: rework iBAR handling</title>
<updated>2026-06-04T09:50:04Z</updated>
<author>
<name>Torsten Duwe</name>
<email>duwe@suse.de</email>
</author>
<published>2026-06-01T10:39:36Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=585d6cfd9b6b886ddfde9b66c9399eadb5086936'/>
<id>urn:sha1:585d6cfd9b6b886ddfde9b66c9399eadb5086936</id>
<content type='text'>
Rework the setup of inbound PCIe windows: use the convenience functions
from Linux kernel commit ae6476c6de187 to calculate the BAR offsets and
factor out the setup code into a separate function.

The Linux kernel first allocates and populates an array of inbound_win[]
and sets the BARs from it later, while U-Boot does it all on the fly,
in one go, so the code is not 1:1 comparable.

Signed-off-by: Torsten Duwe &lt;duwe@suse.de&gt;
Tested-by: Pedro Falcato &lt;pfalcato@suse.de&gt;
Reviewed-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt;
</content>
</entry>
<entry>
<title>pci: brcmstb: Fix iBAR size calculation</title>
<updated>2026-06-04T09:50:04Z</updated>
<author>
<name>Torsten Duwe</name>
<email>duwe@suse.de</email>
</author>
<published>2026-06-01T10:39:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=df883ec51b5b602b68a517bc513eaba3b115d890'/>
<id>urn:sha1:df883ec51b5b602b68a517bc513eaba3b115d890</id>
<content type='text'>
Fix inbound window size calculation, like Linux commit 25a98c7270156.

Signed-off-by: Torsten Duwe &lt;duwe@suse.de&gt;
Tested-by: Pedro Falcato &lt;pfalcato@suse.de&gt;
Reviewed-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt;
</content>
</entry>
<entry>
<title>pci: brcmstb: Get and use bridge and rescal reset properties</title>
<updated>2026-06-04T09:50:04Z</updated>
<author>
<name>Torsten Duwe</name>
<email>duwe@suse.de</email>
</author>
<published>2026-06-01T10:39:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b6f853f1cc5ce3f7bc2da2a6df421c300858ea8a'/>
<id>urn:sha1:b6f853f1cc5ce3f7bc2da2a6df421c300858ea8a</id>
<content type='text'>
Check whether the device tree has nodes for the two reset controls and use
them if so.

Signed-off-by: Torsten Duwe &lt;duwe@suse.de&gt;
Co-authored-by: Oleksii Moisieiev &lt;oleksii_moisieiev@epam.com&gt;
Tested-by: Pedro Falcato &lt;pfalcato@suse.de&gt;
Reviewed-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt;
</content>
</entry>
<entry>
<title>pci: brcmstb: Support different variants using a cfg struct</title>
<updated>2026-06-04T09:50:04Z</updated>
<author>
<name>Torsten Duwe</name>
<email>duwe@suse.de</email>
</author>
<published>2026-06-01T10:39:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=d0b2a1cb3f33b63c316ad30aa9fda8ff02a6b01b'/>
<id>urn:sha1:d0b2a1cb3f33b63c316ad30aa9fda8ff02a6b01b</id>
<content type='text'>
The Linux kernel driver already had support for multiple hardware
variants when the bcm2712 was added (see e.g. linux commit
10dbedad3c818 which is the last in a longer set of changes). This
patch brings in this required infrastructure and adds a
differentiation between 2711 and 2712 register layouts on top.

Signed-off-by: Torsten Duwe &lt;duwe@suse.de&gt;
Co-authored-by: Oleksii Moisieiev &lt;oleksii_moisieiev@epam.com&gt;
Tested-by: Pedro Falcato &lt;pfalcato@suse.de&gt;
Reviewed-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt;
</content>
</entry>
<entry>
<title>pci: brcmstb: Fix PCIe bus numbers</title>
<updated>2026-06-04T09:50:04Z</updated>
<author>
<name>Andrea della Porta</name>
<email>andrea.porta@suse.com</email>
</author>
<published>2026-06-01T10:39:23Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b24c620e5e129277d50cceac2d758e8c5bf53293'/>
<id>urn:sha1:b24c620e5e129277d50cceac2d758e8c5bf53293</id>
<content type='text'>
The linux kernel assigns a new domain for every Root Complex where bus
numbering starts from 0 for each domain. U-Boot does not have domains
and uses a flattened bus numbering scheme instead. This means that any
device or bridge on the second enumerated RC will receive a bus number
equal to the last assigned one +1. This bus number contributes to the
address written into the index register, which will select the
configuration space to be read. Compensate for this contribution by
subtracting the base bus number.

Signed-off-by: Andrea della Porta &lt;andrea.porta@suse.com&gt;
Signed-off-by: Torsten Duwe &lt;duwe@suse.de&gt;
Tested-by: Pedro Falcato &lt;pfalcato@suse.de&gt;
Reviewed-by: Peter Robinson &lt;pbrobinson@gmail.com&gt;
</content>
</entry>
<entry>
<title>pci: correct PCI device enumeration to include all functions on device 0</title>
<updated>2026-04-27T17:11:08Z</updated>
<author>
<name>Maximilian Brune</name>
<email>maximilian.brune@9elements.com</email>
</author>
<published>2026-04-22T12:57:53Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=6ab5b5d2804b00d3253d09c6d8f829d918d2ed1c'/>
<id>urn:sha1:6ab5b5d2804b00d3253d09c6d8f829d918d2ed1c</id>
<content type='text'>
Currently the implementation does not just skip all devices beside
device 0, it also skips all functions (besides 0) on device 0. This
broke basically all AMD platforms, since they have a lot of internal SOC
devices behind these functions.

This was detected, because the XHCI controller and therefore the USB
devices were not found by u-boot on AMD/crater platform.

PCI_MASK_BUS() returns both device and function bits, so it skips any
bdf where either device &gt; 0 or function &gt; 0. Using PCI_DEV() extracts
only the device number, matching the intent in only_one_child().
It therefore now checks all functions on device 0 (Linux does the same).

I build tested u-boot as coreboot payload and run it on a recent x86 AMD
platform. Devices like the XHCI controller are now found again.

Fixes: fbde868ba4aa ("pci: skip unnecessary PCIe scanning")
Signed-off-by: Maximilian Brune &lt;maximilian.brune@9elements.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
CC: Tom Rini &lt;trini@konsulko.com&gt;
CC: Andrew Goodbody &lt;andrew.goodbody@linaro.org&gt;
CC: George McCollister &lt;george.mccollister@konsulko.com&gt;
CC: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>pci: Add AMD Versal2 DW PCIe host controller driver</title>
<updated>2026-04-23T09:49:48Z</updated>
<author>
<name>Pranav Sanwal</name>
<email>pranav.sanwal@amd.com</email>
</author>
<published>2026-03-27T12:10:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=3ac0ecb42f9f59c80e34ed1f4f1e340902501a55'/>
<id>urn:sha1:3ac0ecb42f9f59c80e34ed1f4f1e340902501a55</id>
<content type='text'>
Add support for the DesignWare-based PCIe host controller found in
AMD Versal2 SoCs. This enables PCIe functionality (e.g. NVMe storage)
on boards such as the VEK385.

The driver builds on the existing pcie_dw_common infrastructure and
adds Versal2-specific handling: it maps the SLCR register region to
mask and clear TLP interrupt status bits, parses dbi/config/atu/slcr
register regions from device tree, and supports an optional PERST#
GPIO on child nodes for endpoint reset sequencing. The outbound iATU
is programmed for the non-prefetchable memory window from device tree
ranges.

Signed-off-by: Pranav Sanwal &lt;pranav.sanwal@amd.com&gt;
Link: https://lore.kernel.org/r/20260327121015.996806-2-pranav.sanwal@amd.com
Signed-off-by: Michal Simek &lt;michal.simek@amd.com&gt;
</content>
</entry>
<entry>
<title>pci: imx: Properly support upstream Linux reset-gpios property</title>
<updated>2026-04-02T12:05:06Z</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>krzysztof.kozlowski@oss.qualcomm.com</email>
</author>
<published>2026-03-12T19:26:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=97979e894ba14d67e926322f4f770e3591a3e53c'/>
<id>urn:sha1:97979e894ba14d67e926322f4f770e3591a3e53c</id>
<content type='text'>
The driver requests explicitly "reset-gpio" property, not the one with
"gpios" suffix but upstream Linux kernel deprecated it in 2021.
Existing upstream Linux kernel DTS is being changed to "reset-gpios"
property, thus update the driver to read that one too.

Note that driver is probably broken already, because it parsed GPIO in
standard way respecting the flags and on top of that applied the
"reset-gpio-active-high" flag, thus "reset-gpio ACTIVE_LOW" with the
"reset-gpio-active-high" property would be double inverted.

Signed-off-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@oss.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>pcie: starfive: Add a optional power gpio support</title>
<updated>2026-03-16T17:36:57Z</updated>
<author>
<name>Hal Feng</name>
<email>hal.feng@starfivetech.com</email>
</author>
<published>2025-10-24T08:59:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=a10587939bcc7d9325dbe24cde335a65887f9377'/>
<id>urn:sha1:a10587939bcc7d9325dbe24cde335a65887f9377</id>
<content type='text'>
Get and enable a optional power gpio. This feature is ported
from the jh7110 pcie driver in Linux. VisionFive 2 Lite needs
this gpio to enable the PCI bus device (M.2 M-Key) power.

Signed-off-by: Hal Feng &lt;hal.feng@starfivetech.com&gt;
</content>
</entry>
</feed>
