# FLASH configuration options

# Copyright (c) 2021 ITE Corporation. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0

config SOC_FLASH_ITE_IT8XXX2
	bool "ITE IT8XXX2 flash driver"
	depends on SOC_FAMILY_RISCV_ITE
	select SOC_FLASH_RAMCODE_SECTION
	help
	  The flash driver includes support for read, write and
	  erase flash operations. It also supports protection.
	  The it8xxx2 flash size is 1M byte.

config SOC_FLASH_RAMCODE_SECTION
	bool
	help
	  Enable this config to map the __ram_code section
	  operations of flash(flash_it8xxx2_erase,
	  flash_it8xxx2_write, flash_it8xxx2_read) to RAM.
