1 /*
2 * Copyright (c) 2015-2024, Arm Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7 #ifndef STM32MP1_PRIVATE_H
8 #define STM32MP1_PRIVATE_H
9
10 #include <stdint.h>
11
12 void configure_mmu(void);
13
14 void stm32mp1_arch_security_setup(void);
15 void stm32mp1_security_setup(void);
16
17 void stm32mp1_syscfg_init(void);
18 void stm32mp1_syscfg_enable_io_compensation_start(void);
19 void stm32mp1_syscfg_enable_io_compensation_finish(void);
20 void stm32mp1_syscfg_disable_io_compensation(void);
21 uint32_t stm32mp1_syscfg_get_chip_version(void);
22 uint32_t stm32mp1_syscfg_get_chip_dev_id(void);
23 #if STM32MP13
24 void stm32mp1_syscfg_boot_mode_enable(void);
25 void stm32mp1_syscfg_boot_mode_disable(void);
26 #endif
27 #if STM32MP15
stm32mp1_syscfg_boot_mode_enable(void)28 static inline void stm32mp1_syscfg_boot_mode_enable(void){}
stm32mp1_syscfg_boot_mode_disable(void)29 static inline void stm32mp1_syscfg_boot_mode_disable(void){}
30 #endif
31
32 void stm32mp1_deconfigure_uart_pins(void);
33
34 void stm32mp1_init_scmi_server(void);
35
36 /* Wrappers for OTP / BSEC functions */
stm32_otp_read(uint32_t * val,uint32_t otp)37 static inline uint32_t stm32_otp_read(uint32_t *val, uint32_t otp)
38 {
39 return bsec_read_otp(val, otp);
40 }
41
stm32_otp_shadow_read(uint32_t * val,uint32_t otp)42 static inline uint32_t stm32_otp_shadow_read(uint32_t *val, uint32_t otp)
43 {
44 return bsec_shadow_read_otp(val, otp);
45 }
46
stm32_otp_write(uint32_t val,uint32_t otp)47 static inline uint32_t stm32_otp_write(uint32_t val, uint32_t otp)
48 {
49 return bsec_write_otp(val, otp);
50 }
51
stm32_otp_set_sr_lock(uint32_t otp)52 static inline uint32_t stm32_otp_set_sr_lock(uint32_t otp)
53 {
54 return bsec_set_sr_lock(otp);
55 }
56
stm32_otp_read_sw_lock(uint32_t otp,bool * value)57 static inline uint32_t stm32_otp_read_sw_lock(uint32_t otp, bool *value)
58 {
59 return bsec_read_sw_lock(otp, value);
60 }
61
62 #endif /* STM32MP1_PRIVATE_H */
63