# MIMXRT595-EVK board

# Copyright 2022-2023, NXP
# SPDX-License-Identifier: Apache-2.0

if BOARD_MIMXRT595_EVK_MIMXRT595S_CM33

config FLASH_MCUX_FLEXSPI_MX25UM51345G
	default y if FLASH

choice FLASH_MCUX_FLEXSPI_XIP_MEM_TARGET
	default FLASH_MCUX_FLEXSPI_XIP_MEM_SRAM
endchoice

config FXOS8700_DRDY_INT1
	default y
	depends on FXOS8700_TRIGGER

if DMA_MCUX_LPC

# Memory from the heap pool is used to allocate DMA descriptors for
# channels that use multiple blocks for a DMA transfer.
# Adjust HEAP_MEM_POOL_MIN_SIZE in case you need more memory.
config HEAP_MEM_POOL_ADD_SIZE_BOARD
	int
	default 4096

endif # DMA_MCUX_LPC

# Turn on Device Level Power Management as we wish
# to reconfigure the FlexSPI pins for power savings
# when transitioning the SoC to Deep Low Power modes.
config PM_DEVICE
	default y if PM

config REGULATOR
	default y if PM || POWEROFF

endif # BOARD_MIMXRT595_EVK_MIMXRT595S_CM33
