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 ||

Reply via email to