Merge commit '81fd23e2b3ccf71c807e671444e8accaba98ca53' of https://git.pengutronix...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / media / renesas,isp.yaml
1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2 # Copyright (C) 2021 Renesas Electronics Corp.
3 %YAML 1.2
4 ---
5 $id: http://devicetree.org/schemas/media/renesas,isp.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
7
8 title: Renesas R-Car ISP Channel Selector
9
10 maintainers:
11   - Niklas Söderlund <niklas.soderlund@ragnatech.se>
12
13 description:
14   The R-Car ISP Channel Selector provides MIPI CSI-2 VC and DT filtering
15   capabilities for the Renesas R-Car family of devices. It is used in
16   conjunction with the R-Car VIN and CSI-2 modules, which provides the video
17   capture capabilities.
18
19 properties:
20   compatible:
21     items:
22       - enum:
23           - renesas,r8a779a0-isp # V3U
24   reg:
25     maxItems: 1
26
27   interrupts:
28     maxItems: 1
29
30   clocks:
31     maxItems: 1
32
33   power-domains:
34     maxItems: 1
35
36   resets:
37     maxItems: 1
38
39   ports:
40     $ref: /schemas/graph.yaml#/properties/ports
41
42     properties:
43       port@0:
44         $ref: /schemas/graph.yaml#/properties/port
45         description:
46           Input port node, multiple endpoints describing the connected R-Car
47           CSI-2 receivers.
48
49       port@1:
50         $ref: /schemas/graph.yaml#/properties/port
51         description:
52           Single endpoint describing the R-Car VIN connected to output port 0.
53
54       port@2:
55         $ref: /schemas/graph.yaml#/properties/port
56         description:
57           Single endpoint describing the R-Car VIN connected to output port 1.
58
59       port@3:
60         $ref: /schemas/graph.yaml#/properties/port
61         description:
62           Single endpoint describing the R-Car VIN connected to output port 2.
63
64       port@4:
65         $ref: /schemas/graph.yaml#/properties/port
66         description:
67           Single endpoint describing the R-Car VIN connected to output port 3.
68
69       port@5:
70         $ref: /schemas/graph.yaml#/properties/port
71         description:
72           Single endpoint describing the R-Car VIN connected to output port 4.
73
74       port@6:
75         $ref: /schemas/graph.yaml#/properties/port
76         description:
77           Single endpoint describing the R-Car VIN connected to output port 5.
78
79       port@7:
80         $ref: /schemas/graph.yaml#/properties/port
81         description:
82           Single endpoint describing the R-Car VIN connected to output port 6.
83
84       port@8:
85         $ref: /schemas/graph.yaml#/properties/port
86         description:
87           Single endpoint describing the R-Car VIN connected to output port 7.
88
89     required:
90       - port@0
91       - port@1
92       - port@2
93       - port@3
94       - port@4
95       - port@5
96       - port@6
97       - port@7
98       - port@8
99
100 required:
101   - compatible
102   - reg
103   - interrupts
104   - clocks
105   - power-domains
106   - resets
107   - ports
108
109 additionalProperties: false
110
111 examples:
112   - |
113     #include <dt-bindings/clock/r8a779a0-cpg-mssr.h>
114     #include <dt-bindings/interrupt-controller/arm-gic.h>
115     #include <dt-bindings/power/r8a779a0-sysc.h>
116
117     isp1: isp@fed20000 {
118             compatible = "renesas,r8a779a0-isp";
119             reg = <0xfed20000 0x10000>;
120             interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
121             clocks = <&cpg CPG_MOD 613>;
122             power-domains = <&sysc R8A779A0_PD_A3ISP01>;
123             resets = <&cpg 613>;
124
125             ports {
126                     #address-cells = <1>;
127                     #size-cells = <0>;
128
129                     port@0 {
130                             #address-cells = <1>;
131                             #size-cells = <0>;
132
133                             reg = <0>;
134                             isp1csi41: endpoint@1 {
135                                     reg = <1>;
136                                     remote-endpoint = <&csi41isp1>;
137                             };
138                     };
139
140                     port@1 {
141                             reg = <1>;
142                             isp1vin08: endpoint {
143                                     remote-endpoint = <&vin08isp1>;
144                             };
145                     };
146
147                     port@2 {
148                             reg = <2>;
149                             isp1vin09: endpoint {
150                                     remote-endpoint = <&vin09isp1>;
151                             };
152                     };
153
154                     port@3 {
155                             reg = <3>;
156                             isp1vin10: endpoint {
157                                     remote-endpoint = <&vin10isp1>;
158                             };
159                     };
160
161                     port@4 {
162                             reg = <4>;
163                             isp1vin11: endpoint {
164                                     remote-endpoint = <&vin11isp1>;
165                             };
166                     };
167
168                     port@5 {
169                             reg = <5>;
170                             isp1vin12: endpoint {
171                                     remote-endpoint = <&vin12isp1>;
172                             };
173                     };
174
175                     port@6 {
176                             reg = <6>;
177                             isp1vin13: endpoint {
178                                     remote-endpoint = <&vin13isp1>;
179                             };
180                     };
181
182                     port@7 {
183                             reg = <7>;
184                             isp1vin14: endpoint {
185                                     remote-endpoint = <&vin14isp1>;
186                             };
187                     };
188
189                     port@8 {
190                             reg = <8>;
191                             isp1vin15: endpoint {
192                                     remote-endpoint = <&vin15isp1>;
193                             };
194                     };
195             };
196     };