The size of the TC6380AF SD Host Controller Configuration area is 0x200 bytes (assuming registers are aligned on 32-bit boundaries), not 0x400 bytes. Source: Toshiba TC6380AF Specification sections 4.2 and 4.3.1
Signed-off-by: Paul Parsons <[email protected]>
---
diff -uprN clean-2.6.39-rc7/drivers/mfd/asic3.c linux-2.6.39-rc7/drivers/mfd/asic3.c
--- clean-2.6.39-rc7/drivers/mfd/asic3.c 2011-05-15 14:54:26.240112516 +0100
+++ linux-2.6.39-rc7/drivers/mfd/asic3.c 2011-05-15 14:59:12.758135981 +0100
@@ -854,7 +854,8 @@ static int __init asic3_mfd_probe(struct
/* MMC */
asic->tmio_cnf = ioremap((ASIC3_SD_CONFIG_BASE >> asic->bus_shift) +
- mem_sdio->start, 0x400 >> asic->bus_shift);
+ mem_sdio->start,
+ ASIC3_SD_CONFIG_SIZE >> asic->bus_shift);
if (!asic->tmio_cnf) {
ret = -ENOMEM;
dev_dbg(asic->dev, "Couldn't ioremap SD_CONFIG\n");
diff -uprN clean-2.6.39-rc7/include/linux/mfd/asic3.h linux-2.6.39-rc7/include/linux/mfd/asic3.h
--- clean-2.6.39-rc7/include/linux/mfd/asic3.h 2011-05-15 14:54:23.488093081 +0100
+++ linux-2.6.39-rc7/include/linux/mfd/asic3.h 2011-05-13 19:21:20.515450640 +0100
@@ -297,6 +297,7 @@ struct asic3_platform_data {
*
*****************************************************************************/
#define ASIC3_SD_CONFIG_BASE 0x0400 /* Assumes 32 bit addressing */
+#define ASIC3_SD_CONFIG_SIZE 0x0200 /* Assumes 32 bit addressing */
#define ASIC3_SD_CTRL_BASE 0x1000
#define ASIC3_SDIO_CTRL_BASE 0x1200
Hi Paul,
On Sun, May 15, 2011 at 02:13:11PM +0000, Paul Parsons wrote:
> The size of the TC6380AF SD Host Controller Configuration area is 0x200 bytes (assuming registers are aligned on 32-bit boundaries), not 0x400 bytes. Source: Toshiba TC6380AF Specification sections 4.2 and 4.3.1
>
Patch applied, thanks a lot.
Cheers,
Samuel.
--
Intel Open Source Technology Centre
http://oss.intel.com/