# Copyright (c) 2021-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

# The Zephyr build from this defconfig is expected to boot from
# Intel Arm Trusted Firmware (ATF)
# Boot Flow: BL21 -> BL31 -> Zephyr

CONFIG_ARM_ARCH_TIMER=y

# Serial Drivers
CONFIG_SERIAL=y
CONFIG_UART_INTERRUPT_DRIVEN=y
CONFIG_UART_NS16550_ACCESS_WORD_ONLY=y

# Enable Console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y

# Enable Clock Manager
CONFIG_CLOCK_CONTROL=y

# For Misc Register Map
CONFIG_SYSCON=y
