baseport/src/cedar/generic/base/syborg/svpplatform/libfdt/fdt.h
changeset 0 ffa851df0825
equal deleted inserted replaced
-1:000000000000 0:ffa851df0825
       
     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 #endif /* _FDT_H */