# 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"

if PINMUX

config PINMUX_MCUX_LPC
	default y

endif # PINMUX

if GPIO

config GPIO_MCUX_LPC
	default y

endif # GPIO

if SERIAL

config USART_MCUX_LPC
	default y

endif # SERIAL

endif # SOC_LPC55S69_CPU0
