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