# NXP LPC55XXX CPU0 platform configuration options

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

if SOC_LPC55S69_CPU0

config SOC
	default "lpc55S69_cpu0"

config PINMUX_MCUX_LPC
	default y
	depends on PINMUX

config SOC_FLASH_MCUX
	default y
	depends on FLASH
	depends on !TRUSTED_EXECUTION_NONSECURE

config DMA_MCUX_LPC
	default y
	depends on DMA

config USB_MCUX
	default y
	depends on USB_DEVICE_DRIVER

choice USB_MCUX_CONTROLLER_TYPE
	default USB_DC_NXP_LPCIP3511
endchoice

config COUNTER_MCUX_CTIMER
	default y
	depends on COUNTER

config I2S_MCUX_FLEXCOMM
	default y if HAS_MCUX_FLEXCOMM
	depends on I2S
	select INIT_PLL0

endif # SOC_LPC55S69_CPU0
