# Copyright 2022 HNU-ESNL
# Copyright 2022 openEuler SIG-Zephyr
# SPDX-License-Identifier: Apache-2.0

# Platform Configuration
CONFIG_ARM_ARCH_TIMER=y

# Serial Drivers
CONFIG_SERIAL=y
CONFIG_UART_NS16550=y
CONFIG_UART_INTERRUPT_DRIVEN=y

# Enable console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y

# ARMv8 NS world with cache management
CONFIG_ARMV8_A_NS=y
CONFIG_CACHE_MANAGEMENT=y
CONFIG_DCACHE=y

# Clock support
CONFIG_CLOCK_CONTROL=y
CONFIG_TICKLESS_KERNEL=y

# SMP support
CONFIG_SMP=y
CONFIG_MP_MAX_NUM_CPUS=4
CONFIG_MAX_THREAD_BYTES=4

# PSCI support
CONFIG_PM_CPU_OPS=y
CONFIG_PM_CPU_OPS_PSCI=y
