The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/net/can/bosch,m_can.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 # SPDX-License-Identifier: GPL-2.0
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/net/can/bosch,m_can.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Bosch MCAN controller Bindings
    8 
    9 description: Bosch MCAN controller for CAN bus
   10 
   11 maintainers:
   12   - Chandrasekar Ramakrishnan <rcsekar@samsung.com>
   13 
   14 allOf:
   15   - $ref: can-controller.yaml#
   16 
   17 properties:
   18   compatible:
   19     const: bosch,m_can
   20 
   21   reg:
   22     items:
   23       - description: M_CAN registers map
   24       - description: message RAM
   25 
   26   reg-names:
   27     items:
   28       - const: m_can
   29       - const: message_ram
   30 
   31   interrupts:
   32     items:
   33       - description: interrupt line0
   34       - description: interrupt line1
   35     minItems: 1
   36 
   37   interrupt-names:
   38     items:
   39       - const: int0
   40       - const: int1
   41     minItems: 1
   42 
   43   clocks:
   44     items:
   45       - description: peripheral clock
   46       - description: bus clock
   47 
   48   clock-names:
   49     items:
   50       - const: hclk
   51       - const: cclk
   52 
   53   bosch,mram-cfg:
   54     description: |
   55       Message RAM configuration data.
   56       Multiple M_CAN instances can share the same Message RAM
   57       and each element(e.g Rx FIFO or Tx Buffer and etc) number
   58       in Message RAM is also configurable, so this property is
   59       telling driver how the shared or private Message RAM are
   60       used by this M_CAN controller.
   61 
   62       The format should be as follows:
   63       <offset sidf_elems xidf_elems rxf0_elems rxf1_elems rxb_elems txe_elems txb_elems>
   64       The 'offset' is an address offset of the Message RAM where
   65       the following elements start from. This is usually set to
   66       0x0 if you're using a private Message RAM. The remain cells
   67       are used to specify how many elements are used for each FIFO/Buffer.
   68 
   69       M_CAN includes the following elements according to user manual:
   70       11-bit Filter     0-128 elements / 0-128 words
   71       29-bit Filter     0-64 elements / 0-128 words
   72       Rx FIFO 0         0-64 elements / 0-1152 words
   73       Rx FIFO 1         0-64 elements / 0-1152 words
   74       Rx Buffers        0-64 elements / 0-1152 words
   75       Tx Event FIFO     0-32 elements / 0-64 words
   76       Tx Buffers        0-32 elements / 0-576 words
   77 
   78       Please refer to 2.4.1 Message RAM Configuration in Bosch
   79       M_CAN user manual for details.
   80     $ref: /schemas/types.yaml#/definitions/int32-array
   81     items:
   82       - description: The 'offset' is an address offset of the Message RAM where
   83           the following elements start from. This is usually set to 0x0 if
   84           you're using a private Message RAM.
   85         default: 0
   86       - description: 11-bit Filter 0-128 elements / 0-128 words
   87         minimum: 0
   88         maximum: 128
   89       - description: 29-bit Filter 0-64 elements / 0-128 words
   90         minimum: 0
   91         maximum: 64
   92       - description: Rx FIFO 0 0-64 elements / 0-1152 words
   93         minimum: 0
   94         maximum: 64
   95       - description: Rx FIFO 1 0-64 elements / 0-1152 words
   96         minimum: 0
   97         maximum: 64
   98       - description: Rx Buffers 0-64 elements / 0-1152 words
   99         minimum: 0
  100         maximum: 64
  101       - description: Tx Event FIFO 0-32 elements / 0-64 words
  102         minimum: 0
  103         maximum: 32
  104       - description: Tx Buffers 0-32 elements / 0-576 words
  105         minimum: 0
  106         maximum: 32
  107     minItems: 1
  108 
  109   power-domains:
  110     description:
  111       Power domain provider node and an args specifier containing
  112       the can device id value.
  113     maxItems: 1
  114 
  115   can-transceiver:
  116     $ref: can-transceiver.yaml#
  117 
  118   phys:
  119     maxItems: 1
  120 
  121 required:
  122   - compatible
  123   - reg
  124   - reg-names
  125   - interrupts
  126   - interrupt-names
  127   - clocks
  128   - clock-names
  129   - bosch,mram-cfg
  130 
  131 additionalProperties: false
  132 
  133 examples:
  134   - |
  135     #include <dt-bindings/clock/imx6sx-clock.h>
  136     can@20e8000 {
  137       compatible = "bosch,m_can";
  138       reg = <0x020e8000 0x4000>, <0x02298000 0x4000>;
  139       reg-names = "m_can", "message_ram";
  140       interrupts = <0 114 0x04>, <0 114 0x04>;
  141       interrupt-names = "int0", "int1";
  142       clocks = <&clks IMX6SX_CLK_CANFD>,
  143                <&clks IMX6SX_CLK_CANFD>;
  144       clock-names = "hclk", "cclk";
  145       bosch,mram-cfg = <0x0 0 0 32 0 0 0 1>;
  146 
  147       can-transceiver {
  148         max-bitrate = <5000000>;
  149       };
  150     };
  151 
  152 ...

Cache object: 92bfb39fb2c0bdd785426c001febe2fd


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.