mmc: SDHI: add SoC specific workaround via HW version

One of Renesas SDHI chip needs workaround to use it, and, we can judge
it based on chip version.  This patch adds very quick-hack workaround
method, since we still don't know how many chips need workaround in
the future.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
This commit is contained in:
Kuninori Morimoto
2013-11-20 00:31:13 -08:00
committed by Chris Ball
parent 5d60e50054
commit e3c418f1b2
2 changed files with 12 additions and 0 deletions

View File

@@ -33,6 +33,8 @@
#include "tmio_mmc.h"
#define EXT_ACC 0xe4
struct sh_mobile_sdhi_of_data {
unsigned long tmio_flags;
};
@@ -137,6 +139,7 @@ static int sh_mobile_sdhi_probe(struct platform_device *pdev)
int irq, ret, i = 0;
bool multiplexed_isr = true;
struct tmio_mmc_dma *dma_priv;
u16 ver;
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!res)
@@ -218,6 +221,14 @@ static int sh_mobile_sdhi_probe(struct platform_device *pdev)
if (ret < 0)
goto eprobe;
/*
* FIXME:
* this Workaround can be more clever method
*/
ver = sd_ctrl_read16(host, CTL_VERSION);
if (ver == 0xCB0D)
sd_ctrl_write16(host, EXT_ACC, 1);
/*
* Allow one or more specific (named) ISRs or
* one or more multiplexed (un-named) ISRs.