From 25108684fe235d4296c3cbc480298df209682586 Mon Sep 17 00:00:00 2001 From: stefan Date: Tue, 4 Apr 2023 06:01:50 +0000 Subject: build system and some other stuff --- sys/include/fdt.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 sys/include/fdt.h (limited to 'sys/include/fdt.h') diff --git a/sys/include/fdt.h b/sys/include/fdt.h new file mode 100644 index 0000000..92e5695 --- /dev/null +++ b/sys/include/fdt.h @@ -0,0 +1,37 @@ +#include +#include + +#ifndef _FDT_H +#define _FDT_H + +#define FDT_HEADER_MAGIC 0xd00dfeed + +static inline uint32_t +fdt_uint32(uint32_t x) +{ +#if BYTE_ORDER == LITTLE_ENDIAN +return __bswap32(x); +#else +return x; +#endif +} + +struct fdt_header { + uint32_t magic; /* FDT_HEADER_MAGIC */ + uint32_t totalsize; /* size of the whole device tree, in bytes */ + uint32_t off_dt_struct; /* offset to structure block */ + uint32_t off_dt_strings; /* offset to strings block */ + uint32_t off_mem_rsvmap; /* offset to memory reservation block */ + uint32_t version; /* dt spec version */ + uint32_t last_comp_version; /* last compatible version. spec says this needs to be 16 */ + uint32_t boot_cpuid_phys; /* physical id of the systems boot cpu */ + uint32_t size_dt_strings; /* size of strings block */ + uint32_t size_dt_struct; /* size of structure block */ +}; + +struct fdt_reserve_entry { + uint64_t address; + uint64_t size; +}; + +#endif /* _FDT_H */ -- cgit v1.2.3