Skip to content
Snippets Groups Projects
stm32mp1_private.h 1.15 KiB
Newer Older
  • Learn to ignore specific revisions
  •  * Copyright (c) 2015-2020, ARM Limited and Contributors. All rights reserved.
    
     *
     * SPDX-License-Identifier: BSD-3-Clause
     */
    
    
    #ifndef STM32MP1_PRIVATE_H
    #define STM32MP1_PRIVATE_H
    
    #include <stdint.h>
    
    #include <drivers/st/etzpc.h>
    
    
    enum boot_device_e {
    	BOOT_DEVICE_USB,
    	BOOT_DEVICE_BOARD
    };
    
    
    struct bl2_to_bl32_args {
    	void (*stm32_pwr_down_wfi)(bool is_cstop);
    	uintptr_t bl2_code_base;
    	uintptr_t bl2_code_end;
    	uintptr_t bl2_end;
    };
    
    
    void configure_mmu(void);
    
    
    void stm32mp_mask_timer(void);
    void __dead2 stm32mp_wait_cpu_reset(void);
    
    
    void stm32mp1_arch_security_setup(void);
    
    void stm32mp1_security_setup(void);
    
    enum boot_device_e get_boot_device(void);
    
    
    bool stm32mp1_addr_inside_backupsram(uintptr_t addr);
    
    bool stm32mp1_is_wakeup_from_standby(void);
    
    
    enum etzpc_decprot_attributes stm32mp_etzpc_binding2decprot(uint32_t mode);
    
    
    void stm32mp1_syscfg_init(void);
    void stm32mp1_syscfg_enable_io_compensation(void);
    void stm32mp1_syscfg_disable_io_compensation(void);
    
    
    void stm32mp1_init_scmi_server(void);
    
    void stm32mp1_pm_save_scmi_state(uint8_t *state, size_t size);
    void stm32mp1_pm_restore_scmi_state(uint8_t *state, size_t size);
    
    #endif /* STM32MP1_PRIVATE_H */