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