xref: /freebsd/sys/contrib/device-tree/Bindings/net/can/bosch,c_can.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
1354d7675SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2354d7675SEmmanuel Vadot%YAML 1.2
3354d7675SEmmanuel Vadot---
4354d7675SEmmanuel Vadot$id: http://devicetree.org/schemas/net/can/bosch,c_can.yaml#
5354d7675SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6354d7675SEmmanuel Vadot
7*8bab661aSEmmanuel Vadottitle: Bosch C_CAN/D_CAN controller
8354d7675SEmmanuel Vadot
9354d7675SEmmanuel Vadotdescription: Bosch C_CAN/D_CAN controller for CAN bus
10354d7675SEmmanuel Vadot
11354d7675SEmmanuel Vadotmaintainers:
12354d7675SEmmanuel Vadot  - Dario Binacchi <dariobin@libero.it>
13354d7675SEmmanuel Vadot
14354d7675SEmmanuel VadotallOf:
15354d7675SEmmanuel Vadot  - $ref: can-controller.yaml#
16354d7675SEmmanuel Vadot
17354d7675SEmmanuel Vadotproperties:
18354d7675SEmmanuel Vadot  compatible:
19354d7675SEmmanuel Vadot    oneOf:
20354d7675SEmmanuel Vadot      - enum:
21354d7675SEmmanuel Vadot          - bosch,c_can
22354d7675SEmmanuel Vadot          - bosch,d_can
23354d7675SEmmanuel Vadot          - ti,dra7-d_can
24354d7675SEmmanuel Vadot          - ti,am3352-d_can
25354d7675SEmmanuel Vadot      - items:
26354d7675SEmmanuel Vadot          - enum:
27354d7675SEmmanuel Vadot              - ti,am4372-d_can
28354d7675SEmmanuel Vadot          - const: ti,am3352-d_can
29354d7675SEmmanuel Vadot
30354d7675SEmmanuel Vadot  reg:
31354d7675SEmmanuel Vadot    maxItems: 1
32354d7675SEmmanuel Vadot
33354d7675SEmmanuel Vadot  interrupts:
34354d7675SEmmanuel Vadot    minItems: 1
35354d7675SEmmanuel Vadot    maxItems: 4
36354d7675SEmmanuel Vadot
37354d7675SEmmanuel Vadot  power-domains:
38354d7675SEmmanuel Vadot    description: |
39354d7675SEmmanuel Vadot      Should contain a phandle to a PM domain provider node and an args
40354d7675SEmmanuel Vadot      specifier containing the DCAN device id value. It's mandatory for
41354d7675SEmmanuel Vadot      Keystone 2 66AK2G SoCs only.
42354d7675SEmmanuel Vadot    maxItems: 1
43354d7675SEmmanuel Vadot
44354d7675SEmmanuel Vadot  clocks:
45354d7675SEmmanuel Vadot    description: |
46354d7675SEmmanuel Vadot      CAN functional clock phandle.
47354d7675SEmmanuel Vadot    maxItems: 1
48354d7675SEmmanuel Vadot
49354d7675SEmmanuel Vadot  clock-names:
50354d7675SEmmanuel Vadot    maxItems: 1
51354d7675SEmmanuel Vadot
52354d7675SEmmanuel Vadot  syscon-raminit:
53354d7675SEmmanuel Vadot    description: |
54354d7675SEmmanuel Vadot      Handle to system control region that contains the RAMINIT register,
55354d7675SEmmanuel Vadot      register offset to the RAMINIT register and the CAN instance number (0
56354d7675SEmmanuel Vadot      offset).
57354d7675SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle-array
58354d7675SEmmanuel Vadot    items:
59c9ccf3a3SEmmanuel Vadot      - items:
60354d7675SEmmanuel Vadot          - description: The phandle to the system control region.
61354d7675SEmmanuel Vadot          - description: The register offset.
62354d7675SEmmanuel Vadot          - description: The CAN instance number.
63354d7675SEmmanuel Vadot
64354d7675SEmmanuel Vadot  resets:
65354d7675SEmmanuel Vadot    maxItems: 1
66354d7675SEmmanuel Vadot
67354d7675SEmmanuel Vadotrequired:
68354d7675SEmmanuel Vadot  - compatible
69354d7675SEmmanuel Vadot  - reg
70354d7675SEmmanuel Vadot  - interrupts
71354d7675SEmmanuel Vadot  - clocks
72354d7675SEmmanuel Vadot
73354d7675SEmmanuel Vadotif:
74354d7675SEmmanuel Vadot  properties:
75354d7675SEmmanuel Vadot    compatible:
76354d7675SEmmanuel Vadot      contains:
77354d7675SEmmanuel Vadot        enum:
78354d7675SEmmanuel Vadot          - bosch,d_can
79354d7675SEmmanuel Vadot
80354d7675SEmmanuel Vadotthen:
81354d7675SEmmanuel Vadot  properties:
82354d7675SEmmanuel Vadot    interrupts:
83354d7675SEmmanuel Vadot      items:
84354d7675SEmmanuel Vadot        - description: Error and status IRQ
85354d7675SEmmanuel Vadot        - description: Message object IRQ
86354d7675SEmmanuel Vadot        - description: RAM ECC correctable error IRQ
87354d7675SEmmanuel Vadot        - description: RAM ECC non-correctable error IRQ
88354d7675SEmmanuel Vadot
89354d7675SEmmanuel Vadotelse:
90354d7675SEmmanuel Vadot  properties:
91354d7675SEmmanuel Vadot    interrupts:
92354d7675SEmmanuel Vadot      items:
93354d7675SEmmanuel Vadot        - description: Error and status IRQ
94354d7675SEmmanuel Vadot
95354d7675SEmmanuel VadotadditionalProperties: false
96354d7675SEmmanuel Vadot
97354d7675SEmmanuel Vadotexamples:
98354d7675SEmmanuel Vadot  - |
99354d7675SEmmanuel Vadot    #include <dt-bindings/reset/altr,rst-mgr.h>
100354d7675SEmmanuel Vadot
101354d7675SEmmanuel Vadot    can@ffc00000 {
102354d7675SEmmanuel Vadot       compatible = "bosch,d_can";
103354d7675SEmmanuel Vadot       reg = <0xffc00000 0x1000>;
104354d7675SEmmanuel Vadot       interrupts = <0 131 4>, <0 132 4>, <0 133 4>, <0 134 4>;
105354d7675SEmmanuel Vadot       clocks = <&can0_clk>;
106354d7675SEmmanuel Vadot       resets = <&rst CAN0_RESET>;
107354d7675SEmmanuel Vadot    };
108354d7675SEmmanuel Vadot  - |
109354d7675SEmmanuel Vadot    can@0 {
110354d7675SEmmanuel Vadot        compatible = "ti,am3352-d_can";
111354d7675SEmmanuel Vadot        reg = <0x0 0x2000>;
112354d7675SEmmanuel Vadot        clocks = <&dcan1_fck>;
113354d7675SEmmanuel Vadot        clock-names = "fck";
114354d7675SEmmanuel Vadot        syscon-raminit = <&scm_conf 0x644 1>;
115354d7675SEmmanuel Vadot        interrupts = <55>;
116354d7675SEmmanuel Vadot    };
117