mirror of https://github.com/OpenIPC/firmware.git
120 lines
3.6 KiB
Diff
120 lines
3.6 KiB
Diff
diff -drupN a/scripts/dtc/updatetree.h b/scripts/dtc/updatetree.h
|
|
--- a/scripts/dtc/updatetree.h 1970-01-01 03:00:00.000000000 +0300
|
|
+++ b/scripts/dtc/updatetree.h 2022-06-12 05:28:14.000000000 +0300
|
|
@@ -0,0 +1,115 @@
|
|
+#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 dt_info *dti);
|
|
+
|
|
+int process_mainkey(char *mainkey, char parent_name[], char child_name[], int *state);
|
|
+int sunxi_build_new_node(struct dt_info *dti, 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 dt_info *dti);
|
|
+
|
|
+int sunxi_dt_init_pinconf_prop(struct script_section *section,
|
|
+ struct dt_info *dti,
|
|
+ struct node *node,
|
|
+ int sleep_state);
|
|
+
|
|
+void create_pinconf_node(const char *section_name,
|
|
+ struct dt_info *dti,
|
|
+ struct node *node,
|
|
+ struct script_entry *ep,
|
|
+ struct property *prop);
|
|
+
|
|
+int insert_pinconf_node(const char *section_name,
|
|
+ struct dt_info *dti,
|
|
+ struct node *node,
|
|
+ struct script_entry *ep,
|
|
+ const char *prop_name);
|
|
+
|
|
+void sunxi_dt_update_pin_group_sleep(const char *section_name,
|
|
+ struct dt_info *dti,
|
|
+ struct node *node,
|
|
+ struct script_entry *ep);
|
|
+void sunxi_dt_update_pin_group_default(const char *section_name,
|
|
+ struct dt_info *dti,
|
|
+ struct node *node,
|
|
+ struct script_entry *ep);
|
|
+
|
|
+int sunxi_update_pinconf_node( const char *section_name,
|
|
+ const char *prop_name,
|
|
+ struct dt_info *dti,
|
|
+ struct node *node,
|
|
+ struct script_entry *ep,
|
|
+ int value[]);
|
|
+
|
|
+void sunxi_dt_update_gpio_group(struct dt_info *dti,
|
|
+ struct node *node,
|
|
+ struct script_entry *ep,
|
|
+ struct script_gpio_entry *entry);
|
|
+void sunxi_dt_update_pin_group(const char *section_name,
|
|
+ struct dt_info *dti,
|
|
+ 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 dt_info *dti,
|
|
+ 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
|
|
+
|