diff --git a/cmd/fdt.c b/cmd/fdt.c
index 6883e754edf867e4d3e8cb2baf3cb1f2cfbfb584..95dd673b957e45dca344367fe2f3c1d682f28418 100644
--- a/cmd/fdt.c
+++ b/cmd/fdt.c
@@ -58,7 +58,7 @@ static int fdt_value_setenv(const void *nodep, int len, const char *var)
 	else if (len == 4) {
 		char buf[11];
 
-		sprintf(buf, "0x%08X", *(uint32_t *)nodep);
+		sprintf(buf, "0x%08X", fdt32_to_cpu(*(fdt32_t *)nodep));
 		setenv(var, buf);
 	} else if (len%4 == 0 && len <= 20) {
 		/* Needed to print things like sha1 hashes. */
@@ -768,7 +768,7 @@ static int fdt_parse_prop(char * const *newval, int count, char *data, int *len)
 
 			cp = newp;
 			tmp = simple_strtoul(cp, &newp, 0);
-			*(__be32 *)data = __cpu_to_be32(tmp);
+			*(fdt32_t *)data = cpu_to_fdt32(tmp);
 			data  += 4;
 			*len += 4;