# MCUX CAN configuration options

# Copyright (c) 2019 Vestas Wind Systems A/S
# SPDX-License-Identifier: Apache-2.0

config CAN_MCUX_FLEXCAN
	bool "MCUX FlexCAN driver"
	default y
	depends on DT_HAS_NXP_KINETIS_FLEXCAN_ENABLED
	depends on CLOCK_CONTROL
	help
	  Enable support for mcux flexcan driver.

config CAN_MAX_FILTER
	int "Maximum number of concurrent active RX filters"
	depends on CAN_MCUX_FLEXCAN
	default 5
	range 1 15 if SOC_SERIES_KINETIS_KE1XF || SOC_SERIES_KINETIS_K6X
	range 1 63 if SOC_SERIES_IMX_RT
	help
	  Defines maximum number of concurrent active RX filters

config CAN_MCUX_MCAN
	bool "MCUX MCAN driver"
	default y
	depends on DT_HAS_NXP_LPC_MCAN_ENABLED
	depends on CLOCK_CONTROL
	select CAN_MCAN
	help
	  Enable support for mcux mcan driver.
