]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
ENGR00319455-1 can: m_can: add Bosch M_CAN controller support
authorDong Aisheng <b29396@freescale.com>
Thu, 19 Jun 2014 10:49:37 +0000 (18:49 +0800)
committerNitin Garg <nitin.garg@freescale.com>
Fri, 16 Jan 2015 03:17:30 +0000 (21:17 -0600)
commit6b3b42d449b3657dfe0f2e1272e455a98b10fc0c
tree2cca7a32869bf34f82bd661ac196a6f9356176b5
parentdbf73e20a29cc4515e559d58b1feeaa8574d21e2
ENGR00319455-1 can: m_can: add Bosch M_CAN controller support

The patch adds the basic CAN TX/RX function support for Bosch M_CAN controller.
For TX, only one dedicated tx buffer is used for sending data.
For RX, RXFIFO 0 is used for receiving data to avoid overflow.
Rx FIFO 1 and Rx Buffers are not used currently, as well as Tx Event FIFO.

Due to the message ram can be shared by multi m_can instances
and the fifo element is configurable which is SoC dependant,
the design is to parse the message ram related configuration data from device
tree rather than hardcode define it in driver which can make the message
ram using fully transparently to M_CAN controller driver,
then we can gain better driver maintainability and future features upgrade.

M_CAN also supports CANFD protocol features like data payload up to 64 bytes
and bitrate switch at runtime, however, this patch still does not add the
support for these features.

Signed-off-by: Dong Aisheng <b29396@freescale.com>
(cherry picked from commit a0dd1cb47d5792902eb380b70af292b4ba64d4b0)
Documentation/devicetree/bindings/net/can/m_can.txt [new file with mode: 0644]
drivers/net/can/Kconfig
drivers/net/can/Makefile
drivers/net/can/m_can.c [new file with mode: 0644]