# Copyright (c) 2022-2023, Intel Corporation.
# SPDX-License-Identifier: Apache-2.0

# Misc
CONFIG_HEAP_MEM_POOL_SIZE=16384
CONFIG_SHELL_STACK_SIZE=8192

# Setting the Shell prompt
CONFIG_SHELL_PROMPT_UART="agilex5$ "

# Setting the max argc
CONFIG_SHELL_ARGC_MAX=12

# Enable the Zephyr boot banner
CONFIG_BOOT_BANNER=y

# Enable timer driver
CONFIG_COUNTER=y

# Enable Timer shell commands
CONFIG_COUNTER_SHELL=y

#SiP SVC Service
CONFIG_ARM_SIP_SVC_DRIVER=y
CONFIG_ARM_SIP_SVC_SUBSYS=y
CONFIG_ARM_SIP_SVC_SUBSYS_SINGLY_OPEN=y

#SiP SVC Service Shell
CONFIG_ARM_SIP_SVC_SUBSYS_SHELL=y

# Enable File System Shell
CONFIG_FILE_SYSTEM_SHELL=y

# Enable Disk access
CONFIG_DISK_ACCESS=y

# File System Setting
CONFIG_FILE_SYSTEM=y
CONFIG_FAT_FILESYSTEM_ELM=y

# Enable SDMMC
CONFIG_DISK_DRIVER_SDMMC=y

# Enable SDHC
CONFIG_SDHC=y
