# Copyright (c) 2020 NXP
# SPDX-License-Identifier: Apache-2.0

config SOC_FLASH_LPC
	bool "LPC flash shim driver"
	default y
	depends on DT_HAS_NXP_LPC_IAP_ENABLED
	select FLASH_HAS_PAGE_LAYOUT
	select FLASH_HAS_DRIVER_ENABLED
	help
	  Enables the LPC IAP flash shim driver.
	  WARNING: This driver will disable the system interrupts for
	  the duration of the flash erase/write operations. This will
	  have an impact on the overall system performance - whether
	  this is acceptable or not will depend on the use case.
