Page MenuHomeFreeBSD

sdhci: don't infer a non-removable slot on Apollo Lake SDXC
ClosedPublic

Authored by seuros on Jul 26 2026, 10:12 AM.
Referenced Files
Unknown Object (File)
Sat, Sep 19, 11:44 AM
Unknown Object (File)
Thu, Sep 17, 9:25 PM
Unknown Object (File)
Sat, Sep 12, 12:20 PM
Unknown Object (File)
Thu, Sep 10, 4:14 AM
Unknown Object (File)
Tue, Sep 8, 12:22 AM
Unknown Object (File)
Mon, Sep 7, 11:57 PM
Unknown Object (File)
Sun, Sep 6, 10:51 AM
Unknown Object (File)
Sat, Sep 5, 1:00 AM
Subscribers
None

Details

Summary

Intel Apollo Lake SDXC controller reports a Slot Type of
"Embedded Slot for One Device" in SDHCI_CAPABILITIES bits, even
when the slot is a removable card reader.
This caused 48 timeouts before the boot sequence resumed.

Test Plan

Note: Bay Trail and Braswell SDXC controllers are probably affected by the same quirk.

But i will add them in another diff once i test it on the hardware.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 75142
Build 72025: arc lint + arc unit

Event Timeline

seuros created this revision.
seuros edited the test plan for this revision. (Show Details)

do you have a dmesg showing it?

i wonder if someone make an apollo lake setup w/ root storage on this sdxc controller but with permanent storage..

sdhci_pci0-slot0: Bus power failed to enable

...
sdhci_pci0-slot0: Controller timeout
sdhci_pci0-slot0: ============== REGISTER DUMP ==============
sdhci_pci0-slot0: Sys addr: 0x00000000 | Version:  0x00001002
sdhci_pci0-slot0: Blk size: 0x00000000 | Blk cnt:  0x00000000
sdhci_pci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000000
sdhci_pci0-slot0: Present:  0x01fa0001 | Host ctl: 0x00000001
sdhci_pci0-slot0: Power:    0x0000000e | Blk gap:  0x00000080
sdhci_pci0-slot0: Wake-up:  0x00000000 | Clock:    0x0000fa07
sdhci_pci0-slot0: Timeout:  0x00000000 | Int stat: 0x00000000
sdhci_pci0-slot0: Int enab: 0x01ff003b | Sig enab: 0x01ff003b
sdhci_pci0-slot0: AC12 err: 0x00000000 | Host ctl2:0x00000000
sdhci_pci0-slot0: Caps:     0x7568c881 | Caps2:    0x00002807
sdhci_pci0-slot0: Max curr: 0x00000000 | ADMA err: 0x00000000
sdhci_pci0-slot0: ADMA addr:0x00000000 | Slot int: 0x00000000
sdhci_pci0-slot0: ===========================================
      [x48]
mmc0: No compatible cards found on bus

ok, lemme poke warner about it. That's pretty stupid behaviour, you're right :-)

This revision is now accepted and ready to land.Jul 29 2026, 7:18 PM