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 28*4b1826c8SMaxime Méré static inline void stm32mp_syscfg_boot_mode_enable(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 */ 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 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 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 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 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