diff --git a/arch/arm/lib/spl.c b/arch/arm/lib/spl.c
index e42886840ed64865aaeabaed93678801e098a5dd..c1b85340fad6bcd0c78dfefefe8f3e649ed625a8 100644
--- a/arch/arm/lib/spl.c
+++ b/arch/arm/lib/spl.c
@@ -60,7 +60,7 @@ void __noreturn jump_to_image_linux(void *arg)
 	typedef void (*image_entry_arg_t)(int, int, void *)
 		__attribute__ ((noreturn));
 	image_entry_arg_t image_entry =
-		(image_entry_arg_t) spl_image.entry_point;
+		(image_entry_arg_t)(uintptr_t) spl_image.entry_point;
 	cleanup_before_linux();
 	image_entry(0, machid, arg);
 }
diff --git a/common/spl/spl_fat.c b/common/spl/spl_fat.c
index db676186d354b7b07c1a96920f5ecd582f3adba3..73d33f54fc134b81c1169f97900102310d4729b6 100644
--- a/common/spl/spl_fat.c
+++ b/common/spl/spl_fat.c
@@ -88,7 +88,8 @@ int spl_load_image_fat(struct blk_desc *block_dev,
 		if (err)
 			goto end;
 
-		err = file_fat_read(filename, (u8 *)spl_image.load_addr, 0);
+		err = file_fat_read(filename,
+				    (u8 *)(uintptr_t)spl_image.load_addr, 0);
 	}
 
 end: