# SPDX-License-Identifier: Apache-2.0
#
# Copyright (c) 2021 ASPEED Technology Inc.

config SOC_SERIES_AST10X0
	select ARM
	select CPU_CORTEX_M4
	select CPU_HAS_FPU
	select CPU_HAS_ARM_MPU
	select SYSCON
	select CACHE
	select CPU_HAS_DCACHE
	select CPU_HAS_ICACHE
	select CACHE_MANAGEMENT
	select CACHE_ASPEED

if SOC_SERIES_AST10X0

config SRAM_NC_SIZE
	int "noncached SRAM Size in kB"
	help
	  The non-cached SRAM size in kB. The default value comes from reg[1]
	  of /chosen/zephyr,sram in devicetree. The user should generally avoid
	  changing it via menuconfig or in configuration files.

config SRAM_NC_BASE_ADDRESS
	hex "noncached SRAM Base Address"
	help
	  The non-cached SRAM base address. The default value comes from from
	  reg[1] of /chosen/zephyr,sram in devicetree. The user should
	  generally avoid changing it via menuconfig or in configuration files.

endif # SOC_SERIES_AST10X0
