Page MenuHomeFreeBSD

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

Authored by guest-seuros on Sun, Jul 26, 10:12 AM.
Referenced Files
F164768289: D58467.id.diff
Mon, Aug 3, 8:45 PM
Unknown Object (File)
Sun, Aug 2, 6:37 PM
Unknown Object (File)
Sun, Aug 2, 5:40 PM
Unknown Object (File)
Sat, Aug 1, 8:37 PM
Unknown Object (File)
Sat, Aug 1, 9:53 AM
Unknown Object (File)
Sat, Aug 1, 8:14 AM
Unknown Object (File)
Sat, Aug 1, 4:06 AM
Unknown Object (File)
Fri, Jul 31, 6:58 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 Not Applicable
Unit
Tests Not Applicable

Event Timeline

guest-seuros created this revision.
guest-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