| /* |
| * SDHCI platform data initilisation file |
| * |
| * (C) Copyright 2016 Intel Corporation |
| * Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
| * |
| * This program is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU General Public License |
| * as published by the Free Software Foundation; version 2 |
| * of the License. |
| */ |
| |
| #include <linux/init.h> |
| #include <linux/pci.h> |
| |
| #include <linux/mmc/sdhci-pci-data.h> |
| |
| #include <asm/intel-mid.h> |
| |
| #define INTEL_MRFLD_SD 2 |
| #define INTEL_MRFLD_SD_CD_GPIO 77 |
| |
| static struct sdhci_pci_data mrfld_sdhci_pci_data = { |
| .rst_n_gpio = -EINVAL, |
| .cd_gpio = INTEL_MRFLD_SD_CD_GPIO, |
| }; |
| |
| static struct sdhci_pci_data * |
| mrfld_sdhci_pci_get_data(struct pci_dev *pdev, int slotno) |
| { |
| unsigned int func = PCI_FUNC(pdev->devfn); |
| |
| if (func == INTEL_MRFLD_SD) |
| return &mrfld_sdhci_pci_data; |
| |
| return NULL; |
| } |
| |
| static int __init mrfld_sd_init(void) |
| { |
| if (intel_mid_identify_cpu() != INTEL_MID_CPU_CHIP_TANGIER) |
| return -ENODEV; |
| |
| sdhci_pci_get_data = mrfld_sdhci_pci_get_data; |
| return 0; |
| } |
| arch_initcall(mrfld_sd_init); |