blob: 329cf982a2e56ab2748bb98627fb11bb429b0977 [file] [log] [blame]
johpow0181865962022-01-28 17:06:20 -06001/*
2 * Copyright (c) 2022, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#include <arch.h>
Jayanth Dodderi Chidanand69316752022-05-09 12:33:03 +01008#include <arch_features.h>
johpow0181865962022-01-28 17:06:20 -06009#include <arch_helpers.h>
10
johpow0181865962022-01-28 17:06:20 -060011void brbe_enable(void)
12{
13 uint64_t val;
14
Andre Przywarac97c5512022-11-17 16:42:09 +000015 /*
16 * MDCR_EL3.SBRBE = 0b01
17 *
18 * Allows BRBE usage in non-secure world and prohibited in
19 * secure world.
20 */
21 val = read_mdcr_el3();
22 val &= ~(MDCR_SBRBE_MASK << MDCR_SBRBE_SHIFT);
23 val |= (0x1UL << MDCR_SBRBE_SHIFT);
24 write_mdcr_el3(val);
johpow0181865962022-01-28 17:06:20 -060025}