Re: [PATCH] ARM: dts: BCM5301X: drop extra AXI bus ranges that break PCIe
"Arnd Bergmann" <[email protected]> Wed, 29 Jul 2026 17:40:32 +0200
| Newsgroups | dev.linux.lists.sashiko-reviews,org.kernel.vger.linux-devicetree |
|---|---|
| Message-ID | <[email protected]> |
I saw this in the fixes pull request, and the descriptions below don't make much sense to me. I'll hold off on the pull request until someone can come up with a fix that they can accurately describe. On Sat, Jul 4, 2026, at 00:17, Rosen Penev wrote: > On Sun, Jun 28, 2026 at 4:27 PM <[email protected]> wrote: >> >> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: >> - [High] Removing the PCI memory ranges from the parent `axi@18000000` bus breaks outbound PCIe memory mapping because the child `pcie` nodes can no longer translate their addresses to CPU physical addresses. This makes sense to me, but doesn't explain what caused the observed bug >> commit 4f061464281d4964ce46dab60d36a09328f14862 >> Author: Rosen Penev <[email protected]> >> >> ARM: dts: BCM5301X: drop extra AXI bus ranges that break PCIe >> >> This commit removes extra AXI bus ranges that overlap with DRAM on >> BCM5301X/BCM470X SoCs. The intention is to restore the original >> single-entry mapping and fix PCIe routing issues. The DRAM ranges on this chip are at 0x00000000 and 0x88000000 and don't overlap with the axi bus ranges at 0x18000000/0x08000000/0x20000000/0x28000000, so the initial analysis is wrong. > With need_ob_cfg = false (no brcm,pcie-ob in bcm-ns.dtsi), > iproc_pcie_map_ranges() is never called. The bootloader has already > configured the PCIe controller's outbound windows correctly. By > removing the extra AXI bus ranges, of_translate_address() fails, those > bogus resources are skipped (the OF_BAD_ADDR check at > drivers/pci/of.c:377), and the kernel stops registering DRAM addresses > as PCI MMIO windows. The hardware continues working with its > pre-configured outbound windows. This sounds like the bootloader configured ranges don't match the ones in the devicetree description, which would leave three options: - change the bootloader to match the dts - change the dts to match the bootloader - change the driver to reconfigure the windows according to DT Can you check how the OB windows are actually configured by the bootloader on your board? Arnd