aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFaiz Abbas2020-12-10 04:51:10 -0600
committerVignesh Raghavendra2020-12-13 11:43:28 -0600
commit5f3b2cae08de49e6d8d8d3d5bf27e28d8dff0430 (patch)
treeeec9e404367fbff3b8d292a52acfe42d2e0670be
parente047055f6a1ee5d306e63e4573f0817d155a0a49 (diff)
downloadkernel-5f3b2cae08de49e6d8d8d3d5bf27e28d8dff0430.tar.gz
kernel-5f3b2cae08de49e6d8d8d3d5bf27e28d8dff0430.tar.xz
kernel-5f3b2cae08de49e6d8d8d3d5bf27e28d8dff0430.zip
mmc: sdhci_am654: Add Support for TI's AM64 SoC
Add support for the controller present on the AM64x SoC. There are instances: sdhci0: 8bit bus width, max 400 MBps sdhci1: 4bit bus width, max 100 MBps Signed-off-by: Faiz Abbas <faiz_abbas@ti.com> Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
-rw-r--r--drivers/mmc/host/sdhci_am654.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci_am654.c b/drivers/mmc/host/sdhci_am654.c
index 219e7bc6257a..f97089c9d3f3 100644
--- a/drivers/mmc/host/sdhci_am654.c
+++ b/drivers/mmc/host/sdhci_am654.c
@@ -429,6 +429,26 @@ static const struct sdhci_am654_driver_data sdhci_j721e_4bit_drvdata = {
429 .flags = IOMUX_PRESENT, 429 .flags = IOMUX_PRESENT,
430}; 430};
431 431
432static const struct sdhci_pltfm_data sdhci_am64_8bit_pdata = {
433 .ops = &sdhci_j721e_8bit_ops,
434 .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN,
435};
436
437static const struct sdhci_am654_driver_data sdhci_am64_8bit_drvdata = {
438 .pdata = &sdhci_am64_8bit_pdata,
439 .flags = DLL_PRESENT | DLL_CALIB,
440};
441
442static const struct sdhci_pltfm_data sdhci_am64_4bit_pdata = {
443 .ops = &sdhci_j721e_4bit_ops,
444 .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN,
445};
446
447static const struct sdhci_am654_driver_data sdhci_am64_4bit_drvdata = {
448 .pdata = &sdhci_am64_4bit_pdata,
449 .flags = IOMUX_PRESENT,
450};
451
432static const struct soc_device_attribute sdhci_am654_devices[] = { 452static const struct soc_device_attribute sdhci_am654_devices[] = {
433 { .family = "AM65X", 453 { .family = "AM65X",
434 .revision = "SR1.0", 454 .revision = "SR1.0",
@@ -644,6 +664,14 @@ static const struct of_device_id sdhci_am654_of_match[] = {
644 .compatible = "ti,j721e-sdhci-4bit", 664 .compatible = "ti,j721e-sdhci-4bit",
645 .data = &sdhci_j721e_4bit_drvdata, 665 .data = &sdhci_j721e_4bit_drvdata,
646 }, 666 },
667 {
668 .compatible = "ti,am64-sdhci-8bit",
669 .data = &sdhci_am64_8bit_drvdata,
670 },
671 {
672 .compatible = "ti,am64-sdhci-4bit",
673 .data = &sdhci_am64_4bit_drvdata,
674 },
647 { /* sentinel */ } 675 { /* sentinel */ }
648}; 676};
649MODULE_DEVICE_TABLE(of, sdhci_am654_of_match); 677MODULE_DEVICE_TABLE(of, sdhci_am654_of_match);