# MCP2515 CAN configuration options

# Copyright (c) 2018 Karsten Koenig
# SPDX-License-Identifier: Apache-2.0

config CAN_MCP2515
	bool "MCP2515 CAN Driver"
	depends on SPI
	select CAN_AUTO_BUS_OFF_RECOVERY
	help
	  Enable MCP2515 CAN Driver

if CAN_MCP2515

config CAN_MCP2515_INT_THREAD_STACK_SIZE
	int "Stack size for interrupt handler"
	default 512
	help
	  Size of the stack used for internal thread which is ran for
	  interrupt handling and incoming packets.

config CAN_MCP2515_INT_THREAD_PRIO
	int "Priority for interrupt handler"
	default 2
	help
	  Priority level of the internal thread which is ran for
	  interrupt handling and incoming packets.

config CAN_MAX_FILTER
	int "Maximum number of concurrent active filters"
	default 5
	range 1 32
	help
	  Defines the array size of the callback/msgq pointers.
	  Must be at least the size of concurrent reads.


config CAN_MCP2515_INIT_PRIORITY
	int "Init priority"
	default 80
	help
	  MCP2515 driver initialization priority, must be higher than SPI.

endif # CAN_MCP2515
