-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
can: c_can: Add support for Bosch D_CAN controller
This patch adds the support for D_CAN controller driver to the existing C_CAN driver. Bosch D_CAN controller is a full-CAN implementation which is 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 A new array is added for accessing the d_can registers, according to d_can controller register space. Current D_CAN implementation has following limitations, this is done to avoid large changes to the C_CAN driver. 1. Message objects are limited to 32, 16 for RX and 16 for TX. C_CAN IP supports upto 32 message objects but in case of D_CAN we can configure upto 128 message objects. 2. Using two 16bit reads/writes for accessing the 32bit D_CAN registers. 3. These patches have been tested on little endian machine, there might be some hidden endian-related issues due to the nature of the accesses (32-bit registers accessed as 2 16-bit registers). However, I do not have a big-endian D_CAN implementation to confirm. Signed-off-by: AnilKumar Ch <anilkumar@ti.com> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
- Loading branch information
AnilKumar Ch
authored and
Marc Kleine-Budde
committed
Jun 7, 2012
1 parent
33f8100
commit 69927fc
Showing
3 changed files
with
94 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,16 @@ | ||
menuconfig CAN_C_CAN | ||
tristate "Bosch C_CAN devices" | ||
tristate "Bosch C_CAN/D_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" | ||
tristate "Generic Platform Bus based C_CAN/D_CAN driver" | ||
---help--- | ||
This driver adds support for the C_CAN chips connected to | ||
the "platform bus" (Linux abstraction for directly to the | ||
This driver adds support for the C_CAN/D_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. | ||
boards from ST Microelectronics (http://www.st.com) like the | ||
SPEAr1310 and SPEAr320 evaluation boards & TI (www.ti.com) | ||
boards like am335x, dm814x, dm813x and dm811x. | ||
endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters