Return to fdt.h CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / elwix / tools / uboot_mkimage / include |
1.1 ! misho 1: #ifndef _FDT_H ! 2: #define _FDT_H ! 3: ! 4: #ifndef __ASSEMBLY__ ! 5: ! 6: struct fdt_header { ! 7: uint32_t magic; /* magic word FDT_MAGIC */ ! 8: uint32_t totalsize; /* total size of DT block */ ! 9: uint32_t off_dt_struct; /* offset to structure */ ! 10: uint32_t off_dt_strings; /* offset to strings */ ! 11: uint32_t off_mem_rsvmap; /* offset to memory reserve map */ ! 12: uint32_t version; /* format version */ ! 13: uint32_t last_comp_version; /* last compatible version */ ! 14: ! 15: /* version 2 fields below */ ! 16: uint32_t boot_cpuid_phys; /* Which physical CPU id we're ! 17: booting on */ ! 18: /* version 3 fields below */ ! 19: uint32_t size_dt_strings; /* size of the strings block */ ! 20: ! 21: /* version 17 fields below */ ! 22: uint32_t size_dt_struct; /* size of the structure block */ ! 23: }; ! 24: ! 25: struct fdt_reserve_entry { ! 26: uint64_t address; ! 27: uint64_t size; ! 28: }; ! 29: ! 30: struct fdt_node_header { ! 31: uint32_t tag; ! 32: char name[0]; ! 33: }; ! 34: ! 35: struct fdt_property { ! 36: uint32_t tag; ! 37: uint32_t len; ! 38: uint32_t nameoff; ! 39: char data[0]; ! 40: }; ! 41: ! 42: #endif /* !__ASSEMBLY */ ! 43: ! 44: #define FDT_MAGIC 0xd00dfeed /* 4: version, 4: total size */ ! 45: #define FDT_TAGSIZE sizeof(uint32_t) ! 46: ! 47: #define FDT_BEGIN_NODE 0x1 /* Start node: full name */ ! 48: #define FDT_END_NODE 0x2 /* End node */ ! 49: #define FDT_PROP 0x3 /* Property: name off, ! 50: size, content */ ! 51: #define FDT_NOP 0x4 /* nop */ ! 52: #define FDT_END 0x9 ! 53: ! 54: #define FDT_V1_SIZE (7*sizeof(uint32_t)) ! 55: #define FDT_V2_SIZE (FDT_V1_SIZE + sizeof(uint32_t)) ! 56: #define FDT_V3_SIZE (FDT_V2_SIZE + sizeof(uint32_t)) ! 57: #define FDT_V16_SIZE FDT_V3_SIZE ! 58: #define FDT_V17_SIZE (FDT_V16_SIZE + sizeof(uint32_t)) ! 59: ! 60: /* adding a ramdisk needs 0x44 bytes in version 2008.10 */ ! 61: #define FDT_RAMDISK_OVERHEAD 0x80 ! 62: #endif /* _FDT_H */