xref: /optee_os/core/arch/arm/plat-stm32mp2/stm32_util.h (revision 072babca3f30f0e79f70ba77f7cb3581f58cc502)
1bd1fffe5SGatien Chevallier /* SPDX-License-Identifier: BSD-3-Clause */
2bd1fffe5SGatien Chevallier /*
3bd1fffe5SGatien Chevallier  * Copyright (c) 2023, STMicroelectronics
4bd1fffe5SGatien Chevallier  */
5bd1fffe5SGatien Chevallier 
6bd1fffe5SGatien Chevallier #ifndef __STM32_UTIL_H__
7bd1fffe5SGatien Chevallier #define __STM32_UTIL_H__
8bd1fffe5SGatien Chevallier 
911ece294SGabriel Fernandez #include <drivers/stm32mp2_rcc_util.h>
10bd1fffe5SGatien Chevallier #include <kernel/spinlock.h>
11bd1fffe5SGatien Chevallier #include <stdint.h>
12bd1fffe5SGatien Chevallier #include <types_ext.h>
13bd1fffe5SGatien Chevallier 
14bd1fffe5SGatien Chevallier #define may_spin_lock(lock)		  cpu_spin_lock_xsave(lock)
15bd1fffe5SGatien Chevallier #define may_spin_unlock(lock, exceptions) cpu_spin_unlock_xrestore(lock, \
16bd1fffe5SGatien Chevallier 								   exceptions)
17a6a331e5SGatien Chevallier 
18a6a331e5SGatien Chevallier bool stm32mp_allow_probe_shared_device(const void *fdt, int node);
19a6a331e5SGatien Chevallier 
20*072babcaSGatien Chevallier /* Print a message and reset the system */
21*072babcaSGatien Chevallier void __noreturn do_reset(const char *str);
22*072babcaSGatien Chevallier 
23bd1fffe5SGatien Chevallier #endif /*__STM32_UTIL_H__*/
24