# Copyright (c) 2023 EPAM Systems
# SPDX-License-Identifier: Apache-2.0

# Cache management
CONFIG_CACHE_MANAGEMENT=y

# Enable UART driver
CONFIG_SERIAL=y
CONFIG_AARCH64_IMAGE_HEADER=y
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=8300000
CONFIG_XIP=n

CONFIG_MAX_XLAT_TABLES=24
CONFIG_ARMV8_A_NS=y

# Enable console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y

# Enable clock control
CONFIG_CLOCK_CONTROL=y
