# Intel CAVS SoC family configuration options
#
# Copyright (c) 2020 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

config SOC_FAMILY_INTEL_ADSP
	select WINSTREAM
	select ARCH_SUPPORTS_COREDUMP
	bool

if SOC_FAMILY_INTEL_ADSP

config SOC_FAMILY
	string
	default "intel_adsp"

# Select SoC Part No. and configuration options
source "soc/xtensa/intel_adsp/*/Kconfig.soc"

DT_COMPAT_INTEL_ADSP_HOST_IPC := intel,adsp-host-ipc
DT_COMPAT_INTEL_ADSP_IDC := intel,adsp-idc

config INTEL_ADSP_IPC
	bool "Driver for the host IPC interrupt delivery"
	default $(dt_compat_enabled,$(DT_COMPAT_INTEL_ADSP_HOST_IPC)) if !SOF
	default $(dt_compat_enabled,$(DT_COMPAT_INTEL_ADSP_IDC)) if !SOF
	help
	  Driver for the host IPC interrupt delivery mechanism.
	  Currently SOF has its own driver for this hardware.

config MEMORY_WIN_0_SIZE
	int "Size of memory window 0"
	default 8192
	help
	  Size of memory window 0.

	  This window is used for firmware status & outbox/uplink mbox.

config MEMORY_WIN_1_SIZE
	int "Size of memory window 1"
	default 8192
	help
	  Size of memory window 1.

	  This window is used for inbox/downlink mbox.

config MEMORY_WIN_2_SIZE
	int "Size of memory window 2"
	default 8192
	help
	  Size of memory window 2.

	  This window is used for debug.

config MEMORY_WIN_3_SIZE
	int "Size of memory window 3"
	default 8192
	help
	  Size of memory window 3.

	  This window is used for trace.

config ADSP_CLOCK
	bool
	help
	  Driver for the CAVS clocks. Allow type of clock (and
	  thus frequency) to be chosen.

config HP_SRAM_RESERVE
	int "Bytes to reserve at start of HP-SRAM"
	default 65536
	help
	  Bytes to reserve at the start of HP-SRAM.  Zephyr will not
	  place any symbols here, though the host windows have
	  addresses here.  The SOF application also makes direct use
	  of this region, so be very careful changing this value.

config ADSP_TRACE_SIMCALL
	bool "Emit SIMCALL output in addition to window tracing"
	help
	  When true, the trace_out layer will also use a SIMCALL
	  instruction to emit the passed data to the standard output
	  of an enclosing simulator process.  All window contents will
	  remain identical.

config ADSP_NEED_POWER_ON_CACHE
	bool
	help
	  Need to power cache SRAM banks on.

config ADSP_INIT_HPSRAM
	bool
	default y
	help
	  Need to init HP SRAM.

config ADSP_DISABLE_L2CACHE_AT_BOOT
	bool

config ADSP_IMR_CONTEXT_SAVE
	bool "Saves FW context into IMR before core is shut down"
	default n
	help
	  When true, FW will store its entire context into IMR before
	  entering D3 state. Later this context can be used to FW restore
	  when Host power up DSP again.

endif # SOC_FAMILY_INTEL_ADSP
