# Bosch m_can configuration options

# Copyright (c) 2020 Alexander Wachter
# SPDX-License-Identifier: Apache-2.0

config CAN_MCAN
	bool
	select CAN_HAS_CANFD
	help
	  Enable Bosch m_can driver.
	  This driver supports the Bosch m_can IP. This IP is built into the
	  STM32G4, STM32G0, STM32H7, and the Microchip SAM controllers with
	  CAN-FD.

if CAN_MCAN

config CAN_DELAY_COMP
	bool "Transceiver delay compensation"
	default y
	help
	  Enable the automatic transceiver delay compensation.

endif #CAN_MCAN
