diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2012-12-18 15:22:36 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-12-19 21:52:36 +0100 |
commit | 416a99135af481a335472236fc3ef1c7a17a76ad (patch) | |
tree | 155fab845f0c58dc0c3a28976b3ac26f104e0254 /drivers/mci/omap_hsmmc.c | |
parent | 5536071392d9e8c6026960a698e6c4a36c787310 (diff) | |
download | barebox-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.c | 4 |
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; |