SmartAudio/lichee/brandy/u-boot-2014.07/include/fdt_acc.h

62 lines
1.8 KiB
C
Raw Normal View History

2018-07-13 01:31:50 +00:00
#ifndef __DTBFAST_H_
#define __DTBFAST_H_
#include <linux/types.h>
#include <sys_config.h>
#define DTBFAST_HEAD_MAX_DEPTH (16)
struct dtbfast_header {
uint32_t magic; /* magic word FDT_MAGIC */
uint32_t totalsize; /* total file size */
uint32_t level0_count; /* the count of level0 head */
uint32_t off_head; /* offset to head */
uint32_t head_count; /* total head */
uint32_t off_prop; /* offset to prop */
uint32_t prop_count; /* total prop */
uint32_t reserved[9];
};
struct head_node {
uint32_t name_sum; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ۼӺ<DBBC>
uint32_t name_sum_short; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><D6AE><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ۼӺ<DBBC>
uint32_t name_offset; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dtb<74><62>Ѱ<EFBFBD><D1B0>
uint32_t name_bytes; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶij<C6B5><C4B3><EFBFBD>
uint32_t name_bytes_short;//@֮ǰ<D6AE><C7B0><EFBFBD>Ƶij<C6B5><C4B3><EFBFBD>
uint32_t repeate_count;
uint32_t head_offset; //ָ<><D6B8><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>head<61><64>offset
uint32_t head_count; //head<61>ܵĸ<DCB5><C4B8><EFBFBD>
uint32_t data_offset; //ָ<><D6B8><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>prop<6F><70>offset
uint32_t data_count; //prop<6F>ܵĸ<DCB5><C4B8><EFBFBD>
uint32_t reserved[2];
};
struct prop_node {
uint32_t name_sum; //<2F><><EFBFBD>Ƶ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ۼӺ<DBBC>
uint32_t name_offset; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dtb<74><62>Ѱ<EFBFBD><D1B0>
uint32_t name_bytes; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶij<C6B5><C4B3><EFBFBD>
uint32_t offset; //<2F><><EFBFBD><EFBFBD>prop<6F><70>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dtb<74><62>Ѱ<EFBFBD><D1B0>
};
int fdtfast_path_offset(const void *fdt, const char *path);
int fdtfast_set_node_status(void *fdt, int nodeoffset, enum fdt_status status, unsigned int error_code);
int fdtfast_setprop_u32(void *fdt, int nodeoffset, const char *name,
uint32_t val);
int fdtfast_getprop_u32(const void *fdt, int nodeoffset,
const char *name, uint32_t *val);
int fdtfast_getprop_string(const void *fdt, int nodeoffset,
const char *name, char **val);
int fdtfast_getprop_gpio(const void *fdt, int nodeoffset,
const char* prop_name, user_gpio_set_t* gpio_list);
#endif /* __DTBFAST_H_ */