1*91f16700Schasinglulu /* 2*91f16700Schasinglulu * Copyright (c) 2021-2023, Arm Limited. All rights reserved. 3*91f16700Schasinglulu * 4*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu */ 6*91f16700Schasinglulu 7*91f16700Schasinglulu #include <stdbool.h> 8*91f16700Schasinglulu 9*91f16700Schasinglulu #include <arch.h> 10*91f16700Schasinglulu #include <arch_helpers.h> 11*91f16700Schasinglulu #include <lib/extensions/trf.h> 12*91f16700Schasinglulu 13*91f16700Schasinglulu void trf_init_el3(void) 14*91f16700Schasinglulu { 15*91f16700Schasinglulu uint32_t val; 16*91f16700Schasinglulu 17*91f16700Schasinglulu /* 18*91f16700Schasinglulu * Allow access of trace filter control registers from 19*91f16700Schasinglulu * non-monitor mode. 20*91f16700Schasinglulu */ 21*91f16700Schasinglulu val = read_sdcr(); 22*91f16700Schasinglulu val &= ~(SDCR_TTRF_BIT); 23*91f16700Schasinglulu write_sdcr(val); 24*91f16700Schasinglulu } 25