aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorDong Aisheng <b29396@freescale.com>2014-06-19 06:49:37 -0400
committerDong Aisheng <b29396@freescale.com>2014-06-20 01:59:43 -0400
commit952217c8df70dfcb4e1b04440695014e7cfb5a09 (patch)
tree9670fcda6d26a164386763366eb0758124c7d580 /Documentation
parentc74bb381e1a208096723073e1f3509846f6f8201 (diff)
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>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/devicetree/bindings/net/can/m_can.txt29
1 files changed, 29 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/net/can/m_can.txt b/Documentation/devicetree/bindings/net/can/m_can.txt
new file mode 100644
index 000000000000..2b22d027e6b6
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/can/m_can.txt
@@ -0,0 +1,29 @@
1Bosch MCAN controller Device Tree Bindings
2-------------------------------------------------
3
4Required properties:
5- compatible : Should be "bosch,m_can" for M_CAN controllers
6- reg : physical base address and size of the M_CAN
7 registers map and message ram
8- interrupts : property with a value describing the interrupt
9 number
10- clocks : clocks used by controller
11- mram-cfg : message ram configuration data, the format is
12 <offset sidf_elems xidf_elems rxf1_elems rxb_elems txe_elems txb_elems>
13 The 'offset' is the address offset inside the message ram. This is usually set
14 if you're using the shared message ram while the other part is used by another
15 m_can controller.
16 The left cell are all the number of each elements inside the message ram.
17 Please refer to 2.4.1 Message RAM Con.guration in Bosch M_CAN user mannual
18 for each elements definition.
19
20Example:
21canfd1: canfd@020e8000 {
22 compatible = "bosch,m_can";
23 reg = <0x020e8000 0x4000>, <0x02298000 0x4000>;
24 reg-names = "canfd", "message_ram";
25 interrupts = <0 114 0x04>;
26 clocks = <&clks IMX6SX_CLK_CANFD>;
27 mram-cfg = <0x0 0 0 32 32 32 0 1>;
28 status = "disabled";
29};