Logo Search packages:      
Sourcecode: linux version File versions  Download package

fdt.h

#ifndef _FDT_H
#define _FDT_H

#ifndef __ASSEMBLY__

00006 struct fdt_header {
      uint32_t magic;                /* magic word FDT_MAGIC */
      uint32_t totalsize;            /* total size of DT block */
      uint32_t off_dt_struct;        /* offset to structure */
      uint32_t off_dt_strings;       /* offset to strings */
      uint32_t off_mem_rsvmap;       /* offset to memory reserve map */
      uint32_t version;        /* format version */
      uint32_t last_comp_version;    /* last compatible version */

      /* version 2 fields below */
      uint32_t boot_cpuid_phys;      /* Which physical CPU id we're
                                  booting on */
      /* version 3 fields below */
      uint32_t size_dt_strings;      /* size of the strings block */

      /* version 17 fields below */
      uint32_t size_dt_struct;       /* size of the structure block */
};

00025 struct fdt_reserve_entry {
      uint64_t address;
      uint64_t size;
};

00030 struct fdt_node_header {
      uint32_t tag;
      char name[0];
};

00035 struct fdt_property {
      uint32_t tag;
      uint32_t len;
      uint32_t nameoff;
      char data[0];
};

#endif /* !__ASSEMBLY */

#define FDT_MAGIC 0xd00dfeed  /* 4: version, 4: total size */
#define FDT_TAGSIZE     sizeof(uint32_t)

#define FDT_BEGIN_NODE  0x1         /* Start node: full name */
#define FDT_END_NODE    0x2         /* End node */
#define FDT_PROP  0x3         /* Property: name off,
                                 size, content */
#define FDT_NOP         0x4         /* nop */
#define FDT_END         0x9

#define FDT_V1_SIZE     (7*sizeof(uint32_t))
#define FDT_V2_SIZE     (FDT_V1_SIZE + sizeof(uint32_t))
#define FDT_V3_SIZE     (FDT_V2_SIZE + sizeof(uint32_t))
#define FDT_V16_SIZE    FDT_V3_SIZE
#define FDT_V17_SIZE    (FDT_V16_SIZE + sizeof(uint32_t))

#endif /* _FDT_H */

Generated by  Doxygen 1.6.0   Back to index