mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 09:19:51 +00:00
![Bhupesh Sharma](/assets/img/avatar_default.png)
Bosch C_CAN controller is a full-CAN implementation which is compliant to CAN protocol version 2.0 part A and B. Bosch C_CAN user manual can be obtained from: http://www.semiconductors.bosch.de/media/en/pdf/ipmodules_1/c_can/users_manual_c_can.pdf This patch adds the support for this controller. The following are the design choices made while writing the controller driver: 1. Interface Register set IF1 has be used only in the current design. 2. Out of the 32 Message objects available, 16 are kept aside for RX purposes and the rest for TX purposes. 3. NAPI implementation is such that both the TX and RX paths function in polling mode. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@st.com> Signed-off-by: David S. Miller <davem@davemloft.net>
134 lines
4.2 KiB
Text
134 lines
4.2 KiB
Text
menu "CAN Device Drivers"
|
|
depends on CAN
|
|
|
|
config CAN_VCAN
|
|
tristate "Virtual Local CAN Interface (vcan)"
|
|
depends on CAN
|
|
default N
|
|
---help---
|
|
Similar to the network loopback devices, vcan offers a
|
|
virtual local CAN interface.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called vcan.
|
|
|
|
config CAN_SLCAN
|
|
tristate "Serial / USB serial CAN Adaptors (slcan)"
|
|
depends on CAN
|
|
default N
|
|
---help---
|
|
CAN driver for several 'low cost' CAN interfaces that are attached
|
|
via serial lines or via USB-to-serial adapters using the LAWICEL
|
|
ASCII protocol. The driver implements the tty linediscipline N_SLCAN.
|
|
|
|
As only the sending and receiving of CAN frames is implemented, this
|
|
driver should work with the (serial/USB) CAN hardware from:
|
|
www.canusb.com / www.can232.com / www.mictronics.de / www.canhack.de
|
|
|
|
Userspace tools to attach the SLCAN line discipline (slcan_attach,
|
|
slcand) can be found in the can-utils at the SocketCAN SVN, see
|
|
http://developer.berlios.de/projects/socketcan for details.
|
|
|
|
The slcan driver supports up to 10 CAN netdevices by default which
|
|
can be changed by the 'maxdev=xx' module option. This driver can
|
|
also be built as a module. If so, the module will be called slcan.
|
|
|
|
config CAN_DEV
|
|
tristate "Platform CAN drivers with Netlink support"
|
|
depends on CAN
|
|
default Y
|
|
---help---
|
|
Enables the common framework for platform CAN drivers with Netlink
|
|
support. This is the standard library for CAN drivers.
|
|
If unsure, say Y.
|
|
|
|
config CAN_CALC_BITTIMING
|
|
bool "CAN bit-timing calculation"
|
|
depends on CAN_DEV
|
|
default Y
|
|
---help---
|
|
If enabled, CAN bit-timing parameters will be calculated for the
|
|
bit-rate specified via Netlink argument "bitrate" when the device
|
|
get started. This works fine for the most common CAN controllers
|
|
with standard bit-rates but may fail for exotic bit-rates or CAN
|
|
source clock frequencies. Disabling saves some space, but then the
|
|
bit-timing parameters must be specified directly using the Netlink
|
|
arguments "tq", "prop_seg", "phase_seg1", "phase_seg2" and "sjw".
|
|
If unsure, say Y.
|
|
|
|
config CAN_AT91
|
|
tristate "Atmel AT91 onchip CAN controller"
|
|
depends on CAN_DEV && ARCH_AT91SAM9263
|
|
---help---
|
|
This is a driver for the SoC CAN controller in Atmel's AT91SAM9263.
|
|
|
|
config CAN_TI_HECC
|
|
depends on CAN_DEV && ARCH_OMAP3
|
|
tristate "TI High End CAN Controller"
|
|
---help---
|
|
Driver for TI HECC (High End CAN Controller) module found on many
|
|
TI devices. The device specifications are available from www.ti.com
|
|
|
|
config CAN_MCP251X
|
|
tristate "Microchip MCP251x SPI CAN controllers"
|
|
depends on CAN_DEV && SPI && HAS_DMA
|
|
---help---
|
|
Driver for the Microchip MCP251x SPI CAN controllers.
|
|
|
|
config CAN_BFIN
|
|
depends on CAN_DEV && (BF534 || BF536 || BF537 || BF538 || BF539 || BF54x)
|
|
tristate "Analog Devices Blackfin on-chip CAN"
|
|
---help---
|
|
Driver for the Analog Devices Blackfin on-chip CAN controllers
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called bfin_can.
|
|
|
|
config CAN_JANZ_ICAN3
|
|
tristate "Janz VMOD-ICAN3 Intelligent CAN controller"
|
|
depends on CAN_DEV && MFD_JANZ_CMODIO
|
|
---help---
|
|
Driver for Janz VMOD-ICAN3 Intelligent CAN controller module, which
|
|
connects to a MODULbus carrier board.
|
|
|
|
This driver can also be built as a module. If so, the module will be
|
|
called janz-ican3.ko.
|
|
|
|
config HAVE_CAN_FLEXCAN
|
|
bool
|
|
|
|
config CAN_FLEXCAN
|
|
tristate "Support for Freescale FLEXCAN based chips"
|
|
depends on CAN_DEV && HAVE_CAN_FLEXCAN
|
|
---help---
|
|
Say Y here if you want to support for Freescale FlexCAN.
|
|
|
|
config PCH_CAN
|
|
tristate "PCH CAN"
|
|
depends on CAN_DEV && PCI
|
|
---help---
|
|
This driver is for PCH CAN of Topcliff which is an IOH for x86
|
|
embedded processor.
|
|
This driver can access CAN bus.
|
|
|
|
source "drivers/net/can/mscan/Kconfig"
|
|
|
|
source "drivers/net/can/sja1000/Kconfig"
|
|
|
|
source "drivers/net/can/c_can/Kconfig"
|
|
|
|
source "drivers/net/can/usb/Kconfig"
|
|
|
|
source "drivers/net/can/softing/Kconfig"
|
|
|
|
config CAN_DEBUG_DEVICES
|
|
bool "CAN devices debugging messages"
|
|
depends on CAN
|
|
default N
|
|
---help---
|
|
Say Y here if you want the CAN device drivers to produce a bunch of
|
|
debug messages to the system log. Select this if you are having
|
|
a problem with CAN support and want to see more of what is going
|
|
on.
|
|
|
|
endmenu
|