Index: dev/pci/pcidevs =================================================================== RCS file: /cvs/src/sys/dev/pci/pcidevs,v retrieving revision 1.1881 diff -u -p -r1.1881 pcidevs --- dev/pci/pcidevs 20 Mar 2019 10:51:25 -0000 1.1881 +++ dev/pci/pcidevs 29 Mar 2019 07:57:20 -0000 @@ -4467,6 +4467,7 @@ product INTEL WL_3165_1 0x3165 Dual Ban product INTEL WL_3165_2 0x3166 Dual Band Wireless AC 3165 product INTEL GLK_UHD_605 0x3184 UHD Graphics 605 product INTEL GLK_UHD_600 0x3185 UHD Graphics 600 +product INTEL GLK_EMMC 0x31cc Gemini Lake eMMC product INTEL 31244 0x3200 31244 SATA product INTEL 82855PM_HB 0x3340 82855PM Host product INTEL 82855PM_AGP 0x3341 82855PM AGP Index: dev/pci/sdhc_pci.c =================================================================== RCS file: /cvs/src/sys/dev/pci/sdhc_pci.c,v retrieving revision 1.20 diff -u -p -r1.20 sdhc_pci.c --- dev/pci/sdhc_pci.c 30 Apr 2016 11:32:23 -0000 1.20 +++ dev/pci/sdhc_pci.c 29 Mar 2019 07:57:20 -0000 @@ -127,6 +127,12 @@ sdhc_pci_attach(struct device *parent, s PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_ENE_SDCARD) sc->sc.sc_flags |= SDHC_F_NOPWR0;
+ /* Some Intel controllers break if set to 0V bus power. */ + if (PCI_VENDOR(pa->pa_id) == PCI_VENDOR_INTEL && + (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_INTEL_APOLLOLAKE_EMMC || + PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_INTEL_GLK_EMMC)) + sc->sc.sc_flags |= SDHC_F_NOPWR0; + /* Some RICOH controllers need to be bumped into the right mode. */ if (PCI_VENDOR(pa->pa_id) == PCI_VENDOR_RICOH && (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_RICOH_R5U822 ||