aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/update.c3
-rw-r--r--drivers/dfu/dfu_ram.c7
-rw-r--r--include/dfu.h2
3 files changed, 7 insertions, 5 deletions
diff --git a/common/update.c b/common/update.c
index d885479..36b6b75 100644
--- a/common/update.c
+++ b/common/update.c
@@ -24,6 +24,7 @@
#include <net.h>
#include <net/tftp.h>
#include <malloc.h>
+#include <mapmem.h>
#include <dfu.h>
#include <errno.h>
#include <mtd/cfi_flash.h>
@@ -280,7 +281,7 @@ int update_tftp(ulong addr, char *interface, char *devstring)
}
got_update_file:
- fit = (void *)addr;
+ fit = map_sysmem(addr, 0);
if (!fit_check_format((void *)fit)) {
printf("Bad FIT format of the update file, aborting "
diff --git a/drivers/dfu/dfu_ram.c b/drivers/dfu/dfu_ram.c
index cc98668..ab0ce9e 100644
--- a/drivers/dfu/dfu_ram.c
+++ b/drivers/dfu/dfu_ram.c
@@ -10,6 +10,7 @@
#include <common.h>
#include <malloc.h>
+#include <mapmem.h>
#include <errno.h>
#include <dfu.h>
@@ -27,9 +28,9 @@ static int dfu_transfer_medium_ram(enum dfu_op op, struct dfu_entity *dfu,
}
if (op == DFU_OP_WRITE)
- memcpy(dfu->data.ram.start + offset, buf, *len);
+ memcpy(map_sysmem(dfu->data.ram.start + offset, 0), buf, *len);
else
- memcpy(buf, dfu->data.ram.start + offset, *len);
+ memcpy(buf, map_sysmem(dfu->data.ram.start + offset, 0), *len);
return 0;
}
@@ -73,7 +74,7 @@ int dfu_fill_entity_ram(struct dfu_entity *dfu, char *devstr, char *s)
}
dfu->layout = DFU_RAM_ADDR;
- dfu->data.ram.start = (void *)simple_strtoul(argv[1], NULL, 16);
+ dfu->data.ram.start = simple_strtoul(argv[1], NULL, 16);
dfu->data.ram.size = simple_strtoul(argv[2], NULL, 16);
dfu->write_medium = dfu_write_medium_ram;
diff --git a/include/dfu.h b/include/dfu.h
index 6fa4505..84abdc7 100644
--- a/include/dfu.h
+++ b/include/dfu.h
@@ -79,7 +79,7 @@ struct nand_internal_data {
};
struct ram_internal_data {
- void *start;
+ unsigned long start;
unsigned int size;
};