Thread (15 messages) 15 messages, 3 authors, 2012-05-11

[PATCH v2 0/4] can: c_can: Add support for Bosch D_CAN controller

From: AnilKumar Ch <hidden>
Date: 2012-05-10 11:34:56

This patch series adds support for Bosch D_CAN controller to the
existing C_CAN controller driver.

Bosch D_CAN controller is a full-CAN implementation compliant to CAN
protocol version 2.0 part A and B. Bosch D_CAN user manual can be
obtained from: http://www.semiconductors.bosch.de/media/
en/pdf/ipmodules_1/can/d_can_users_manual_111.pdf

D_CAN device is used on many SoCs like AM335x, DM8148 and DM813x EVMs
from TI, D_CAN details on AM335x can be accessed from:
http://www.ti.com/lit/ug/spruh73c/spruh73c.pdf

This patch series also fixes some issues in the current c_can driver.
These issues were found while integrating d_can driver to c_can driver.

These patches have been tested on AM335x EVM using some additional
patches adding runtime PM support and some code to initialize the
AM335x D_CAN RAM. I will submit these patches once these patches are
accepted.

Due to lack of hardware I am not able to test c_can functionality.
I appreciate if anyone can test C_CAN functionality with this patch
series.

Changes form v1:
        - Changed the Macro implementation to access registers via an
          array with virtual register index.
        - Dropped "can: c_can: fix "BUG! echo_skb is occupied!" during
          transmit" patch because it's accepted.
        - Reworked on second patch (acc. to v1) based on Marc's comments.
        - Found one more issue and added as separate patch.
        - Third patch (acc. to v1) is split into two patches, first
          patch only do c_can modifications to incorporate the current
          implementation and second one adds d_can support.

AnilKumar Ch (4):
  can: c_can: fix an interrupt thrash issue with c_can driver
  can: c_can: fix: enable CAN HW interrupts after napi_enable()
  can: c_can: Move overlay structure to array with offset as index
  can: c_can: Add support for Bosch D_CAN controller

 drivers/net/can/c_can/c_can.c          |  122 +++++++++++++++---------------
 drivers/net/can/c_can/c_can.h          |  127 ++++++++++++++++++++++----------
 drivers/net/can/c_can/c_can_platform.c |   54 ++++++++------
 include/linux/can/platform/c_can.h     |   42 +++++++++++
 4 files changed, 223 insertions(+), 122 deletions(-)
 create mode 100644 include/linux/can/platform/c_can.h
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help