116 lines
3.3 KiB
C
Executable File
116 lines
3.3 KiB
C
Executable File
#ifndef _UPDATETREE_H
|
|
#define _UPDATETREE_H
|
|
|
|
#include "dtc.h"
|
|
|
|
#define PRINTF_RED "\033[0;32;31m"
|
|
#define PRINTF_YELLOW "\033[1;33m"
|
|
#define PRINTF_NONE "\033[m"
|
|
|
|
/* add for sunxi sys_config parser*/
|
|
const char *of_prop_next_string(struct property *prop, const char *cur);
|
|
int of_prop_string_count(const char *prop_val, int prop_len);
|
|
int sunxi_gpio_to_name(int port, int port_num, char *name);
|
|
int sunxi_get_propval(struct node *node, const char *name);
|
|
|
|
|
|
#define of_property_for_each_string(prop, s) \
|
|
for (s = of_prop_next_string(prop, NULL); \
|
|
s; \
|
|
s = of_prop_next_string(prop, s))
|
|
|
|
#define for_each_section_in_list(secions, sec_list) \
|
|
for (sec_list = list_first(&secions); \
|
|
sec_list; \
|
|
sec_list = list_next(&secions, sec_list))
|
|
|
|
#define for_each_entry_in_section(entry, o) \
|
|
for (o = list_first(&entry); \
|
|
o; \
|
|
o = list_next(&entry, o))
|
|
|
|
|
|
int sunxi_gpio_to_name(int port, int port_num, char *name);
|
|
int dt_update_source(const char *fexname, FILE *f, struct boot_info *bi);
|
|
|
|
int process_mainkey(char *mainkey, char parent_name[], char child_name[], int *state);
|
|
int sunxi_build_new_node(struct boot_info *bi, char pnode_name[], char node_name[]);
|
|
struct node *sunxi_get_node(struct node *tree, const char *string);
|
|
|
|
|
|
cell_t sunxi_dt_add_new_node_to_pinctrl(struct node *pinctrl_node,
|
|
const char *dev_name,
|
|
const char *pname,
|
|
char *gpio_name,
|
|
int gpio_value[],
|
|
struct boot_info *bi);
|
|
|
|
int sunxi_dt_init_pinconf_prop(struct script_section *section,
|
|
struct boot_info *bi,
|
|
struct node *node,
|
|
int sleep_state);
|
|
|
|
void create_pinconf_node(const char *section_name,
|
|
struct boot_info *bi,
|
|
struct node *node,
|
|
struct script_entry *ep,
|
|
struct property *prop);
|
|
|
|
int insert_pinconf_node(const char *section_name,
|
|
struct boot_info *bi,
|
|
struct node *node,
|
|
struct script_entry *ep,
|
|
const char *prop_name);
|
|
|
|
void sunxi_dt_update_pin_group_sleep(const char *section_name,
|
|
struct boot_info *bi,
|
|
struct node *node,
|
|
struct script_entry *ep);
|
|
void sunxi_dt_update_pin_group_default(const char *section_name,
|
|
struct boot_info *bi,
|
|
struct node *node,
|
|
struct script_entry *ep);
|
|
|
|
int sunxi_update_pinconf_node( const char *section_name,
|
|
const char *prop_name,
|
|
struct boot_info *bi,
|
|
struct node *node,
|
|
struct script_entry *ep,
|
|
int value[]);
|
|
|
|
void sunxi_dt_update_gpio_group(struct boot_info *bi,
|
|
struct node *node,
|
|
struct script_entry *ep,
|
|
struct script_gpio_entry *entry);
|
|
void sunxi_dt_update_pin_group(const char *section_name,
|
|
struct boot_info *bi,
|
|
struct node *node,
|
|
struct script_entry *ep,
|
|
int sleep_state);
|
|
|
|
|
|
|
|
void sunxi_dt_update_propval_gpio(const char *section_name,
|
|
struct script_entry *ep,
|
|
struct node *node,
|
|
struct boot_info *bi,
|
|
int sleep_state);
|
|
|
|
void sunxi_dt_update_propval_string(const char *section_name,
|
|
struct script_entry *ep,
|
|
struct node *node);
|
|
|
|
void sunxi_dt_update_propval_cells(const char *section_name,
|
|
struct script_entry *ep,
|
|
struct node *node);
|
|
|
|
void sunxi_dt_update_propval_empty(const char *section_name,
|
|
struct script_entry *ep,
|
|
struct node *node);
|
|
|
|
|
|
|
|
/*end for sunxi sys_config parser */
|
|
#endif
|
|
|