Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1390704 > unrolled thread
| Started by | Shawn Lin <shawn.lin@rock-chips.com> |
|---|---|
| First post | 2016-04-29 04:50 +0200 |
| Last post | 2016-04-29 18:10 +0200 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH v2 6/6] mmc: sdhci-of-arasan: overwrite enhanced strobe callback Shawn Lin <shawn.lin@rock-chips.com> - 2016-04-29 04:50 +0200
Re: [PATCH v2 6/6] mmc: sdhci-of-arasan: overwrite enhanced strobe callback Sören Brinkmann <soren.brinkmann@xilinx.com> - 2016-04-29 18:10 +0200
| From | Shawn Lin <shawn.lin@rock-chips.com> |
|---|---|
| Date | 2016-04-29 04:50 +0200 |
| Subject | [PATCH v2 6/6] mmc: sdhci-of-arasan: overwrite enhanced strobe callback |
| Message-ID | <rt6Fc-6Ps-9@gated-at.bofh.it> |
Currently sdhci-arasan 5.1 can support enhanced strobe function,
and we now limit it just for "arasan,sdhci-5.1". Add
mmc-hs400-enhanced-strobe in DT to enable the function if we'r sure
our controller can support it.
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
---
Changes in v2: None
drivers/mmc/host/sdhci-of-arasan.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/drivers/mmc/host/sdhci-of-arasan.c b/drivers/mmc/host/sdhci-of-arasan.c
index 20b859e..a0e4536 100644
--- a/drivers/mmc/host/sdhci-of-arasan.c
+++ b/drivers/mmc/host/sdhci-of-arasan.c
@@ -25,7 +25,9 @@
#include "sdhci-pltfm.h"
#define SDHCI_ARASAN_CLK_CTRL_OFFSET 0x2c
+#define SDHCI_ARASAN_VENDOR_REGISTER 0x78
+#define VENDOR_ENHANCED_STROBE BIT(0)
#define CLK_CTRL_TIMEOUT_SHIFT 16
#define CLK_CTRL_TIMEOUT_MASK (0xf << CLK_CTRL_TIMEOUT_SHIFT)
#define CLK_CTRL_TIMEOUT_MIN_EXP 13
@@ -73,6 +75,23 @@ static void sdhci_arasan_set_clock(struct sdhci_host *host, unsigned int clock)
phy_power_on(sdhci_arasan->phy);
}
+static int sdhci_arasan_enhanced_strobe(struct mmc_host *mmc,
+ bool enable)
+{
+ u32 vendor;
+ struct sdhci_host *host = mmc_priv(mmc);
+
+ vendor = readl(host->ioaddr + SDHCI_ARASAN_VENDOR_REGISTER);
+ if (enable)
+ vendor |= VENDOR_ENHANCED_STROBE;
+ else
+ vendor &= (~VENDOR_ENHANCED_STROBE);
+
+ writel(vendor, host->ioaddr + SDHCI_ARASAN_VENDOR_REGISTER);
+
+ return 0;
+}
+
static struct sdhci_ops sdhci_arasan_ops = {
.set_clock = sdhci_arasan_set_clock,
.get_max_clock = sdhci_pltfm_clk_get_max_clock,
@@ -239,6 +258,9 @@ static int sdhci_arasan_probe(struct platform_device *pdev)
dev_err(&pdev->dev, "phy_power_on err.\n");
goto err_phy_power;
}
+
+ host->mmc_host_ops.prepare_enhanced_strobe =
+ sdhci_arasan_enhanced_strobe;
}
ret = sdhci_add_host(host);
--
2.3.7
[toc] | [next] | [standalone]
| From | Sören Brinkmann <soren.brinkmann@xilinx.com> |
|---|---|
| Date | 2016-04-29 18:10 +0200 |
| Subject | Re: [PATCH v2 6/6] mmc: sdhci-of-arasan: overwrite enhanced strobe callback |
| Message-ID | <rtj9o-xI-7@gated-at.bofh.it> |
| In reply to | #1390704 |
On Fri, 2016-04-29 at 10:48:34 +0800, Shawn Lin wrote: > Currently sdhci-arasan 5.1 can support enhanced strobe function, > and we now limit it just for "arasan,sdhci-5.1". Add > mmc-hs400-enhanced-strobe in DT to enable the function if we'r sure > our controller can support it. > > Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> > --- > > Changes in v2: None > > drivers/mmc/host/sdhci-of-arasan.c | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/drivers/mmc/host/sdhci-of-arasan.c b/drivers/mmc/host/sdhci-of-arasan.c > index 20b859e..a0e4536 100644 > --- a/drivers/mmc/host/sdhci-of-arasan.c > +++ b/drivers/mmc/host/sdhci-of-arasan.c > @@ -25,7 +25,9 @@ > #include "sdhci-pltfm.h" > > #define SDHCI_ARASAN_CLK_CTRL_OFFSET 0x2c > +#define SDHCI_ARASAN_VENDOR_REGISTER 0x78 Just as a note: This register doesn't seem to exist in the IP version Zynq is using. So, as long as we exclude that version from accessing it, things should be fine (IIUC, that is the case). Acked-by: Sören Brinkmann <soren.brinkmann@xilinx.com> Sören
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web