pci_id: add Intel Merrifield mmc pci id
PATCH 1/2 pci_id: add Intel Merrifield mmc pci id
Signed-off-by David Cohen <[email protected]>
--- include/linux/pci_ids.h | 1 + 1 file changed, 1 insertion(+)
include/linux/pci_ids.h +1 -0
@@ -2551,6 +2551,7 @@#define PCI_DEVICE_ID_INTEL_MFD_EMMC0 0x0823#define PCI_DEVICE_ID_INTEL_MFD_EMMC1 0x0824#define PCI_DEVICE_ID_INTEL_MRST_SD2 0x084F +#define PCI_DEVICE_ID_INTEL_MRFL_MMC 0x1190#define PCI_DEVICE_ID_INTEL_I960 0x0960#define PCI_DEVICE_ID_INTEL_I960RM 0x0962#define PCI_DEVICE_ID_INTEL_CENTERTON_ILB 0x0c60
Signature · 1 line
1.8.4.rc3
PATCH 2/2 mmc: sdhci-pci: add Intel Merrifield support
Implement initial SDHCI Intel Merrifield support.
This patch is based on previous one from Yunpeng Gao <[email protected]>
Signed-off-by David Cohen <[email protected]>
--- drivers/mmc/host/sdhci-pci.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+)
drivers/mmc/host/sdhci-pci.c +29 -0
@@ -356,6 +356,28 @@ static const struct sdhci_pci_fixes sdhci_intel_byt_sd = { .allow_runtime_pm = true, }; +/* Define Host controllers for Intel Merrifield platform */ +#define INTEL_MRFL_EMMC_0 0 +#define INTEL_MRFL_EMMC_1 1 + +static int intel_mrfl_mmc_probe_slot (struct sdhci_pci_slot *slot) +{ +if ((PCI_FUNC (slot->chip->pdev->devfn) !=INTEL_MRFL_EMMC_0 ) && + (PCI_FUNC (slot->chip->pdev->devfn) !=INTEL_MRFL_EMMC_1 )) +/* SD support is not ready yet */ +return -ENODEV ; + + slot->host->mmc->caps |=MMC_CAP_8_BIT_DATA |MMC_CAP_NONREMOVABLE | +MMC_CAP_1_8V_DDR ; + +return 0 ; +} + +static const struct sdhci_pci_fixes sdhci_intel_mrfl_mmc = { + .quirks =SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC , + .probe_slot = intel_mrfl_mmc_probe_slot, +}; +/* O2Micro extra registers */ #define O2_SD_LOCK_WP 0xD3#define O2_SD_MULTI_VCC3V 0xEE
@@ -940,6 +962,13 @@ static const struct pci_device_id pci_ids[] = { }, { + .vendor = PCI_VENDOR_ID_INTEL, + .device = PCI_DEVICE_ID_INTEL_MRFL_MMC, + .subvendor = PCI_ANY_ID, + .subdevice = PCI_ANY_ID, + .driver_data = (kernel_ulong_t)&sdhci_intel_mrfl_mmc, + }, + { .vendor = PCI_VENDOR_ID_O2, .device = PCI_DEVICE_ID_O2_8120, .subvendor = PCI_ANY_ID,
Signature · 1 line
1.8.4.rc3
Quoted 10 lines · David Cohen
Signed-off-by David Cohen <[email protected]>--- include/linux/pci_ids.h | 1 + 1 file changed, 1 insertion(+)include/linux/pci_ids.h +0
-0
include/linux/pci_ids.h line 2554
Quoted 4 lines
include/linux/pci_ids.h +1
-0@@ -2551,6 +2551,7 @@#define PCI_DEVICE_ID_INTEL_MFD_EMMC0 0x0823#define PCI_DEVICE_ID_INTEL_MFD_EMMC1 0x0824#define PCI_DEVICE_ID_INTEL_MRST_SD2 0x084F +#define PCI_DEVICE_ID_INTEL_MRFL_MMC 0x1190
Please read the top of this file for why you shouldn't be adding new device ids to it.
thanks,
greg k-h
Quoted 6 lines · Greg KH
Quoted 5 lines · David Cohen
Signed-off-by David Cohen <[email protected]>--- include/linux/pci_ids.h | 1 + 1 file changed, 1 insertion(+)
Quoted 12 lines
include/linux/pci_ids.h line 2554
Quoted 9 lines
include/linux/pci_ids.h +1
-0@@ -2551,6 +2551,7 @@#define PCI_DEVICE_ID_INTEL_MFD_EMMC0 0x0823#define PCI_DEVICE_ID_INTEL_MFD_EMMC1 0x0824#define PCI_DEVICE_ID_INTEL_MRST_SD2 0x084F +#define PCI_DEVICE_ID_INTEL_MRFL_MMC 0x1190Please read the top of this file for why you shouldn't be adding new device ids to it.
Thanks for the reply. I am sending new patch.
Br, David
Quoted 5 lines
thanks,
greg k-h