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

menuconfig SOC_FLASH_QMSI
	bool "QMSI flash driver"
	depends on QMSI
	select FLASH_HAS_DRIVER_ENABLED
	help
	  Enable QMSI Quark flash driver.

if SOC_FLASH_QMSI

config SOC_FLASH_QMSI_DEV_NAME
	string "QMSI flash device name"
	default "QUARK_FLASH"
	help
	  Specify the device name for the flash driver.

config SOC_FLASH_QMSI_CLK_COUNT_US
	int "System clk count per microsecond"
	default 32
	help
	  Specify the system clk cycles per microsecond.

config SOC_FLASH_QMSI_WAIT_STATES
	int "The number of flash wait states"
	default 1
	help
	  Specify the number of wait states for Quark flash.

config SOC_FLASH_QMSI_SYS_SIZE
	hex "SOC system flash size"
	help
	  Specify system flash size on the Quark SOC.

config SOC_FLASH_QMSI_API_REENTRANCY
	bool "flash driver API reentrancy for QMSI shim driver"
	help
	 Enable support for QMSI flash driver API reentrancy.

endif # SOC_FLASH_QMSI
