Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 881ff67a authored by Bhupesh Sharma's avatar Bhupesh Sharma Committed by David S. Miller
Browse files

can: c_can: Added support for Bosch C_CAN controller

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: default avatarBhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c9060414
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -115,6 +115,8 @@ source "drivers/net/can/mscan/Kconfig"


source "drivers/net/can/sja1000/Kconfig"
source "drivers/net/can/sja1000/Kconfig"


source "drivers/net/can/c_can/Kconfig"

source "drivers/net/can/usb/Kconfig"
source "drivers/net/can/usb/Kconfig"


source "drivers/net/can/softing/Kconfig"
source "drivers/net/can/softing/Kconfig"
+1 −0
Original line number Original line Diff line number Diff line
@@ -13,6 +13,7 @@ obj-y += softing/


obj-$(CONFIG_CAN_SJA1000)	+= sja1000/
obj-$(CONFIG_CAN_SJA1000)	+= sja1000/
obj-$(CONFIG_CAN_MSCAN)		+= mscan/
obj-$(CONFIG_CAN_MSCAN)		+= mscan/
obj-$(CONFIG_CAN_C_CAN)		+= c_can/
obj-$(CONFIG_CAN_AT91)		+= at91_can.o
obj-$(CONFIG_CAN_AT91)		+= at91_can.o
obj-$(CONFIG_CAN_TI_HECC)	+= ti_hecc.o
obj-$(CONFIG_CAN_TI_HECC)	+= ti_hecc.o
obj-$(CONFIG_CAN_MCP251X)	+= mcp251x.o
obj-$(CONFIG_CAN_MCP251X)	+= mcp251x.o
+15 −0
Original line number Original line Diff line number Diff line
menuconfig CAN_C_CAN
	tristate "Bosch C_CAN devices"
	depends on CAN_DEV && HAS_IOMEM

if CAN_C_CAN

config CAN_C_CAN_PLATFORM
	tristate "Generic Platform Bus based C_CAN driver"
	---help---
	  This driver adds support for the C_CAN chips connected to
	  the "platform bus" (Linux abstraction for directly to the
	  processor attached devices) which can be found on various
	  boards from ST Microelectronics (http://www.st.com)
	  like the SPEAr1310 and SPEAr320 evaluation boards.
endif
+8 −0
Original line number Original line Diff line number Diff line
#
#  Makefile for the Bosch C_CAN controller drivers.
#

obj-$(CONFIG_CAN_C_CAN) += c_can.o
obj-$(CONFIG_CAN_C_CAN_PLATFORM) += c_can_platform.o

ccflags-$(CONFIG_CAN_DEBUG_DEVICES) := -DDEBUG
+1158 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading