Merge tag 'sched_urgent_for_v5.15_rc1' of git://git.kernel.org/pub/scm/linux/kernel...
[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       minItems: 4
84       maxItems: 4
85       items:
86         - description: Error and status IRQ
87         - description: Message object IRQ
88         - description: RAM ECC correctable error IRQ
89         - description: RAM ECC non-correctable error IRQ
90
91 else:
92   properties:
93     interrupts:
94       maxItems: 1
95       items:
96         - description: Error and status IRQ
97
98 additionalProperties: false
99
100 examples:
101   - |
102     #include <dt-bindings/reset/altr,rst-mgr.h>
103
104     can@ffc00000 {
105        compatible = "bosch,d_can";
106        reg = <0xffc00000 0x1000>;
107        interrupts = <0 131 4>, <0 132 4>, <0 133 4>, <0 134 4>;
108        clocks = <&can0_clk>;
109        resets = <&rst CAN0_RESET>;
110     };
111   - |
112     can@0 {
113         compatible = "ti,am3352-d_can";
114         reg = <0x0 0x2000>;
115         clocks = <&dcan1_fck>;
116         clock-names = "fck";
117         syscon-raminit = <&scm_conf 0x644 1>;
118         interrupts = <55>;
119     };