# 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

description: Bosch MCAN controller for CAN bus

maintainers:
  - Chandrasekar Ramakrishnan <rcsekar@samsung.com>

allOf:
  - $ref: can-controller.yaml#

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:
      - 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
    minItems: 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>;
      };
    };

...
