cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

bosch,m_can.yaml (4128B)


      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
      7title: Bosch MCAN controller Bindings
      8
      9description: Bosch MCAN controller for CAN bus
     10
     11maintainers:
     12  - Chandrasekar Ramakrishnan <rcsekar@samsung.com>
     13
     14allOf:
     15  - $ref: can-controller.yaml#
     16
     17properties:
     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
    121required:
    122  - compatible
    123  - reg
    124  - reg-names
    125  - interrupts
    126  - interrupt-names
    127  - clocks
    128  - clock-names
    129  - bosch,mram-cfg
    130
    131additionalProperties: false
    132
    133examples:
    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...