Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
8title: Renesas R-Car ISP Channel Selector
9
10maintainers:
11 - Niklas Söderlund <niklas.soderlund@ragnatech.se>
12
13description:
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
19properties:
20 compatible:
21 items:
22 - enum:
23 - renesas,r8a779a0-isp # V3U
24 - renesas,r8a779g0-isp # V4H
25 - renesas,r8a779h0-isp # V4M
26 - const: renesas,rcar-gen4-isp # Generic R-Car Gen4
27 reg:
28 minItems: 1
29 maxItems: 2
30
31 reg-names:
32 minItems: 1
33 items:
34 - const: cs
35 - const: core
36
37 interrupts:
38 minItems: 1
39 maxItems: 2
40
41 interrupt-names:
42 minItems: 1
43 items:
44 - const: cs
45 - const: core
46
47 clocks:
48 minItems: 1
49 maxItems: 2
50
51 clock-names:
52 minItems: 1
53 items:
54 - const: cs
55 - const: core
56
57 power-domains:
58 maxItems: 1
59
60 resets:
61 minItems: 1
62 maxItems: 2
63
64 reset-names:
65 minItems: 1
66 items:
67 - const: cs
68 - const: core
69
70 renesas,vspx:
71 $ref: /schemas/types.yaml#/definitions/phandle
72 description:
73 A phandle to the companion VSPX responsible for the Streaming Bridge
74 functionality. The Streaming Bridge is responsible for feeding image
75 and configuration data to the ISP when operating in memory-to-memory
76 mode.
77
78 ports:
79 $ref: /schemas/graph.yaml#/properties/ports
80
81 properties:
82 port@0:
83 $ref: /schemas/graph.yaml#/properties/port
84 description:
85 Input port node, multiple endpoints describing the connected R-Car
86 CSI-2 receivers.
87
88 port@1:
89 $ref: /schemas/graph.yaml#/properties/port
90 description:
91 Single endpoint describing the R-Car VIN connected to output port 0.
92
93 port@2:
94 $ref: /schemas/graph.yaml#/properties/port
95 description:
96 Single endpoint describing the R-Car VIN connected to output port 1.
97
98 port@3:
99 $ref: /schemas/graph.yaml#/properties/port
100 description:
101 Single endpoint describing the R-Car VIN connected to output port 2.
102
103 port@4:
104 $ref: /schemas/graph.yaml#/properties/port
105 description:
106 Single endpoint describing the R-Car VIN connected to output port 3.
107
108 port@5:
109 $ref: /schemas/graph.yaml#/properties/port
110 description:
111 Single endpoint describing the R-Car VIN connected to output port 4.
112
113 port@6:
114 $ref: /schemas/graph.yaml#/properties/port
115 description:
116 Single endpoint describing the R-Car VIN connected to output port 5.
117
118 port@7:
119 $ref: /schemas/graph.yaml#/properties/port
120 description:
121 Single endpoint describing the R-Car VIN connected to output port 6.
122
123 port@8:
124 $ref: /schemas/graph.yaml#/properties/port
125 description:
126 Single endpoint describing the R-Car VIN connected to output port 7.
127
128 required:
129 - port@0
130 - port@1
131 - port@2
132 - port@3
133 - port@4
134 - port@5
135 - port@6
136 - port@7
137 - port@8
138
139required:
140 - compatible
141 - reg
142 - reg-names
143 - interrupts
144 - interrupt-names
145 - clocks
146 - clock-names
147 - power-domains
148 - resets
149 - reset-names
150 - ports
151
152additionalProperties: false
153
154examples:
155 - |
156 #include <dt-bindings/clock/r8a779a0-cpg-mssr.h>
157 #include <dt-bindings/interrupt-controller/arm-gic.h>
158 #include <dt-bindings/power/r8a779a0-sysc.h>
159
160 isp1: isp@fed20000 {
161 compatible = "renesas,r8a779a0-isp", "renesas,rcar-gen4-isp";
162 reg = <0xfed20000 0x10000>, <0xfee00000 0x100000>;
163 reg-names = "cs", "core";
164 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
165 <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
166 interrupt-names = "cs", "core";
167 clocks = <&cpg CPG_MOD 613>, <&cpg CPG_MOD 17>;
168 clock-names = "cs", "core";
169 power-domains = <&sysc R8A779A0_PD_A3ISP01>;
170 resets = <&cpg 613>, <&cpg 17>;
171 reset-names = "cs", "core";
172
173 renesas,vspx = <&vspx1>;
174
175 ports {
176 #address-cells = <1>;
177 #size-cells = <0>;
178
179 port@0 {
180 #address-cells = <1>;
181 #size-cells = <0>;
182
183 reg = <0>;
184 isp1csi41: endpoint@1 {
185 reg = <1>;
186 remote-endpoint = <&csi41isp1>;
187 };
188 };
189
190 port@1 {
191 reg = <1>;
192 isp1vin08: endpoint {
193 remote-endpoint = <&vin08isp1>;
194 };
195 };
196
197 port@2 {
198 reg = <2>;
199 isp1vin09: endpoint {
200 remote-endpoint = <&vin09isp1>;
201 };
202 };
203
204 port@3 {
205 reg = <3>;
206 isp1vin10: endpoint {
207 remote-endpoint = <&vin10isp1>;
208 };
209 };
210
211 port@4 {
212 reg = <4>;
213 isp1vin11: endpoint {
214 remote-endpoint = <&vin11isp1>;
215 };
216 };
217
218 port@5 {
219 reg = <5>;
220 isp1vin12: endpoint {
221 remote-endpoint = <&vin12isp1>;
222 };
223 };
224
225 port@6 {
226 reg = <6>;
227 isp1vin13: endpoint {
228 remote-endpoint = <&vin13isp1>;
229 };
230 };
231
232 port@7 {
233 reg = <7>;
234 isp1vin14: endpoint {
235 remote-endpoint = <&vin14isp1>;
236 };
237 };
238
239 port@8 {
240 reg = <8>;
241 isp1vin15: endpoint {
242 remote-endpoint = <&vin15isp1>;
243 };
244 };
245 };
246 };