blob: 23934e92fd41e1c644c35760b40f519e5412ce3c [file] [log] [blame]
Yann Gautier4b0c72a2018-07-16 10:54:09 +02001/*
Yann Gautierb76c61a2020-12-16 10:17:35 +01002 * Copyright (c) 2015-2022, ARM Limited and Contributors. All rights reserved.
Yann Gautier4b0c72a2018-07-16 10:54:09 +02003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +00007#ifndef STM32MP1_PRIVATE_H
8#define STM32MP1_PRIVATE_H
9
10#include <stdint.h>
Yann Gautier4b0c72a2018-07-16 10:54:09 +020011
Yann Gautier4b0c72a2018-07-16 10:54:09 +020012void configure_mmu(void);
13
Yann Gautiercaf575b2018-07-24 17:18:19 +020014void stm32mp1_arch_security_setup(void);
Yann Gautier9d135e42018-07-16 19:36:06 +020015void stm32mp1_security_setup(void);
Yann Gautiercaf575b2018-07-24 17:18:19 +020016
Yann Gautier9d135e42018-07-16 19:36:06 +020017void stm32mp1_gic_pcpu_init(void);
18void stm32mp1_gic_init(void);
19
Yann Gautier3edc7c32019-05-20 19:17:08 +020020void stm32mp1_syscfg_init(void);
Yann Gautierb76c61a2020-12-16 10:17:35 +010021void stm32mp1_syscfg_enable_io_compensation_start(void);
22void stm32mp1_syscfg_enable_io_compensation_finish(void);
Yann Gautier3edc7c32019-05-20 19:17:08 +020023void stm32mp1_syscfg_disable_io_compensation(void);
Yann Gautierf36a1d32020-04-21 15:03:59 +020024uint32_t stm32mp1_syscfg_get_chip_version(void);
25uint32_t stm32mp1_syscfg_get_chip_dev_id(void);
Nicolas Toromanoff1877b132021-02-03 16:52:03 +010026#if STM32MP13
27void stm32mp1_syscfg_boot_mode_enable(void);
28void stm32mp1_syscfg_boot_mode_disable(void);
29#endif
30#if STM32MP15
31static inline void stm32mp1_syscfg_boot_mode_enable(void){}
32static inline void stm32mp1_syscfg_boot_mode_disable(void){}
33#endif
Yann Gautier3edc7c32019-05-20 19:17:08 +020034
Yann Gautiercd16df32021-06-04 14:04:05 +020035void stm32mp1_deconfigure_uart_pins(void);
36
Lionel Debieve1dc5e2e2020-09-27 21:13:53 +020037#if STM32MP_USE_STM32IMAGE
Yann Gautier8f268c82020-02-26 13:39:44 +010038uint32_t stm32mp_get_ddr_ns_size(void);
Lionel Debieve1dc5e2e2020-09-27 21:13:53 +020039#endif /* STM32MP_USE_STM32IMAGE */
Etienne Carriere34f0e932020-07-16 17:36:18 +020040
41void stm32mp1_init_scmi_server(void);
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +000042#endif /* STM32MP1_PRIVATE_H */