This driver supports the CAN devices available in some variants of Atmel's SAM4, SAM7 and SAM9 microprocessor families.
The filter mechanism present in the SAM4/7/9 CAN devices is not compatible with the filter model adopted by the CAN subsystem. Consequently the hardware filter is not used and only software filtering is applied.
The following baud rates are supported: 1Mb/s, 800kb/s, 500kb/s, 250kb/s, 125kb/s, 100kb/s, 50kb/s, 20kb/s and 10kb/s. However, the accuracy of baud rates that can be supported at any particular MCLK frequency depend on the resolution of the baud rate divisor.
For each channel X supported the CDL script provides the following configuration options:
- cdl_interface CYGINT_DEVS_CAN_CHANNELX
This determines whether the given channel is available on the board. It is usually implemented by the platform HAL.
- cdl_component CYGPKG_DEVS_CAN_CHANNELX
This defines whether the channel is active. It will default to active for all channels whose corresponding interface is implemented, but may be disabled by the user.
- cdl_option CYGPKG_DEVS_CAN_CHANNELX_NAME
This defines the name of the channel.
- cdl_option CYGPKG_DEVS_CAN_CHANNELX_MBOX_COUNT
This defines the number of mailboxes supported by the device. This is usually eight or sixteen. The HAL for the microprocessor variant will usually set this value during configuration.
- cdl_option CYGPKG_DEVS_CAN_CHANNELX_EXT
If set this option configures this channel to receive extended, 29 bit, identifiers as well as standard, 11 bit, identifiers. Otherwise it receives only 11 bit identifiers. The default is to receive both message types.