1 /*
2  * Copyright (c) 2006-2023, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 #include "dtb_node.h"
7 
8 static void *dtb_root = NULL;
9 static struct dtb_node *dtb_node_list = NULL;
get_fdt_blob(void)10 void *get_fdt_blob(void)
11 {
12     return dtb_root;
13 }
14 
get_dtb_node_head(void)15 struct dtb_node *get_dtb_node_head(void)
16 {
17     return dtb_node_list;
18 }
19 
dtb_node_active(void)20 rt_bool_t dtb_node_active(void)
21 {
22     return dtb_node_list != NULL;
23 }
24 
device_tree_setup(void * mem_addr)25 int device_tree_setup(void *mem_addr)
26 {
27     if(mem_addr)
28     {
29         if ((dtb_root = dtb_node_load_from_memory(mem_addr,1)) != NULL)
30         {
31             dtb_node_list = dtb_node_get_dtb_list(dtb_root);
32             if (dtb_node_list != NULL)
33             {
34                 return -1;
35             }
36         }
37         return 0;
38     }
39 
40     return -1;
41 }
42