diff options
-rw-r--r-- | include/image.h | 20 | ||||
-rw-r--r-- | include/libfdt_env.h | 19 |
2 files changed, 25 insertions, 14 deletions
diff --git a/include/image.h b/include/image.h index 82e6345..1598b61 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 671c3a8..355ebf2 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. |