1 /* 2 * Copyright (c) 2017-2019, ARM Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef STM32MP_DT_H 8 #define STM32MP_DT_H 9 10 #include <stdbool.h> 11 12 #define DT_DISABLED U(0) 13 #define DT_NON_SECURE U(1) 14 #define DT_SECURE U(2) 15 #define DT_SHARED (DT_NON_SECURE | DT_SECURE) 16 17 struct dt_node_info { 18 uint32_t base; 19 int32_t clock; 20 int32_t reset; 21 uint32_t status; 22 }; 23 24 /******************************************************************************* 25 * Function and variable prototypes 26 ******************************************************************************/ 27 int dt_open_and_check(void); 28 int fdt_get_address(void **fdt_addr); 29 bool fdt_check_node(int node); 30 uint8_t fdt_get_status(int node); 31 int fdt_get_reg_props_by_name(int node, const char *name, uintptr_t *base, 32 size_t *size); 33 int dt_set_stdout_pinctrl(void); 34 void dt_fill_device_info(struct dt_node_info *info, int node); 35 int dt_get_node(struct dt_node_info *info, int offset, const char *compat); 36 int dt_get_stdout_uart_info(struct dt_node_info *info); 37 uint32_t dt_get_ddr_size(void); 38 uintptr_t dt_get_ddrctrl_base(void); 39 uintptr_t dt_get_ddrphyc_base(void); 40 uintptr_t dt_get_pwr_base(void); 41 uint32_t dt_get_pwr_vdd_voltage(void); 42 uintptr_t dt_get_syscfg_base(void); 43 const char *dt_get_board_model(void); 44 45 #endif /* STM32MP_DT_H */ 46