# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/can/bosch,m_can.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Bosch MCAN controller Bindings

description: Bosch MCAN controller for CAN bus

maintainers:
  - Sriram Dash <sriram.dash@samsung.com>

properties:
  compatible:
    const: bosch,m_can

  reg:
    items:
      - description: M_CAN registers map
      - description: message RAM

  reg-names:
    items:
      - const: m_can
      - const: message_ram

  interrupts:
    items:
      - description: interrupt line0
      - description: interrupt line1
    minItems: 1

  interrupt-names:
    items:
      - const: int0
      - const: int1
    minItems: 1

  clocks:
    items:
      - description: peripheral clock
      - description: bus clock

  clock-names:
    items:
      - const: hclk
      - const: cclk

  bosch,mram-cfg:
    description: |
      Message RAM configuration data.
      Multiple M_CAN instances can share the same Message RAM
      and each element(e.g Rx FIFO or Tx Buffer and etc) number
      in Message RAM is also configurable, so this property is
      telling driver how the shared or private Message RAM are
      used by this M_CAN controller.

      The format should be as follows:
      <offset sidf_elems xidf_elems rxf0_elems rxf1_elems rxb_elems txe_elems txb_elems>
      The 'offset' is an address offset of the Message RAM where
      the following elements start from. This is usually set to
      0x0 if you're using a private Message RAM. The remain cells
      are used to specify how many elements are used for each FIFO/Buffer.

      M_CAN includes the following elements according to user manual:
      11-bit Filter	0-128 elements / 0-128 words
      29-bit Filter	0-64 elements / 0-128 words
      Rx FIFO 0	0-64 elements / 0-1152 words
      Rx FIFO 1	0-64 elements / 0-1152 words
      Rx Buffers	0-64 elements / 0-1152 words
      Tx Event FIFO	0-32 elements / 0-64 words
      Tx Buffers	0-32 elements / 0-576 words

      Please refer to 2.4.1 Message RAM Configuration in Bosch
      M_CAN user manual for details.
    $ref: /schemas/types.yaml#/definitions/int32-array
    items:
      items:
        - description: The 'offset' is an address offset of the Message RAM where
            the following elements start from. This is usually set to 0x0 if
            you're using a private Message RAM.
          default: 0
        - description: 11-bit Filter 0-128 elements / 0-128 words
          minimum: 0
          maximum: 128
        - description: 29-bit Filter 0-64 elements / 0-128 words
          minimum: 0
          maximum: 64
        - description: Rx FIFO 0 0-64 elements / 0-1152 words
          minimum: 0
          maximum: 64
        - description: Rx FIFO 1 0-64 elements / 0-1152 words
          minimum: 0
          maximum: 64
        - description: Rx Buffers 0-64 elements / 0-1152 words
          minimum: 0
          maximum: 64
        - description: Tx Event FIFO 0-32 elements / 0-64 words
          minimum: 0
          maximum: 32
        - description: Tx Buffers 0-32 elements / 0-576 words
          minimum: 0
          maximum: 32
    maxItems: 1

  power-domains:
    description:
      Power domain provider node and an args specifier containing
      the can device id value.
    maxItems: 1

  can-transceiver:
    $ref: can-transceiver.yaml#

  phys:
    maxItems: 1

required:
  - compatible
  - reg
  - reg-names
  - interrupts
  - interrupt-names
  - clocks
  - clock-names
  - bosch,mram-cfg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/imx6sx-clock.h>
    can@20e8000 {
      compatible = "bosch,m_can";
      reg = <0x020e8000 0x4000>, <0x02298000 0x4000>;
      reg-names = "m_can", "message_ram";
      interrupts = <0 114 0x04>, <0 114 0x04>;
      interrupt-names = "int0", "int1";
      clocks = <&clks IMX6SX_CLK_CANFD>,
               <&clks IMX6SX_CLK_CANFD>;
      clock-names = "hclk", "cclk";
      bosch,mram-cfg = <0x0 0 0 32 0 0 0 1>;

      can-transceiver {
        max-bitrate = <5000000>;
      };
    };

...
