diff options
Diffstat (limited to 'drivers/mmc/host/sdhci-pci.c')
-rw-r--r-- | drivers/mmc/host/sdhci-pci.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci-pci.c b/drivers/mmc/host/sdhci-pci.c index 0955777b6c7e..fdc612120362 100644 --- a/drivers/mmc/host/sdhci-pci.c +++ b/drivers/mmc/host/sdhci-pci.c | |||
@@ -610,6 +610,18 @@ static const struct sdhci_pci_fixes sdhci_via = { | |||
610 | .probe = via_probe, | 610 | .probe = via_probe, |
611 | }; | 611 | }; |
612 | 612 | ||
613 | static int rtsx_probe_slot(struct sdhci_pci_slot *slot) | ||
614 | { | ||
615 | slot->host->mmc->caps2 |= MMC_CAP2_HS200; | ||
616 | return 0; | ||
617 | } | ||
618 | |||
619 | static const struct sdhci_pci_fixes sdhci_rtsx = { | ||
620 | .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN | | ||
621 | SDHCI_QUIRK2_BROKEN_DDR50, | ||
622 | .probe_slot = rtsx_probe_slot, | ||
623 | }; | ||
624 | |||
613 | static const struct pci_device_id pci_ids[] = { | 625 | static const struct pci_device_id pci_ids[] = { |
614 | { | 626 | { |
615 | .vendor = PCI_VENDOR_ID_RICOH, | 627 | .vendor = PCI_VENDOR_ID_RICOH, |
@@ -732,6 +744,14 @@ static const struct pci_device_id pci_ids[] = { | |||
732 | }, | 744 | }, |
733 | 745 | ||
734 | { | 746 | { |
747 | .vendor = PCI_VENDOR_ID_REALTEK, | ||
748 | .device = 0x5250, | ||
749 | .subvendor = PCI_ANY_ID, | ||
750 | .subdevice = PCI_ANY_ID, | ||
751 | .driver_data = (kernel_ulong_t)&sdhci_rtsx, | ||
752 | }, | ||
753 | |||
754 | { | ||
735 | .vendor = PCI_VENDOR_ID_INTEL, | 755 | .vendor = PCI_VENDOR_ID_INTEL, |
736 | .device = PCI_DEVICE_ID_INTEL_MRST_SD0, | 756 | .device = PCI_DEVICE_ID_INTEL_MRST_SD0, |
737 | .subvendor = PCI_ANY_ID, | 757 | .subvendor = PCI_ANY_ID, |