summaryrefslogtreecommitdiffstats
path: root/drivers/mci/omap_hsmmc.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2012-12-18 15:22:36 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2012-12-19 21:52:36 +0100
commit416a99135af481a335472236fc3ef1c7a17a76ad (patch)
tree155fab845f0c58dc0c3a28976b3ac26f104e0254 /drivers/mci/omap_hsmmc.c
parent5536071392d9e8c6026960a698e6c4a36c787310 (diff)
downloadbarebox-416a99135af481a335472236fc3ef1c7a17a76ad.tar.gz
barebox-416a99135af481a335472236fc3ef1c7a17a76ad.tar.xz
ARM omap hsmmc: Fix register offset
The hsmmc module has a 0x100 offset in its register space. The real register space size for the module is 4K, so when we register the device with the size 4k, we have to account for the offset in the driver, not in the resource allocation. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/mci/omap_hsmmc.c')
-rw-r--r--drivers/mci/omap_hsmmc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/mci/omap_hsmmc.c b/drivers/mci/omap_hsmmc.c
index d1e4c362aa..6471ea6eed 100644
--- a/drivers/mci/omap_hsmmc.c
+++ b/drivers/mci/omap_hsmmc.c
@@ -175,6 +175,7 @@ struct omap_hsmmc {
struct mci_host mci;
struct device_d *dev;
struct hsmmc *base;
+ void __iomem *iobase;
};
#define to_hsmmc(mci) container_of(mci, struct omap_hsmmc, mci)
@@ -575,7 +576,8 @@ static int omap_mmc_probe(struct device_d *dev)
hsmmc->mci.host_caps = MMC_MODE_4BIT | MMC_MODE_HS_52MHz | MMC_MODE_HS;
hsmmc->mci.hw_dev = dev;
- hsmmc->base = dev_request_mem_region(dev, 0);
+ hsmmc->iobase = dev_request_mem_region(dev, 0);
+ hsmmc->base = hsmmc->iobase + 0x100;
hsmmc->mci.voltages = MMC_VDD_32_33 | MMC_VDD_33_34;