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)
Sun, Aug 23, 9:06 AM
Unknown Object (File)
Sat, Aug 22, 3:10 AM
Unknown Object (File)
Fri, Aug 21, 9:25 PM
Unknown Object (File)
Thu, Aug 13, 6:35 PM
Unknown Object (File)
Thu, Aug 13, 2:19 PM
Unknown Object (File)
Mon, Aug 10, 5:32 PM
Unknown Object (File)
Sat, Aug 8, 7:48 PM
Unknown Object (File)
Sat, Aug 8, 1:54 PM
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 Not Applicable
Unit
Tests Not Applicable

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.Wed, Jul 29, 7:18 PM