blob: 4d7d67ee175a3f0a2b4b12aca8fd13020a1c593e [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/net/can/bosch,c_can.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Bosch C_CAN/D_CAN controller
8
9description: Bosch C_CAN/D_CAN controller for CAN bus
10
11maintainers:
12 - Dario Binacchi <dariobin@libero.it>
13
14allOf:
15 - $ref: can-controller.yaml#
16
17properties:
18 compatible:
19 oneOf:
20 - enum:
21 - bosch,c_can
22 - bosch,d_can
23 - ti,dra7-d_can
24 - ti,am3352-d_can
25 - items:
26 - enum:
27 - ti,am4372-d_can
28 - const: ti,am3352-d_can
29
30 reg:
31 maxItems: 1
32
33 interrupts:
34 minItems: 1
35 maxItems: 4
36
37 power-domains:
38 description: |
39 Should contain a phandle to a PM domain provider node and an args
40 specifier containing the DCAN device id value. It's mandatory for
41 Keystone 2 66AK2G SoCs only.
42 maxItems: 1
43
44 clocks:
45 description: |
46 CAN functional clock phandle.
47 maxItems: 1
48
49 clock-names:
50 maxItems: 1
51
52 syscon-raminit:
53 description: |
54 Handle to system control region that contains the RAMINIT register,
55 register offset to the RAMINIT register and the CAN instance number (0
56 offset).
57 $ref: /schemas/types.yaml#/definitions/phandle-array
58 items:
59 - items:
60 - description: The phandle to the system control region.
61 - description: The register offset.
62 - description: The CAN instance number.
63
64 resets:
65 maxItems: 1
66
67required:
68 - compatible
69 - reg
70 - interrupts
71 - clocks
72
73if:
74 properties:
75 compatible:
76 contains:
77 enum:
78 - bosch,d_can
79
80then:
81 properties:
82 interrupts:
83 items:
84 - description: Error and status IRQ
85 - description: Message object IRQ
86 - description: RAM ECC correctable error IRQ
87 - description: RAM ECC non-correctable error IRQ
88
89else:
90 properties:
91 interrupts:
92 items:
93 - description: Error and status IRQ
94
95additionalProperties: false
96
97examples:
98 - |
99 #include <dt-bindings/reset/altr,rst-mgr.h>
100
101 can@ffc00000 {
102 compatible = "bosch,d_can";
103 reg = <0xffc00000 0x1000>;
104 interrupts = <0 131 4>, <0 132 4>, <0 133 4>, <0 134 4>;
105 clocks = <&can0_clk>;
106 resets = <&rst CAN0_RESET>;
107 };
108 - |
109 can@0 {
110 compatible = "ti,am3352-d_can";
111 reg = <0x0 0x2000>;
112 clocks = <&dcan1_fck>;
113 clock-names = "fck";
114 syscon-raminit = <&scm_conf 0x644 1>;
115 interrupts = <55>;
116 };