mirror of https://gitee.com/openkylin/linux.git
mmc: sdhci-pci: Add PCI ID for Intel NI byt sdio
Add PCI ID for Intel byt sdio host controller sub-vended by NI. The controller has different behavior because of the board layout NI puts it on. Signed-off-by: Zach Brown <zach.brown@ni.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
69be8522a2
commit
42b0649640
|
@ -375,6 +375,13 @@ static int byt_emmc_probe_slot(struct sdhci_pci_slot *slot)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int ni_byt_sdio_probe_slot(struct sdhci_pci_slot *slot)
|
||||||
|
{
|
||||||
|
slot->host->mmc->caps |= MMC_CAP_POWER_OFF_CARD | MMC_CAP_NONREMOVABLE |
|
||||||
|
MMC_CAP_WAIT_WHILE_BUSY;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int byt_sdio_probe_slot(struct sdhci_pci_slot *slot)
|
static int byt_sdio_probe_slot(struct sdhci_pci_slot *slot)
|
||||||
{
|
{
|
||||||
slot->host->mmc->caps |= MMC_CAP_POWER_OFF_CARD | MMC_CAP_NONREMOVABLE |
|
slot->host->mmc->caps |= MMC_CAP_POWER_OFF_CARD | MMC_CAP_NONREMOVABLE |
|
||||||
|
@ -448,6 +455,15 @@ static const struct sdhci_pci_fixes sdhci_intel_byt_emmc = {
|
||||||
.ops = &sdhci_intel_byt_ops,
|
.ops = &sdhci_intel_byt_ops,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct sdhci_pci_fixes sdhci_ni_byt_sdio = {
|
||||||
|
.quirks = SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC,
|
||||||
|
.quirks2 = SDHCI_QUIRK2_HOST_OFF_CARD_ON |
|
||||||
|
SDHCI_QUIRK2_PRESET_VALUE_BROKEN,
|
||||||
|
.allow_runtime_pm = true,
|
||||||
|
.probe_slot = ni_byt_sdio_probe_slot,
|
||||||
|
.ops = &sdhci_intel_byt_ops,
|
||||||
|
};
|
||||||
|
|
||||||
static const struct sdhci_pci_fixes sdhci_intel_byt_sdio = {
|
static const struct sdhci_pci_fixes sdhci_intel_byt_sdio = {
|
||||||
.quirks = SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC,
|
.quirks = SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC,
|
||||||
.quirks2 = SDHCI_QUIRK2_HOST_OFF_CARD_ON |
|
.quirks2 = SDHCI_QUIRK2_HOST_OFF_CARD_ON |
|
||||||
|
@ -1077,6 +1093,14 @@ static const struct pci_device_id pci_ids[] = {
|
||||||
.driver_data = (kernel_ulong_t)&sdhci_intel_byt_emmc,
|
.driver_data = (kernel_ulong_t)&sdhci_intel_byt_emmc,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
.vendor = PCI_VENDOR_ID_INTEL,
|
||||||
|
.device = PCI_DEVICE_ID_INTEL_BYT_SDIO,
|
||||||
|
.subvendor = PCI_VENDOR_ID_NI,
|
||||||
|
.subdevice = 0x7884,
|
||||||
|
.driver_data = (kernel_ulong_t)&sdhci_ni_byt_sdio,
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
.vendor = PCI_VENDOR_ID_INTEL,
|
.vendor = PCI_VENDOR_ID_INTEL,
|
||||||
.device = PCI_DEVICE_ID_INTEL_BYT_SDIO,
|
.device = PCI_DEVICE_ID_INTEL_BYT_SDIO,
|
||||||
|
|
Loading…
Reference in New Issue