SyterKit 0.4.0.x
SyterKit is a bare-metal framework
Loading...
Searching...
No Matches
Functions
fdt.c File Reference
#include "libfdt_env.h"
#include <fdt.h>
#include <libfdt.h>
#include "libfdt_internal.h"
Include dependency graph for fdt.c:

Functions

int32_t fdt_ro_probe_ (const void *fdt)
 
static int check_off_ (uint32_t hdrsize, uint32_t totalsize, uint32_t off)
 
static int check_block_ (uint32_t hdrsize, uint32_t totalsize, uint32_t base, uint32_t size)
 
size_t fdt_header_size_ (uint32_t version)
 fdt_header_size_ - internal function to get header size from a version number
 
size_t fdt_header_size (const void *fdt)
 fdt_header_size - return the size of the tree's header @fdt: pointer to a flattened device tree
 
int fdt_check_header (const void *fdt)
 fdt_check_header - sanity check a device tree header @fdt: pointer to data which might be a flattened device tree
 
const void * fdt_offset_ptr (const void *fdt, int offset, unsigned int len)
 
uint32_t fdt_next_tag (const void *fdt, int startoffset, int *nextoffset)
 
int fdt_check_node_offset_ (const void *fdt, int offset)
 
int fdt_check_prop_offset_ (const void *fdt, int offset)
 
int fdt_next_node (const void *fdt, int offset, int *depth)
 
int fdt_first_subnode (const void *fdt, int offset)
 fdt_first_subnode() - get offset of first direct subnode @fdt: FDT blob @offset: Offset of node to check
 
int fdt_next_subnode (const void *fdt, int offset)
 fdt_next_subnode() - get offset of next direct subnode @fdt: FDT blob @offset: Offset of previous subnode
 
const char * fdt_find_string_ (const char *strtab, int tabsize, const char *s)
 
int fdt_move (const void *fdt, void *buf, int bufsize)
 fdt_move - move a device tree around in memory @fdt: pointer to the device tree to move @buf: pointer to memory where the device is to be moved @bufsize: size of the memory space at buf
 

Function Documentation

◆ check_block_()

static int check_block_ ( uint32_t  hdrsize,
uint32_t  totalsize,
uint32_t  base,
uint32_t  size 
)
static

◆ check_off_()

static int check_off_ ( uint32_t  hdrsize,
uint32_t  totalsize,
uint32_t  off 
)
static

◆ fdt_check_header()

int fdt_check_header ( const void *  fdt)

fdt_check_header - sanity check a device tree header @fdt: pointer to data which might be a flattened device tree

fdt_check_header() checks that the given buffer contains what appears to be a flattened device tree, and that the header contains valid information (to the extent that can be determined from the header alone).

returns: 0, if the buffer appears to contain a valid device tree -FDT_ERR_BADMAGIC, -FDT_ERR_BADVERSION, -FDT_ERR_BADSTATE, -FDT_ERR_TRUNCATED, standard meanings, as above

◆ fdt_check_node_offset_()

int fdt_check_node_offset_ ( const void *  fdt,
int  offset 
)

◆ fdt_check_prop_offset_()

int fdt_check_prop_offset_ ( const void *  fdt,
int  offset 
)

◆ fdt_find_string_()

const char * fdt_find_string_ ( const char *  strtab,
int  tabsize,
const char *  s 
)

◆ fdt_first_subnode()

int fdt_first_subnode ( const void *  fdt,
int  offset 
)

fdt_first_subnode() - get offset of first direct subnode @fdt: FDT blob @offset: Offset of node to check

Return: offset of first subnode, or -FDT_ERR_NOTFOUND if there is none

◆ fdt_header_size()

size_t fdt_header_size ( const void *  fdt)

fdt_header_size - return the size of the tree's header @fdt: pointer to a flattened device tree

Return: size of DTB header in bytes

◆ fdt_header_size_()

size_t fdt_header_size_ ( uint32_t  version)

fdt_header_size_ - internal function to get header size from a version number

Version
: devicetree version number

Return: size of DTB header in bytes

◆ fdt_move()

int fdt_move ( const void *  fdt,
void *  buf,
int  bufsize 
)

fdt_move - move a device tree around in memory @fdt: pointer to the device tree to move @buf: pointer to memory where the device is to be moved @bufsize: size of the memory space at buf

fdt_move() relocates, if possible, the device tree blob located at fdt to the buffer at buf of size bufsize. The buffer may overlap with the existing device tree blob at fdt. Therefore, fdt_move(fdt, fdt, fdt_totalsize(fdt)) should always succeed.

returns: 0, on success -FDT_ERR_NOSPACE, bufsize is insufficient to contain the device tree -FDT_ERR_BADMAGIC, -FDT_ERR_BADVERSION, -FDT_ERR_BADSTATE, standard meanings

◆ fdt_next_node()

int fdt_next_node ( const void *  fdt,
int  offset,
int *  depth 
)

◆ fdt_next_subnode()

int fdt_next_subnode ( const void *  fdt,
int  offset 
)

fdt_next_subnode() - get offset of next direct subnode @fdt: FDT blob @offset: Offset of previous subnode

After first calling fdt_first_subnode(), call this function repeatedly to get direct subnodes of a parent node.

Return: offset of next subnode, or -FDT_ERR_NOTFOUND if there are no more subnodes

◆ fdt_next_tag()

uint32_t fdt_next_tag ( const void *  fdt,
int  startoffset,
int *  nextoffset 
)

◆ fdt_offset_ptr()

const void * fdt_offset_ptr ( const void *  fdt,
int  offset,
unsigned int  len 
)

◆ fdt_ro_probe_()

int32_t fdt_ro_probe_ ( const void *  fdt)