1 # SPDX-License-Identifier: GPL-2.0
4 $id: http://devicetree.org/schemas/net/can/bosch,m_can.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Bosch MCAN controller Bindings
9 description: Bosch MCAN controller for CAN bus
12 - Sriram Dash <sriram.dash@samsung.com>
20 - description: M_CAN registers map
21 - description: message RAM
30 - description: interrupt line0
31 - description: interrupt line1
42 - description: peripheral clock
43 - description: bus clock
52 Message RAM configuration data.
53 Multiple M_CAN instances can share the same Message RAM
54 and each element(e.g Rx FIFO or Tx Buffer and etc) number
55 in Message RAM is also configurable, so this property is
56 telling driver how the shared or private Message RAM are
57 used by this M_CAN controller.
59 The format should be as follows:
60 <offset sidf_elems xidf_elems rxf0_elems rxf1_elems rxb_elems txe_elems txb_elems>
61 The 'offset' is an address offset of the Message RAM where
62 the following elements start from. This is usually set to
63 0x0 if you're using a private Message RAM. The remain cells
64 are used to specify how many elements are used for each FIFO/Buffer.
66 M_CAN includes the following elements according to user manual:
67 11-bit Filter 0-128 elements / 0-128 words
68 29-bit Filter 0-64 elements / 0-128 words
69 Rx FIFO 0 0-64 elements / 0-1152 words
70 Rx FIFO 1 0-64 elements / 0-1152 words
71 Rx Buffers 0-64 elements / 0-1152 words
72 Tx Event FIFO 0-32 elements / 0-64 words
73 Tx Buffers 0-32 elements / 0-576 words
75 Please refer to 2.4.1 Message RAM Configuration in Bosch
76 M_CAN user manual for details.
77 $ref: /schemas/types.yaml#/definitions/int32-array
80 - description: The 'offset' is an address offset of the Message RAM where
81 the following elements start from. This is usually set to 0x0 if
82 you're using a private Message RAM.
84 - description: 11-bit Filter 0-128 elements / 0-128 words
87 - description: 29-bit Filter 0-64 elements / 0-128 words
90 - description: Rx FIFO 0 0-64 elements / 0-1152 words
93 - description: Rx FIFO 1 0-64 elements / 0-1152 words
96 - description: Rx Buffers 0-64 elements / 0-1152 words
99 - description: Tx Event FIFO 0-32 elements / 0-64 words
102 - description: Tx Buffers 0-32 elements / 0-576 words
108 $ref: can-transceiver.yaml#
120 additionalProperties: false
124 #include <dt-bindings/clock/imx6sx-clock.h>
126 compatible = "bosch,m_can";
127 reg = <0x020e8000 0x4000>, <0x02298000 0x4000>;
128 reg-names = "m_can", "message_ram";
129 interrupts = <0 114 0x04>, <0 114 0x04>;
130 interrupt-names = "int0", "int1";
131 clocks = <&clks IMX6SX_CLK_CANFD>,
132 <&clks IMX6SX_CLK_CANFD>;
133 clock-names = "hclk", "cclk";
134 bosch,mram-cfg = <0x0 0 0 32 0 0 0 1>;
137 max-bitrate = <5000000>;