Module Name: src Committed By: jakllsch Date: Wed Feb 2 04:18:14 UTC 2011
Modified Files: src/sys/dev/pci: sdhc_pci.c Log Message: Like some other TI SDHCI parts, PCI_PRODUCT_TI_PCIXX12SD also needs the SD card moved to the SDHCI controller. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/sys/dev/pci/sdhc_pci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pci/sdhc_pci.c diff -u src/sys/dev/pci/sdhc_pci.c:1.3 src/sys/dev/pci/sdhc_pci.c:1.4 --- src/sys/dev/pci/sdhc_pci.c:1.3 Fri Oct 2 04:38:47 2009 +++ src/sys/dev/pci/sdhc_pci.c Wed Feb 2 04:18:14 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: sdhc_pci.c,v 1.3 2009/10/02 04:38:47 uebayasi Exp $ */ +/* $NetBSD: sdhc_pci.c,v 1.4 2011/02/02 04:18:14 jakllsch Exp $ */ /* $OpenBSD: sdhc_pci.c,v 1.7 2007/10/30 18:13:45 chl Exp $ */ /* @@ -18,7 +18,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: sdhc_pci.c,v 1.3 2009/10/02 04:38:47 uebayasi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sdhc_pci.c,v 1.4 2011/02/02 04:18:14 jakllsch Exp $"); #include <sys/param.h> #include <sys/device.h> @@ -89,6 +89,15 @@ }, { + PCI_VENDOR_TI, + PCI_PRODUCT_TI_PCIXX12SD, + 0xffff, + 0xffff, + 3, + SDHC_PCI_QUIRK_TI_HACK + }, + + { PCI_VENDOR_ENE, PCI_PRODUCT_ENE_CB712, 0xffff, @@ -278,11 +287,19 @@ pcitag_t tag; pcireg_t id, reg; - /* Look at func 3 for the flash device */ - tag = pci_make_tag(pc, pa->pa_bus, pa->pa_device, 3); + /* Look at func - 1 for the flash device */ + tag = pci_make_tag(pc, pa->pa_bus, pa->pa_device, pa->pa_function - 1); id = pci_conf_read(pc, tag, PCI_ID_REG); - if (PCI_PRODUCT(id) != PCI_PRODUCT_TI_PCI72111FM) + if (PCI_VENDOR(id) != PCI_VENDOR_TI) { return; + } + switch (PCI_PRODUCT(id)) { + case PCI_PRODUCT_TI_PCI72111FM: + case PCI_PRODUCT_TI_PCIXX12FM: + break; + default: + return; + } /* * Disable MMC/SD on the flash media controller so the