Merge branch 'acpica'
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / net / can / bosch,c_can.yaml
1 # 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
7 title: Bosch C_CAN/D_CAN controller Device Tree Bindings
8
9 description: Bosch C_CAN/D_CAN controller for CAN bus
10
11 maintainers:
12   - Dario Binacchi <dariobin@libero.it>
13
14 allOf:
15   - $ref: can-controller.yaml#
16
17 properties:
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
67 required:
68   - compatible
69   - reg
70   - interrupts
71   - clocks
72
73 if:
74   properties:
75     compatible:
76       contains:
77         enum:
78           - bosch,d_can
79
80 then:
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
89 else:
90   properties:
91     interrupts:
92       items:
93         - description: Error and status IRQ
94
95 additionalProperties: false
96
97 examples:
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     };