Skip to content

[eve-kernel-arm64-v6.1.155-generic]: Update driver and options for Raspberry Pi 5#250

Merged
rucoder merged 2 commits into
lf-edge:eve-kernel-arm64-v6.1.155-genericfrom
rene:rpi5-fix
Jun 25, 2026
Merged

[eve-kernel-arm64-v6.1.155-generic]: Update driver and options for Raspberry Pi 5#250
rucoder merged 2 commits into
lf-edge:eve-kernel-arm64-v6.1.155-genericfrom
rene:rpi5-fix

Conversation

@rene

@rene rene commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

We are going to update the Raspberry Pi firmware on EVE. This PR provide some changes required to provide the following support on Raspberry Pi 5:

  1. USB
  2. Ethernet
  3. PCIe
  4. SPI
  5. TPM

rene and others added 2 commits June 24, 2026 10:46
…binding

Raspberry Pi 5 booted with no ethernet and no USB. The boot log showed
the PCIe root complex that RP1 hangs off failing at probe:

  brcm-pcie 1000120000.pcie: Unable to find MSI PCI address
  brcm-pcie: probe of 1000120000.pcie failed with error -22

The firmware-provided device tree uses the upstreamed MIP MSI-X binding
("brcm,bcm2712-mip") which differs from the older downstream binding
("brcm,bcm2712-mip-intc") that these 6.1 drivers were written against:

  - MIP compatible is "brcm,bcm2712-mip" (no "interrupt-controller"
    property, only "msi-controller"), so of_irq_init()/IRQCHIP_DECLARE
    never matches the node.
  - The GIC SPI base/count come from the "msi-ranges" property instead
    of brcm,msi-base-spi / brcm,msi-num-spis.
  - The MSI doorbell address is the second reg region instead of the
    brcm,msi-pci-addr property.

Adapt both drivers to accept either binding (keeping backward
compatibility with the in-tree device tree):

  - irq-bcm2712-mip: parse msi-ranges and reg[1] as fallbacks, and
    register a platform driver (IRQCHIP_PLATFORM_DRIVER) for
    "brcm,bcm2712-mip" since the node is populated as a platform device
    rather than picked up by of_irq_init().
  - pcie-brcmstb: when brcm,msi-pci-addr is absent, take the MSI PCI
    (doorbell) address from reg[1] and the MIP register base from reg[0],
    reading the raw untranslated reg cells.

Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Enable SPI support for Raspberry Pi 5 (driven by the RP1 chip). This is needed
specially for TPMs connected through the SPI bus.

Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
@rene
rene requested review from eriknordmark and rucoder June 24, 2026 16:02

@rucoder rucoder left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@rucoder
rucoder merged commit f68bd17 into lf-edge:eve-kernel-arm64-v6.1.155-generic Jun 25, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants