Re: [PATCH 0/3] mmc: Lenovo N22 Braswell SD slot fixes

Andy Shevchenko
2026-03-20T17:49:55Z

+Cc: Hans on FYI basis, but your ideas, comments, et cetera are welcome!

On Mon, Mar 16, 2026 at 04:23:22PM -0500, Nelson Johnson wrote:
> This series fixes the long-broken SD slot on the Lenovo N22
> (Model 80S6 / MTM 80S60001US) with Intel Celeron N3050 Braswell
> hardware running Debian 13 and Linux 6.19.6.
>
> The regression goes back to kernel 4.14. The Braswell SD controller
> (PCI ID 8086:2296) is exposed by firmware through both PCI
> 0000:00:12.0 and ACPI INT33BB:00 at \_SB_.PCI0.SDHB.
>
> On this machine the newer runtime PM and card-detect handling no
> longer works reliably, and the ACPI path permanently defers because
> its dependency never becomes available. That leaves the slot unusable
> unless the controller is forced back onto the working PCI path with
> machine-specific quirks.
>
> This series does three things, all scoped to the Lenovo N22 DMI
> match:
>
> 1. Disable the aggressive runtime PM/card-detect wake path for the
> Braswell PCI SD controller.
> 2. Bypass the broken firmware card-detect GPIO path and use polling
> for card insertion detection.
> 3. Prevent the competing ACPI INT33BB:00 node from binding on this
> machine so the PCI SDHCI driver can own the controller.
>
> With these changes applied, the SD slot binds through sdhci-pci and
> detects and mounts SD cards again on the Lenovo N22.

> Tested on:
> Lenovo N22 Model 80S6 / MTM 80S60001US
> Intel Celeron N3050 (Braswell)
> Debian 13
> Linux 6.19.6

--
With Best Regards,
Andy Shevchenko