[SRU][Q:raspi/N:raspi][PATCH 0/1] RP1's sdio controller requires sdhci-of-dwcmshc driver (LP: #2136415)
Juerg Haefliger
juerg.haefliger at canonical.com
Mon Jan 12 11:01:54 UTC 2026
BugLink: https://bugs.launchpad.net/bugs/2136415
[ Impact ]
Summary:
----------------
The kernel config `CONFIG_MMC_SDHCI_OF_DWCMSHC` is not enabled. This is required by the RP1 peripheral controller so that the Raspberry Pi 5 leverages the SDIO bus.
Description:
----------------
The SD card attached to a Raspberry Pi Compute Module 5 via GPIOs 22-27 is not working properly, although the `sdio` / `sdio-pi5` overlay is present. In Raspberry Pi OS, everything works fine. I tried different kernels, distros, and configurations. I found out that the overlay loads, the clocks appear, but no MMC host binds. Finally, I discovered that the driver `CONFIG_MMC_SDHCI_OF_DWCMSHC` is not enabled in the Ubuntu kernel for Raspberry Pi devices, which is necessary for the RP1 SDIO controller.
Evidence:
----------------
The `rp1_mmc0` and `rp1_mmc1` nodes in RP1 dtsi (arch/arm64/boot/dts/broadcom/rp1.dtsi) are compatible with `raspberrypi,rp1-dwcmshc`. This is implemented by the `sdhci-of-dwcmshc` driver (drivers/mmc/host/sdhci-of-dwcmshc.c) and enabled by the kernel config `CONFIG_MMC_SDHCI_OF_DWCMSHC`.
Furthermore, the RP1 datasheet states that the `SDIO controller is a Synopsys MSHC peripheral v1.70a`.
Hardware:
----------------
- Raspberry Pi 5
- Raspberry Pi Compute Module 5
Ubuntu release:
----------------
Description: Ubuntu 24.04.3 LTS
Release: 24.04
Package affected:
----------------
linux-raspi:
Installed: (none)
Candidate: 6.8.0-1043.47
Version table:
6.8.0-1043.47 500
500 http://ports.ubuntu.com/ubuntu-ports noble-updates/main arm64 Packages
500 http://ports.ubuntu.com/ubuntu-ports noble-security/main arm64 Packages
6.8.0-1004.4 500
500 http://ports.ubuntu.com/ubuntu-ports noble/main arm64 Packages
Proposed fix:
----------------
Set the kernel config `CONFIG_MMC_SDHCI_OF_DWCMSHC` to module by default. Patch attached.
Others:
----------------
- https://forums.raspberrypi.com/viewtopic.php?t=392105
[ Fix ]
Remove raspi annotations that disable the option.
[ Test Case ]
Verify module sdhci-of-dwcmshc.ko exists and is functional.
[ Where Problems Could Occur ]
This enables new modules which - as always with kernel - can crash/stall/hang a system when loaded. Should only affect systems that have the HW that needs the new module(s).
Juerg Haefliger (1):
UBUNTU: [Config] raspi: Don't disable MMC_SDHCI_OF_DWCMSHC
debian.raspi/config/annotations | 1 -
1 file changed, 1 deletion(-)
--
2.51.0
More information about the kernel-team
mailing list