xref: /openbmc/linux/scripts/dtc/libfdt/libfdt_env.h (revision b6dcefde)
1 #ifndef _LIBFDT_ENV_H
2 #define _LIBFDT_ENV_H
3 
4 #include <stddef.h>
5 #include <stdint.h>
6 #include <string.h>
7 
8 #define _B(n)	((unsigned long long)((uint8_t *)&x)[n])
9 static inline uint32_t fdt32_to_cpu(uint32_t x)
10 {
11 	return (_B(0) << 24) | (_B(1) << 16) | (_B(2) << 8) | _B(3);
12 }
13 #define cpu_to_fdt32(x) fdt32_to_cpu(x)
14 
15 static inline uint64_t fdt64_to_cpu(uint64_t x)
16 {
17 	return (_B(0) << 56) | (_B(1) << 48) | (_B(2) << 40) | (_B(3) << 32)
18 		| (_B(4) << 24) | (_B(5) << 16) | (_B(6) << 8) | _B(7);
19 }
20 #define cpu_to_fdt64(x) fdt64_to_cpu(x)
21 #undef _B
22 
23 #endif /* _LIBFDT_ENV_H */
24