summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLokesh Vutla <lokeshvutla@ti.com>2016-03-05 16:43:06 +0530
committerJagan Teki <jteki@openedev.com>2016-03-12 19:55:42 +0530
commite6601df8acf19a369b4c12ef16296f719dd237ca (patch)
tree857bc05088f14c91d1aa0e4f72b7131daff4d17d
parent76aab9eb8b4618891914e41fa1ea84441f8c53fd (diff)
dm: ti_qspi: Fix conversion of address to a pointer
TI QSPI driver directly typecasts fdt_addr_t to a pointer. This is not strictly correct, as it gives a build warning when fdt_addr_t is u64. So, use map_physmem for a proper typecasts. This is inspired by commit 167efe01bc5a9 ("dm: ns16550: Use an address instead of a pointer for the uart base") Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Jagan Teki <jteki@openedev.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com>
-rw-r--r--drivers/spi/ti_qspi.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/spi/ti_qspi.c b/drivers/spi/ti_qspi.c
index 409a5c41ab9..e69ec0d9cde 100644
--- a/drivers/spi/ti_qspi.c
+++ b/drivers/spi/ti_qspi.c
@@ -534,11 +534,15 @@ static int ti_qspi_ofdata_to_platdata(struct udevice *bus)
const void *blob = gd->fdt_blob;
int node = bus->of_offset;
fdt_addr_t addr;
+ void *mmap;
- priv->base = (struct ti_qspi_regs *)dev_get_addr(bus);
- priv->memory_map = (void *)dev_get_addr_index(bus, 1);
+ priv->base = map_physmem(dev_get_addr(bus), sizeof(struct ti_qspi_regs),
+ MAP_NOCACHE);
+ priv->memory_map = map_physmem(dev_get_addr_index(bus, 1), 0,
+ MAP_NOCACHE);
addr = dev_get_addr_index(bus, 2);
- priv->ctrl_mod_mmap = (addr == FDT_ADDR_T_NONE) ? NULL : (void *)addr;
+ mmap = map_physmem(dev_get_addr_index(bus, 2), 0, MAP_NOCACHE);
+ priv->ctrl_mod_mmap = (addr == FDT_ADDR_T_NONE) ? NULL : mmap;
priv->max_hz = fdtdec_get_int(blob, node, "spi-max-frequency", -1);
if (priv->max_hz < 0) {