pftf / RPi4

Raspberry Pi 4 UEFI Firmware Images
https://rpi4-uefi.dev
Other
1.2k stars 141 forks source link

PCIe doesn't seem to initialize on Fedora 40 or OpenSUSE Tumbleweed #256

Open BlamKiwi opened 5 months ago

BlamKiwi commented 5 months ago

I've managed to deploy a Raspberry Pi CM4 with Fedora 40 and OpenSUSE Tumbleweed. I can get access to most hardware peripherals I care about, however the PCIe Root Bridge doesn't seem to initialize correctly. The only symptom I get is a message saying the bridge is not in the PCI namespace. Curiously if I set the RAM limit to 3GB, I can't get Fedora to boot at all.

I'm just wondering if anyone's encountered anything similar or if I've overlooked something obvious.

Relevant dmesg output:

Apr 11 06:37:36 rescue kernel: ACPI: Added _OSI(Module Device)
Apr 11 06:37:36 rescue kernel: ACPI: Added _OSI(Processor Device)
Apr 11 06:37:36 rescue kernel: ACPI: Added _OSI(3.0 _SCP Extensions)
Apr 11 06:37:36 rescue kernel: ACPI: Added _OSI(Processor Aggregator Device)
Apr 11 06:37:36 rescue kernel: ACPI: 3 ACPI AML tables successfully acquired and loaded
Apr 11 06:37:36 rescue kernel: ACPI: Interpreter enabled
Apr 11 06:37:36 rescue kernel: ACPI: Using GIC for interrupt routing
Apr 11 06:37:36 rescue kernel: BCM2837:00: ttyAMA0 at MMIO 0xfe201000 (irq = 22, base_baud = 0) is a SBSA
Apr 11 06:37:36 rescue kernel: ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
Apr 11 06:37:36 rescue kernel: acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI EDR HPX-Type3]
Apr 11 06:37:36 rescue kernel: acpi PNP0A08:00: _OSC: platform does not support [PCIeHotplug SHPCHotplug LTR DPC]
Apr 11 06:37:36 rescue kernel: acpi PNP0A08:00: _OSC: OS now controls [PME AER PCIeCapability]
Apr 11 06:37:36 rescue kernel: acpi PNP0A08:00: 0000:[bus 00-ff] ECAM region not found
Apr 11 06:37:36 rescue kernel: acpi PNP0A08:00: Bus 0000:00 not present in PCI namespace

dmesg.log

System Setup:

BlamKiwi commented 4 months ago

So setting otg_mode=1 and enforcing Devicetree works as expected. Unfortunately this disables USB while in the UEFI firmware.