1*54fd6939SJiyong Park /* 2*54fd6939SJiyong Park * Copyright (c) 2017-2020, STMicroelectronics - All Rights Reserved 3*54fd6939SJiyong Park * 4*54fd6939SJiyong Park * SPDX-License-Identifier: BSD-3-Clause 5*54fd6939SJiyong Park */ 6*54fd6939SJiyong Park 7*54fd6939SJiyong Park #ifndef DRIVERS_ST_ETZPC_H 8*54fd6939SJiyong Park #define DRIVERS_ST_ETZPC_H 9*54fd6939SJiyong Park 10*54fd6939SJiyong Park #include <stdbool.h> 11*54fd6939SJiyong Park #include <stdint.h> 12*54fd6939SJiyong Park 13*54fd6939SJiyong Park /* Define security level for each peripheral (DECPROT) */ 14*54fd6939SJiyong Park enum etzpc_decprot_attributes { 15*54fd6939SJiyong Park ETZPC_DECPROT_S_RW = 0, 16*54fd6939SJiyong Park ETZPC_DECPROT_NS_R_S_W = 1, 17*54fd6939SJiyong Park ETZPC_DECPROT_MCU_ISOLATION = 2, 18*54fd6939SJiyong Park ETZPC_DECPROT_NS_RW = 3, 19*54fd6939SJiyong Park ETZPC_DECPROT_MAX = 4, 20*54fd6939SJiyong Park }; 21*54fd6939SJiyong Park 22*54fd6939SJiyong Park void etzpc_configure_decprot(uint32_t decprot_id, 23*54fd6939SJiyong Park enum etzpc_decprot_attributes decprot_attr); 24*54fd6939SJiyong Park enum etzpc_decprot_attributes etzpc_get_decprot(uint32_t decprot_id); 25*54fd6939SJiyong Park void etzpc_lock_decprot(uint32_t decprot_id); 26*54fd6939SJiyong Park 27*54fd6939SJiyong Park void etzpc_configure_tzma(uint32_t tzma_id, uint16_t tzma_value); 28*54fd6939SJiyong Park uint16_t etzpc_get_tzma(uint32_t tzma_id); 29*54fd6939SJiyong Park void etzpc_lock_tzma(uint32_t tzma_id); 30*54fd6939SJiyong Park bool etzpc_get_lock_tzma(uint32_t tzma_id); 31*54fd6939SJiyong Park 32*54fd6939SJiyong Park uint8_t etzpc_get_num_per_sec(void); 33*54fd6939SJiyong Park uint8_t etzpc_get_revision(void); 34*54fd6939SJiyong Park uintptr_t etzpc_get_base_address(void); 35*54fd6939SJiyong Park 36*54fd6939SJiyong Park int etzpc_init(void); 37*54fd6939SJiyong Park 38*54fd6939SJiyong Park #endif /* DRIVERS_ST_ETZPC_H */ 39