|
|
b50b299 |
From patchwork Fri Dec 30 15:24:32 2016
|
|
|
b50b299 |
Content-Type: text/plain; charset="utf-8"
|
|
|
b50b299 |
MIME-Version: 1.0
|
|
|
b50b299 |
Content-Transfer-Encoding: 7bit
|
|
|
b50b299 |
Subject: [1/2] mmc: sdhci-iproc: Apply caps from bcm2835-mmc driver
|
|
|
b50b299 |
From: Stefan Wahren <stefan.wahren@i2se.com>
|
|
|
b50b299 |
X-Patchwork-Id: 9492281
|
|
|
b50b299 |
Message-Id: <1483111474-29907-2-git-send-email-stefan.wahren@i2se.com>
|
|
|
b50b299 |
To: Eric Anholt <eric@anholt.net>, Gerd Hoffmann <kraxel@redhat.com>,
|
|
|
b50b299 |
Adrian Hunter <adrian.hunter@intel.com>,
|
|
|
b50b299 |
Ulf Hansson <ulf.hansson@linaro.org>
|
|
|
b50b299 |
Cc: Stefan Wahren <stefan.wahren@i2se.com>,
|
|
|
b50b299 |
Scott Branden <sbranden@broadcom.com>, Jon Mason <jonmason@broadcom.com>,
|
|
|
b50b299 |
Ray Jui <rjui@broadcom.com>, linux-mmc@vger.kernel.org,
|
|
|
b50b299 |
bcm-kernel-feedback-list@broadcom.com,
|
|
|
b50b299 |
linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org
|
|
|
b50b299 |
Date: Fri, 30 Dec 2016 15:24:32 +0000
|
|
|
b50b299 |
|
|
|
b50b299 |
Since the mmc module on bcm2835 neither provide a capabilities register nor
|
|
|
b50b299 |
free documentation we must rely on the downstream implementation [1].
|
|
|
b50b299 |
|
|
|
b50b299 |
So enable the following capabilities for bcm2835:
|
|
|
b50b299 |
|
|
|
b50b299 |
MMC_CAP_MMC_HIGHSPEED
|
|
|
b50b299 |
MMC_CAP_SD_HIGHSPEED
|
|
|
b50b299 |
MMC_CAP_DRIVER_TYPE_A
|
|
|
b50b299 |
MMC_CAP_DRIVER_TYPE_C
|
|
|
b50b299 |
|
|
|
b50b299 |
[1] - https://github.com/raspberrypi/linux/blob/rpi-4.4.y/drivers/mmc/host/bcm2835-mmc.c
|
|
|
b50b299 |
|
|
|
b50b299 |
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
|
|
|
b50b299 |
Reviewed-by: Eric Anholt <eric@anholt.net>
|
|
|
b50b299 |
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
|
|
|
b50b299 |
---
|
|
|
b50b299 |
drivers/mmc/host/sdhci-iproc.c | 9 ++++++---
|
|
|
b50b299 |
1 file changed, 6 insertions(+), 3 deletions(-)
|
|
|
b50b299 |
|
|
|
b50b299 |
diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c
|
|
|
b50b299 |
index d7046d6..30b3fdf 100644
|
|
|
b50b299 |
--- a/drivers/mmc/host/sdhci-iproc.c
|
|
|
b50b299 |
+++ b/drivers/mmc/host/sdhci-iproc.c
|
|
|
b50b299 |
@@ -211,14 +211,17 @@ static void sdhci_iproc_writeb(struct sdhci_host *host, u8 val, int reg)
|
|
|
b50b299 |
static const struct sdhci_pltfm_data sdhci_bcm2835_pltfm_data = {
|
|
|
b50b299 |
.quirks = SDHCI_QUIRK_BROKEN_CARD_DETECTION |
|
|
|
b50b299 |
SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK |
|
|
|
b50b299 |
- SDHCI_QUIRK_MISSING_CAPS,
|
|
|
b50b299 |
+ SDHCI_QUIRK_MISSING_CAPS |
|
|
|
b50b299 |
+ SDHCI_QUIRK_NO_HISPD_BIT,
|
|
|
b50b299 |
.ops = &sdhci_iproc_32only_ops,
|
|
|
b50b299 |
};
|
|
|
b50b299 |
|
|
|
b50b299 |
static const struct sdhci_iproc_data bcm2835_data = {
|
|
|
b50b299 |
.pdata = &sdhci_bcm2835_pltfm_data,
|
|
|
b50b299 |
- .caps = SDHCI_CAN_VDD_330,
|
|
|
b50b299 |
- .caps1 = 0x00000000,
|
|
|
b50b299 |
+ .caps = SDHCI_CAN_VDD_330 |
|
|
|
b50b299 |
+ SDHCI_CAN_DO_HISPD,
|
|
|
b50b299 |
+ .caps1 = SDHCI_DRIVER_TYPE_A |
|
|
|
b50b299 |
+ SDHCI_DRIVER_TYPE_C,
|
|
|
b50b299 |
.mmc_caps = 0x00000000,
|
|
|
b50b299 |
};
|
|
|
b50b299 |
|
|
|
b50b299 |
From patchwork Fri Dec 30 15:24:33 2016
|
|
|
b50b299 |
Content-Type: text/plain; charset="utf-8"
|
|
|
b50b299 |
MIME-Version: 1.0
|
|
|
b50b299 |
Content-Transfer-Encoding: 7bit
|
|
|
b50b299 |
Subject: [2/2] mmc: sdhci-iproc: Increase max_blk_size for bcm2835
|
|
|
b50b299 |
From: Stefan Wahren <stefan.wahren@i2se.com>
|
|
|
b50b299 |
X-Patchwork-Id: 9492273
|
|
|
b50b299 |
Message-Id: <1483111474-29907-3-git-send-email-stefan.wahren@i2se.com>
|
|
|
b50b299 |
To: Eric Anholt <eric@anholt.net>, Gerd Hoffmann <kraxel@redhat.com>,
|
|
|
b50b299 |
Adrian Hunter <adrian.hunter@intel.com>,
|
|
|
b50b299 |
Ulf Hansson <ulf.hansson@linaro.org>
|
|
|
b50b299 |
Cc: Stefan Wahren <stefan.wahren@i2se.com>,
|
|
|
b50b299 |
Scott Branden <sbranden@broadcom.com>, Jon Mason <jonmason@broadcom.com>,
|
|
|
b50b299 |
Ray Jui <rjui@broadcom.com>, linux-mmc@vger.kernel.org,
|
|
|
b50b299 |
bcm-kernel-feedback-list@broadcom.com,
|
|
|
b50b299 |
linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org
|
|
|
b50b299 |
Date: Fri, 30 Dec 2016 15:24:33 +0000
|
|
|
b50b299 |
|
|
|
b50b299 |
According to the BCM2835 datasheet the maximum block size for the
|
|
|
b50b299 |
eMMC module is restricted to the internal data FIFO which is 1024 byte.
|
|
|
b50b299 |
But this is still an improvement to the default of 512 byte.
|
|
|
b50b299 |
|
|
|
b50b299 |
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
|
|
|
b50b299 |
Reviewed-by: Eric Anholt <eric@anholt.net>
|
|
|
b50b299 |
Acked-by: Scott Branden <scott.branden@broadcom.com>
|
|
|
b50b299 |
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
|
|
|
b50b299 |
---
|
|
|
b50b299 |
drivers/mmc/host/sdhci-iproc.c | 4 +++-
|
|
|
b50b299 |
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
|
b50b299 |
|
|
|
b50b299 |
diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c
|
|
|
b50b299 |
index 30b3fdf..3275d49 100644
|
|
|
b50b299 |
--- a/drivers/mmc/host/sdhci-iproc.c
|
|
|
b50b299 |
+++ b/drivers/mmc/host/sdhci-iproc.c
|
|
|
b50b299 |
@@ -218,7 +218,9 @@ static void sdhci_iproc_writeb(struct sdhci_host *host, u8 val, int reg)
|
|
|
b50b299 |
|
|
|
b50b299 |
static const struct sdhci_iproc_data bcm2835_data = {
|
|
|
b50b299 |
.pdata = &sdhci_bcm2835_pltfm_data,
|
|
|
b50b299 |
- .caps = SDHCI_CAN_VDD_330 |
|
|
|
b50b299 |
+ .caps = ((0x1 << SDHCI_MAX_BLOCK_SHIFT)
|
|
|
b50b299 |
+ & SDHCI_MAX_BLOCK_MASK) |
|
|
|
b50b299 |
+ SDHCI_CAN_VDD_330 |
|
|
|
b50b299 |
SDHCI_CAN_DO_HISPD,
|
|
|
b50b299 |
.caps1 = SDHCI_DRIVER_TYPE_A |
|
|
|
b50b299 |
SDHCI_DRIVER_TYPE_C,
|