diff options
author | Dong Aisheng <b29396@freescale.com> | 2014-07-16 05:30:49 -0400 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2014-08-17 19:03:40 -0400 |
commit | e35430807dad7f89e2a27e70ea1d6c29819cb749 (patch) | |
tree | 74d381f8286de30ed20642350ef697dccfbbfd56 /Documentation | |
parent | cdce844865bea6869b34bacc98af3711774f5bb5 (diff) |
can: m_can: add device tree binding documentation
add M_CAN device tree binding documentation
Cc: Wolfgang Grandegger <wg@grandegger.com>
Cc: Marc Kleine-Budde <mkl@pengutronix.de>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Oliver Hartkopp <socketcan@hartkopp.net>
Cc: Varka Bhadram <varkabhadram@gmail.com>
Signed-off-by: Dong Aisheng <b29396@freescale.com>
Reviewed-by: Varka Bhadram <varkabhadram@gmail.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/devicetree/bindings/net/can/m_can.txt | 67 |
1 files changed, 67 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..9e331777c203 --- /dev/null +++ b/Documentation/devicetree/bindings/net/can/m_can.txt | |||
@@ -0,0 +1,67 @@ | |||
1 | Bosch MCAN controller Device Tree Bindings | ||
2 | ------------------------------------------------- | ||
3 | |||
4 | Required 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 | - reg-names : Should be "m_can" and "message_ram" | ||
9 | - interrupts : Should be the interrupt number of M_CAN interrupt | ||
10 | line 0 and line 1, could be same if sharing | ||
11 | the same interrupt. | ||
12 | - interrupt-names : Should contain "int0" and "int1" | ||
13 | - clocks : Clocks used by controller, should be host clock | ||
14 | and CAN clock. | ||
15 | - clock-names : Should contain "hclk" and "cclk" | ||
16 | - pinctrl-<n> : Pinctrl states as described in bindings/pinctrl/pinctrl-bindings.txt | ||
17 | - pinctrl-names : Names corresponding to the numbered pinctrl states | ||
18 | - bosch,mram-cfg : Message RAM configuration data. | ||
19 | Multiple M_CAN instances can share the same Message | ||
20 | RAM and each element(e.g Rx FIFO or Tx Buffer and etc) | ||
21 | number in Message RAM is also configurable, | ||
22 | so this property is telling driver how the shared or | ||
23 | private Message RAM are used by this M_CAN controller. | ||
24 | |||
25 | The format should be as follows: | ||
26 | <offset sidf_elems xidf_elems rxf0_elems rxf1_elems | ||
27 | rxb_elems txe_elems txb_elems> | ||
28 | The 'offset' is an address offset of the Message RAM | ||
29 | where the following elements start from. This is | ||
30 | usually set to 0x0 if you're using a private Message | ||
31 | RAM. The remain cells are used to specify how many | ||
32 | elements are used for each FIFO/Buffer. | ||
33 | |||
34 | M_CAN includes the following elements according to user manual: | ||
35 | 11-bit Filter 0-128 elements / 0-128 words | ||
36 | 29-bit Filter 0-64 elements / 0-128 words | ||
37 | Rx FIFO 0 0-64 elements / 0-1152 words | ||
38 | Rx FIFO 1 0-64 elements / 0-1152 words | ||
39 | Rx Buffers 0-64 elements / 0-1152 words | ||
40 | Tx Event FIFO 0-32 elements / 0-64 words | ||
41 | Tx Buffers 0-32 elements / 0-576 words | ||
42 | |||
43 | Please refer to 2.4.1 Message RAM Configuration in | ||
44 | Bosch M_CAN user manual for details. | ||
45 | |||
46 | Example: | ||
47 | SoC dtsi: | ||
48 | m_can1: can@020e8000 { | ||
49 | compatible = "bosch,m_can"; | ||
50 | reg = <0x020e8000 0x4000>, <0x02298000 0x4000>; | ||
51 | reg-names = "m_can", "message_ram"; | ||
52 | interrupts = <0 114 0x04>, | ||
53 | <0 114 0x04>; | ||
54 | interrupt-names = "int0", "int1"; | ||
55 | clocks = <&clks IMX6SX_CLK_CANFD>, | ||
56 | <&clks IMX6SX_CLK_CANFD>; | ||
57 | clock-names = "hclk", "cclk"; | ||
58 | bosch,mram-cfg = <0x0 0 0 32 0 0 0 1>; | ||
59 | status = "disabled"; | ||
60 | }; | ||
61 | |||
62 | Board dts: | ||
63 | &m_can1 { | ||
64 | pinctrl-names = "default"; | ||
65 | pinctrl-0 = <&pinctrl_m_can1>; | ||
66 | status = "enabled"; | ||
67 | }; | ||