diff --git a/include/image.h b/include/image.h
index 82e63457f9171a9634060944c1e84c979afb0864..1598b615c5eb9a6fb41ca0286b8b191721a2b2d9 100644
--- a/include/image.h
+++ b/include/image.h
@@ -33,27 +33,29 @@
 #ifndef __IMAGE_H__
 #define __IMAGE_H__
 
-#include <asm/byteorder.h>
-#include <command.h>
-
-#ifndef USE_HOSTCC
-#include <lmb.h>
-#include <linux/string.h>
-#include <asm/u-boot.h>
-
-#else
+#if USE_HOSTCC
+#include <endian.h>
 
 /* new uImage format support enabled on host */
 #define CONFIG_FIT		1
 #define CONFIG_OF_LIBFDT	1
 #define CONFIG_FIT_VERBOSE	1 /* enable fit_format_{error,warning}() */
 
+#else
+
+#include <lmb.h>
+#include <linux/string.h>
+#include <asm/u-boot.h>
+#include <asm/byteorder.h>
+
 #endif /* USE_HOSTCC */
 
 #if defined(CONFIG_FIT) && !defined(CONFIG_OF_LIBFDT)
 #error "CONFIG_OF_LIBFDT not enabled, required by CONFIG_FIT!"
 #endif
 
+#include <command.h>
+
 #if defined(CONFIG_FIT)
 #include <fdt.h>
 #include <libfdt.h>
diff --git a/include/libfdt_env.h b/include/libfdt_env.h
index 671c3a8981ad5071f3ec024fc97649a6ec93a7f4..355ebf27b2b6b9263c48a10d4ac1aab7d67814f0 100644
--- a/include/libfdt_env.h
+++ b/include/libfdt_env.h
@@ -24,19 +24,28 @@
 #ifdef USE_HOSTCC
 #include <stdint.h>
 #include <string.h>
+#include <endian.h>
+#include <byteswap.h>
 #else
 #include <linux/string.h>
 #include <linux/types.h>
+#include <asm/byteorder.h>
 #endif /* USE_HOSTCC */
 
 #include <stddef.h>
-#include <asm/byteorder.h>
 extern struct fdt_header *working_fdt;  /* Pointer to the working fdt */
 
-#define fdt32_to_cpu(x)		__be32_to_cpu(x)
-#define cpu_to_fdt32(x)		__cpu_to_be32(x)
-#define fdt64_to_cpu(x)		__be64_to_cpu(x)
-#define cpu_to_fdt64(x)		__cpu_to_be64(x)
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+#define fdt32_to_cpu(x)		bswap_32(x)
+#define cpu_to_fdt32(x)		bswap_32(x)
+#define fdt64_to_cpu(x)		bswap_64(x)
+#define cpu_to_fdt64(x)		bswap_64(x)
+#else
+#define fdt32_to_cpu(x)		(x)
+#define cpu_to_fdt32(x)		(x)
+#define fdt64_to_cpu(x)		(x)
+#define cpu_to_fdt64(x)		(x)
+#endif
 
 /*
  * Types for `void *' pointers.