xref: /rk3399_ARM-atf/plat/xilinx/common/include/plat_fdt.h (revision 95b6c510b4044258754e791b48617640c956197c)
1 /*
2  * Copyright (c) 2023-2026, Advanced Micro Devices, Inc. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 #ifndef PLAT_FDT_H
8 #define PLAT_FDT_H
9 
10 void prepare_dtb(void);
11 uintptr_t plat_retrieve_dt_addr(void);
12 int32_t is_valid_dtb(void *fdt);
13 
14 #if defined(XILINX_OF_BOARD_DTB_ADDR)
15 int32_t add_mmap_dynamic_region(unsigned long long base_pa, uintptr_t base_va,
16 			    size_t size, unsigned int attr);
17 int32_t remove_mmap_dynamic_region(uintptr_t base_va, size_t size);
18 #else
add_mmap_dynamic_region(unsigned long long base_pa,uintptr_t base_va,size_t size,unsigned int attr)19 static inline int32_t add_mmap_dynamic_region(unsigned long long base_pa,
20 					  uintptr_t base_va,
21 					  size_t size, unsigned int attr)
22 {
23 	return 0;
24 }
25 
remove_mmap_dynamic_region(uintptr_t base_va,size_t size)26 static inline int32_t remove_mmap_dynamic_region(uintptr_t base_va, size_t size)
27 {
28 	return 0;
29 }
30 #endif
31 
32 #define MAX_RESERVE_ADDR_INDICES 32
33 struct reserve_mem_range {
34 	uintptr_t base;
35 	size_t size;
36 };
37 
38 #if (TRANSFER_LIST == 1)
39 uint32_t retrieve_reserved_entries(void);
40 struct reserve_mem_range *get_reserved_entries_fdt(uint32_t *reserve_nodes);
41 #else
retrieve_reserved_entries(void)42 static inline uint32_t retrieve_reserved_entries(void)
43 {
44 	return 0;
45 }
46 
get_reserved_entries_fdt(uint32_t * reserve_nodes)47 static inline struct reserve_mem_range *get_reserved_entries_fdt(uint32_t *reserve_nodes)
48 {
49 	if (reserve_nodes) {
50 		*reserve_nodes = 0;
51 	}
52 
53 	return NULL;
54 }
55 #endif
56 
57 #endif /* PLAT_FDT_H */
58