106fc143bSDario Binacchi# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
206fc143bSDario Binacchi%YAML 1.2
306fc143bSDario Binacchi---
406fc143bSDario Binacchi$id: http://devicetree.org/schemas/net/can/bosch,c_can.yaml#
506fc143bSDario Binacchi$schema: http://devicetree.org/meta-schemas/core.yaml#
606fc143bSDario Binacchi
7*a612130cSKrzysztof Kozlowskititle: Bosch C_CAN/D_CAN controller
806fc143bSDario Binacchi
906fc143bSDario Binacchidescription: Bosch C_CAN/D_CAN controller for CAN bus
1006fc143bSDario Binacchi
1106fc143bSDario Binacchimaintainers:
1206fc143bSDario Binacchi  - Dario Binacchi <dariobin@libero.it>
1306fc143bSDario Binacchi
1406fc143bSDario BinacchiallOf:
1506fc143bSDario Binacchi  - $ref: can-controller.yaml#
1606fc143bSDario Binacchi
1706fc143bSDario Binacchiproperties:
1806fc143bSDario Binacchi  compatible:
1906fc143bSDario Binacchi    oneOf:
2006fc143bSDario Binacchi      - enum:
2106fc143bSDario Binacchi          - bosch,c_can
2206fc143bSDario Binacchi          - bosch,d_can
2306fc143bSDario Binacchi          - ti,dra7-d_can
2406fc143bSDario Binacchi          - ti,am3352-d_can
2506fc143bSDario Binacchi      - items:
2606fc143bSDario Binacchi          - enum:
2706fc143bSDario Binacchi              - ti,am4372-d_can
2806fc143bSDario Binacchi          - const: ti,am3352-d_can
2906fc143bSDario Binacchi
3006fc143bSDario Binacchi  reg:
3106fc143bSDario Binacchi    maxItems: 1
3206fc143bSDario Binacchi
3306fc143bSDario Binacchi  interrupts:
3406fc143bSDario Binacchi    minItems: 1
3506fc143bSDario Binacchi    maxItems: 4
3606fc143bSDario Binacchi
3706fc143bSDario Binacchi  power-domains:
3806fc143bSDario Binacchi    description: |
3906fc143bSDario Binacchi      Should contain a phandle to a PM domain provider node and an args
4006fc143bSDario Binacchi      specifier containing the DCAN device id value. It's mandatory for
4106fc143bSDario Binacchi      Keystone 2 66AK2G SoCs only.
4206fc143bSDario Binacchi    maxItems: 1
4306fc143bSDario Binacchi
4406fc143bSDario Binacchi  clocks:
4506fc143bSDario Binacchi    description: |
4606fc143bSDario Binacchi      CAN functional clock phandle.
4706fc143bSDario Binacchi    maxItems: 1
4806fc143bSDario Binacchi
4906fc143bSDario Binacchi  clock-names:
5006fc143bSDario Binacchi    maxItems: 1
5106fc143bSDario Binacchi
5206fc143bSDario Binacchi  syscon-raminit:
5306fc143bSDario Binacchi    description: |
5406fc143bSDario Binacchi      Handle to system control region that contains the RAMINIT register,
5506fc143bSDario Binacchi      register offset to the RAMINIT register and the CAN instance number (0
5606fc143bSDario Binacchi      offset).
5706fc143bSDario Binacchi    $ref: /schemas/types.yaml#/definitions/phandle-array
5806fc143bSDario Binacchi    items:
5939bd2b6aSRob Herring      - items:
6006fc143bSDario Binacchi          - description: The phandle to the system control region.
6106fc143bSDario Binacchi          - description: The register offset.
6206fc143bSDario Binacchi          - description: The CAN instance number.
6306fc143bSDario Binacchi
6406fc143bSDario Binacchi  resets:
6506fc143bSDario Binacchi    maxItems: 1
6606fc143bSDario Binacchi
6706fc143bSDario Binacchirequired:
6806fc143bSDario Binacchi  - compatible
6906fc143bSDario Binacchi  - reg
7006fc143bSDario Binacchi  - interrupts
7106fc143bSDario Binacchi  - clocks
7206fc143bSDario Binacchi
7306fc143bSDario Binacchiif:
7406fc143bSDario Binacchi  properties:
7506fc143bSDario Binacchi    compatible:
7606fc143bSDario Binacchi      contains:
7706fc143bSDario Binacchi        enum:
7806fc143bSDario Binacchi          - bosch,d_can
7906fc143bSDario Binacchi
8006fc143bSDario Binacchithen:
8106fc143bSDario Binacchi  properties:
8206fc143bSDario Binacchi    interrupts:
8306fc143bSDario Binacchi      items:
8406fc143bSDario Binacchi        - description: Error and status IRQ
8506fc143bSDario Binacchi        - description: Message object IRQ
8606fc143bSDario Binacchi        - description: RAM ECC correctable error IRQ
8706fc143bSDario Binacchi        - description: RAM ECC non-correctable error IRQ
8806fc143bSDario Binacchi
8906fc143bSDario Binacchielse:
9006fc143bSDario Binacchi  properties:
9106fc143bSDario Binacchi    interrupts:
9206fc143bSDario Binacchi      items:
9306fc143bSDario Binacchi        - description: Error and status IRQ
9406fc143bSDario Binacchi
9506fc143bSDario BinacchiadditionalProperties: false
9606fc143bSDario Binacchi
9706fc143bSDario Binacchiexamples:
9806fc143bSDario Binacchi  - |
9906fc143bSDario Binacchi    #include <dt-bindings/reset/altr,rst-mgr.h>
10006fc143bSDario Binacchi
10106fc143bSDario Binacchi    can@ffc00000 {
10206fc143bSDario Binacchi       compatible = "bosch,d_can";
10306fc143bSDario Binacchi       reg = <0xffc00000 0x1000>;
10406fc143bSDario Binacchi       interrupts = <0 131 4>, <0 132 4>, <0 133 4>, <0 134 4>;
10506fc143bSDario Binacchi       clocks = <&can0_clk>;
10606fc143bSDario Binacchi       resets = <&rst CAN0_RESET>;
10706fc143bSDario Binacchi    };
10806fc143bSDario Binacchi  - |
10906fc143bSDario Binacchi    can@0 {
11006fc143bSDario Binacchi        compatible = "ti,am3352-d_can";
11106fc143bSDario Binacchi        reg = <0x0 0x2000>;
11206fc143bSDario Binacchi        clocks = <&dcan1_fck>;
11306fc143bSDario Binacchi        clock-names = "fck";
11406fc143bSDario Binacchi        syscon-raminit = <&scm_conf 0x644 1>;
11506fc143bSDario Binacchi        interrupts = <55>;
11606fc143bSDario Binacchi    };
117