xref: /rk3399_ARM-atf/plat/st/stm32mp1/include/stm32mp1_private.h (revision 4e9b49806df0b06033077b196218f03cc24ba1a5)
14353bb20SYann Gautier /*
23007c728SYann Gautier  * Copyright (c) 2015-2024, Arm Limited and Contributors. All rights reserved.
34353bb20SYann Gautier  *
44353bb20SYann Gautier  * SPDX-License-Identifier: BSD-3-Clause
54353bb20SYann Gautier  */
64353bb20SYann Gautier 
7c3cf06f1SAntonio Nino Diaz #ifndef STM32MP1_PRIVATE_H
8c3cf06f1SAntonio Nino Diaz #define STM32MP1_PRIVATE_H
9c3cf06f1SAntonio Nino Diaz 
10c3cf06f1SAntonio Nino Diaz #include <stdint.h>
114353bb20SYann Gautier 
124353bb20SYann Gautier void configure_mmu(void);
134353bb20SYann Gautier 
1410a511ceSYann Gautier void stm32mp1_arch_security_setup(void);
15964dfee1SYann Gautier void stm32mp1_security_setup(void);
1610a511ceSYann Gautier 
17*4b1826c8SMaxime Méré void stm32mp_syscfg_init(void);
18*4b1826c8SMaxime Méré void stm32mp_syscfg_enable_io_compensation_start(void);
19*4b1826c8SMaxime Méré void stm32mp_syscfg_enable_io_compensation_finish(void);
20*4b1826c8SMaxime Méré void stm32mp_syscfg_disable_io_compensation(void);
21*4b1826c8SMaxime Méré uint32_t stm32mp_syscfg_get_chip_version(void);
22*4b1826c8SMaxime Méré uint32_t stm32mp_syscfg_get_chip_dev_id(void);
23296ac801SNicolas Toromanoff #if STM32MP13
24*4b1826c8SMaxime Méré void stm32mp_syscfg_boot_mode_enable(void);
25*4b1826c8SMaxime Méré void stm32mp_syscfg_boot_mode_disable(void);
26296ac801SNicolas Toromanoff #endif
27296ac801SNicolas Toromanoff #if STM32MP15
stm32mp_syscfg_boot_mode_enable(void)28*4b1826c8SMaxime Méré static inline void stm32mp_syscfg_boot_mode_enable(void){}
stm32mp_syscfg_boot_mode_disable(void)29*4b1826c8SMaxime Méré static inline void stm32mp_syscfg_boot_mode_disable(void){}
30296ac801SNicolas Toromanoff #endif
31f33b2433SYann Gautier 
32d7176f03SYann Gautier void stm32mp1_deconfigure_uart_pins(void);
33d7176f03SYann Gautier 
34fdaaaeb4SEtienne Carriere void stm32mp1_init_scmi_server(void);
353007c728SYann Gautier 
363007c728SYann Gautier /* Wrappers for OTP / BSEC functions */
stm32_otp_read(uint32_t * val,uint32_t otp)373007c728SYann Gautier static inline uint32_t stm32_otp_read(uint32_t *val, uint32_t otp)
383007c728SYann Gautier {
393007c728SYann Gautier 	return bsec_read_otp(val, otp);
403007c728SYann Gautier }
413007c728SYann Gautier 
stm32_otp_shadow_read(uint32_t * val,uint32_t otp)423007c728SYann Gautier static inline uint32_t stm32_otp_shadow_read(uint32_t *val, uint32_t otp)
433007c728SYann Gautier {
443007c728SYann Gautier 	return bsec_shadow_read_otp(val, otp);
453007c728SYann Gautier }
463007c728SYann Gautier 
stm32_otp_write(uint32_t val,uint32_t otp)473007c728SYann Gautier static inline uint32_t stm32_otp_write(uint32_t val, uint32_t otp)
483007c728SYann Gautier {
493007c728SYann Gautier 	return bsec_write_otp(val, otp);
503007c728SYann Gautier }
513007c728SYann Gautier 
stm32_otp_set_sr_lock(uint32_t otp)523007c728SYann Gautier static inline uint32_t stm32_otp_set_sr_lock(uint32_t otp)
533007c728SYann Gautier {
543007c728SYann Gautier 	return bsec_set_sr_lock(otp);
553007c728SYann Gautier }
563007c728SYann Gautier 
stm32_otp_read_sw_lock(uint32_t otp,bool * value)573007c728SYann Gautier static inline uint32_t stm32_otp_read_sw_lock(uint32_t otp, bool *value)
583007c728SYann Gautier {
593007c728SYann Gautier 	return bsec_read_sw_lock(otp, value);
603007c728SYann Gautier }
613007c728SYann Gautier 
62c3cf06f1SAntonio Nino Diaz #endif /* STM32MP1_PRIVATE_H */
63