Commit e6601df8 authored by Lokesh Vutla's avatar Lokesh Vutla Committed by Jagan Teki

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 167efe01 ("dm: ns16550: Use an address
instead of a pointer for the uart base")
Signed-off-by: default avatarLokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: default avatarJagan Teki <jteki@openedev.com>
Reviewed-by: default avatarTom Rini <trini@konsulko.com>
Reviewed-by: default avatarMugunthan V N <mugunthanvnm@ti.com>
parent 76aab9eb
......@@ -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) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment