# 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
	select CAN_HAS_RX_TIMESTAMP
	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.
