mirror of https://github.com/OpenIPC/firmware.git
104 lines
3.9 KiB
Diff
104 lines
3.9 KiB
Diff
diff -drupN a/scripts/dtc/dtc.h b/scripts/dtc/dtc.h
|
|
--- a/scripts/dtc/dtc.h 2018-08-06 17:23:04.000000000 +0300
|
|
+++ b/scripts/dtc/dtc.h 2022-06-12 05:28:14.000000000 +0300
|
|
@@ -33,6 +33,11 @@
|
|
#include <unistd.h>
|
|
|
|
#include <libfdt_env.h>
|
|
+#include <common.h>
|
|
+#include <dictionary.h>
|
|
+#include <iniparser.h>
|
|
+#include <script.h>
|
|
+#include <script_to_dts.h>
|
|
#include <fdt.h>
|
|
|
|
#include "util.h"
|
|
@@ -53,7 +58,11 @@ extern int quiet; /* Level of quietness
|
|
extern int reservenum; /* Number of memory reservation slots */
|
|
extern int minsize; /* Minimum blob size */
|
|
extern int padsize; /* Additional padding to blob */
|
|
+extern int alignsize; /* Additional padding to blob accroding to the alignsize */
|
|
extern int phandle_format; /* Use linux,phandle or phandle properties */
|
|
+extern int generate_symbols; /* generate symbols for nodes with labels */
|
|
+extern int generate_fixups; /* generate fixups */
|
|
+extern int auto_label_aliases; /* auto generate labels -> aliases */
|
|
|
|
#define PHANDLE_LEGACY 0x1
|
|
#define PHANDLE_EPAPR 0x2
|
|
@@ -201,6 +210,8 @@ void delete_property(struct property *pr
|
|
void add_child(struct node *parent, struct node *child);
|
|
void delete_node_by_name(struct node *parent, char *name);
|
|
void delete_node(struct node *node);
|
|
+void append_to_property(struct node *node,
|
|
+ char *name, const void *data, int len);
|
|
|
|
const char *get_unitname(struct node *node);
|
|
struct property *get_property(struct node *node, const char *propname);
|
|
@@ -212,6 +223,8 @@ struct marker *get_marker_label(struct n
|
|
struct node *get_subnode(struct node *node, const char *nodename);
|
|
struct node *get_node_by_path(struct node *tree, const char *path);
|
|
struct node *get_node_by_label(struct node *tree, const char *label);
|
|
+struct node *get_node_by_type(struct node *tree, const char *device_type);
|
|
+
|
|
struct node *get_node_by_phandle(struct node *tree, cell_t phandle);
|
|
struct node *get_node_by_ref(struct node *tree, const char *ref);
|
|
cell_t get_node_phandle(struct node *root, struct node *node);
|
|
@@ -235,35 +248,44 @@ struct reserve_info *add_reserve_entry(s
|
|
struct reserve_info *new);
|
|
|
|
|
|
-struct boot_info {
|
|
+struct dt_info {
|
|
+ unsigned int dtsflags;
|
|
struct reserve_info *reservelist;
|
|
- struct node *dt; /* the device tree */
|
|
uint32_t boot_cpuid_phys;
|
|
+ struct node *dt; /* the device tree */
|
|
};
|
|
|
|
-struct boot_info *build_boot_info(struct reserve_info *reservelist,
|
|
- struct node *tree, uint32_t boot_cpuid_phys);
|
|
-void sort_tree(struct boot_info *bi);
|
|
+/* DTS version flags definitions */
|
|
+#define DTSF_V1 0x0001 /* /dts-v1/ */
|
|
+#define DTSF_PLUGIN 0x0002 /* /plugin/ */
|
|
+
|
|
+struct dt_info *build_dt_info(unsigned int dtsflags,
|
|
+ struct reserve_info *reservelist,
|
|
+ struct node *tree, uint32_t boot_cpuid_phys);
|
|
+void sort_tree(struct dt_info *dti);
|
|
+void generate_label_tree(struct dt_info *dti, char *name, bool allocph);
|
|
+void generate_fixups_tree(struct dt_info *dti, char *name);
|
|
+void generate_local_fixups_tree(struct dt_info *dti, char *name);
|
|
|
|
/* Checks */
|
|
|
|
void parse_checks_option(bool warn, bool error, const char *arg);
|
|
-void process_checks(bool force, struct boot_info *bi);
|
|
+void dirty_checks(void);
|
|
+void process_checks(bool force, struct dt_info *dti);
|
|
|
|
/* Flattened trees */
|
|
|
|
-void dt_to_blob(FILE *f, struct boot_info *bi, int version);
|
|
-void dt_to_asm(FILE *f, struct boot_info *bi, int version);
|
|
+void dt_to_blob(FILE *f, struct dt_info *dti, int version);
|
|
+void dt_to_asm(FILE *f, struct dt_info *dti, int version);
|
|
|
|
-struct boot_info *dt_from_blob(const char *fname);
|
|
+struct dt_info *dt_from_blob(const char *fname);
|
|
|
|
/* Tree source */
|
|
-
|
|
-void dt_to_source(FILE *f, struct boot_info *bi);
|
|
-struct boot_info *dt_from_source(const char *f);
|
|
+void dt_to_source(FILE *f, struct dt_info *dti);
|
|
+struct dt_info *dt_from_source(const char *f);
|
|
|
|
/* FS trees */
|
|
|
|
-struct boot_info *dt_from_fs(const char *dirname);
|
|
+struct dt_info *dt_from_fs(const char *dirname);
|
|
|
|
#endif /* _DTC_H */
|