1*155ebf23SPascal Paillet /* SPDX-License-Identifier: BSD-2-Clause */ 2*155ebf23SPascal Paillet /* 3*155ebf23SPascal Paillet * Copyright (c) 2022-2024, STMicroelectronics 4*155ebf23SPascal Paillet */ 5*155ebf23SPascal Paillet 6*155ebf23SPascal Paillet #ifndef DRIVERS_STM32_CPU_OPP_H 7*155ebf23SPascal Paillet #define DRIVERS_STM32_CPU_OPP_H 8*155ebf23SPascal Paillet 9*155ebf23SPascal Paillet #include <tee_api_types.h> 10*155ebf23SPascal Paillet 11*155ebf23SPascal Paillet /* Get the actual number of CPU operating points */ 12*155ebf23SPascal Paillet unsigned int stm32_cpu_opp_count(void); 13*155ebf23SPascal Paillet 14*155ebf23SPascal Paillet /* Get sustained frequency level */ 15*155ebf23SPascal Paillet unsigned int stm32_cpu_opp_sustained_level(void); 16*155ebf23SPascal Paillet 17*155ebf23SPascal Paillet /* Get level value identifying CPU operating point @opp_index */ 18*155ebf23SPascal Paillet unsigned int stm32_cpu_opp_level(unsigned int opp); 19*155ebf23SPascal Paillet 20*155ebf23SPascal Paillet /* Request to switch to CPU operating point related to @level */ 21*155ebf23SPascal Paillet TEE_Result stm32_cpu_opp_set_level(unsigned int level); 22*155ebf23SPascal Paillet 23*155ebf23SPascal Paillet /* Get level (Freq KHz) related to current CPU operating point */ 24*155ebf23SPascal Paillet TEE_Result stm32_cpu_opp_read_level(unsigned int *level); 25*155ebf23SPascal Paillet 26*155ebf23SPascal Paillet #endif /*DRIVERS_STM32_CPU_OPP_H*/ 27