1f652e6afSaurel32 /* 2f652e6afSaurel32 * Header with function prototypes to help device tree manipulation using 3f652e6afSaurel32 * libfdt. It also provides functions to read entries from device tree proc 4f652e6afSaurel32 * interface. 5f652e6afSaurel32 * 6f652e6afSaurel32 * Copyright 2008 IBM Corporation. 7f652e6afSaurel32 * Authors: Jerone Young <jyoung5@us.ibm.com> 8f652e6afSaurel32 * Hollis Blanchard <hollisb@us.ibm.com> 9f652e6afSaurel32 * 10f652e6afSaurel32 * This work is licensed under the GNU GPL license version 2 or later. 11f652e6afSaurel32 * 12f652e6afSaurel32 */ 13f652e6afSaurel32 14f652e6afSaurel32 #ifndef __DEVICE_TREE_H__ 15f652e6afSaurel32 #define __DEVICE_TREE_H__ 16f652e6afSaurel32 177ec632b4Spbrook void *load_device_tree(const char *filename_path, int *sizep); 18f652e6afSaurel32 19f652e6afSaurel32 int qemu_devtree_setprop(void *fdt, const char *node_path, 20c4897490SDavid Gibson const char *property, void *val_array, int size); 21f652e6afSaurel32 int qemu_devtree_setprop_cell(void *fdt, const char *node_path, 22f652e6afSaurel32 const char *property, uint32_t val); 23f652e6afSaurel32 int qemu_devtree_setprop_string(void *fdt, const char *node_path, 24f652e6afSaurel32 const char *property, const char *string); 25d69a8e63SAlexander Graf int qemu_devtree_nop_node(void *fdt, const char *node_path); 2680ad7816SAlexander Graf int qemu_devtree_add_subnode(void *fdt, const char *name); 27f652e6afSaurel32 28*7ae2291eSAlexander Graf #define qemu_devtree_setprop_cells(fdt, node_path, property, ...) \ 29*7ae2291eSAlexander Graf do { \ 30*7ae2291eSAlexander Graf uint32_t qdt_tmp[] = { __VA_ARGS__ }; \ 31*7ae2291eSAlexander Graf int i; \ 32*7ae2291eSAlexander Graf \ 33*7ae2291eSAlexander Graf for (i = 0; i < ARRAY_SIZE(qdt_tmp); i++) { \ 34*7ae2291eSAlexander Graf qdt_tmp[i] = cpu_to_be32(qdt_tmp[i]); \ 35*7ae2291eSAlexander Graf } \ 36*7ae2291eSAlexander Graf qemu_devtree_setprop(fdt, node_path, property, qdt_tmp, \ 37*7ae2291eSAlexander Graf sizeof(qdt_tmp)); \ 38*7ae2291eSAlexander Graf } while (0) 39*7ae2291eSAlexander Graf 40f652e6afSaurel32 #endif /* __DEVICE_TREE_H__ */ 41