xref: /freebsd/sys/contrib/device-tree/Bindings/media/renesas,isp.yaml (revision 59c8e88e72633afbc47a4ace0d2170d00d51f7dc)
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  reg:
26    maxItems: 1
27
28  interrupts:
29    maxItems: 1
30
31  clocks:
32    maxItems: 1
33
34  power-domains:
35    maxItems: 1
36
37  resets:
38    maxItems: 1
39
40  ports:
41    $ref: /schemas/graph.yaml#/properties/ports
42
43    properties:
44      port@0:
45        $ref: /schemas/graph.yaml#/properties/port
46        description:
47          Input port node, multiple endpoints describing the connected R-Car
48          CSI-2 receivers.
49
50      port@1:
51        $ref: /schemas/graph.yaml#/properties/port
52        description:
53          Single endpoint describing the R-Car VIN connected to output port 0.
54
55      port@2:
56        $ref: /schemas/graph.yaml#/properties/port
57        description:
58          Single endpoint describing the R-Car VIN connected to output port 1.
59
60      port@3:
61        $ref: /schemas/graph.yaml#/properties/port
62        description:
63          Single endpoint describing the R-Car VIN connected to output port 2.
64
65      port@4:
66        $ref: /schemas/graph.yaml#/properties/port
67        description:
68          Single endpoint describing the R-Car VIN connected to output port 3.
69
70      port@5:
71        $ref: /schemas/graph.yaml#/properties/port
72        description:
73          Single endpoint describing the R-Car VIN connected to output port 4.
74
75      port@6:
76        $ref: /schemas/graph.yaml#/properties/port
77        description:
78          Single endpoint describing the R-Car VIN connected to output port 5.
79
80      port@7:
81        $ref: /schemas/graph.yaml#/properties/port
82        description:
83          Single endpoint describing the R-Car VIN connected to output port 6.
84
85      port@8:
86        $ref: /schemas/graph.yaml#/properties/port
87        description:
88          Single endpoint describing the R-Car VIN connected to output port 7.
89
90    required:
91      - port@0
92      - port@1
93      - port@2
94      - port@3
95      - port@4
96      - port@5
97      - port@6
98      - port@7
99      - port@8
100
101required:
102  - compatible
103  - reg
104  - interrupts
105  - clocks
106  - power-domains
107  - resets
108  - ports
109
110additionalProperties: false
111
112examples:
113  - |
114    #include <dt-bindings/clock/r8a779a0-cpg-mssr.h>
115    #include <dt-bindings/interrupt-controller/arm-gic.h>
116    #include <dt-bindings/power/r8a779a0-sysc.h>
117
118    isp1: isp@fed20000 {
119            compatible = "renesas,r8a779a0-isp";
120            reg = <0xfed20000 0x10000>;
121            interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
122            clocks = <&cpg CPG_MOD 613>;
123            power-domains = <&sysc R8A779A0_PD_A3ISP01>;
124            resets = <&cpg 613>;
125
126            ports {
127                    #address-cells = <1>;
128                    #size-cells = <0>;
129
130                    port@0 {
131                            #address-cells = <1>;
132                            #size-cells = <0>;
133
134                            reg = <0>;
135                            isp1csi41: endpoint@1 {
136                                    reg = <1>;
137                                    remote-endpoint = <&csi41isp1>;
138                            };
139                    };
140
141                    port@1 {
142                            reg = <1>;
143                            isp1vin08: endpoint {
144                                    remote-endpoint = <&vin08isp1>;
145                            };
146                    };
147
148                    port@2 {
149                            reg = <2>;
150                            isp1vin09: endpoint {
151                                    remote-endpoint = <&vin09isp1>;
152                            };
153                    };
154
155                    port@3 {
156                            reg = <3>;
157                            isp1vin10: endpoint {
158                                    remote-endpoint = <&vin10isp1>;
159                            };
160                    };
161
162                    port@4 {
163                            reg = <4>;
164                            isp1vin11: endpoint {
165                                    remote-endpoint = <&vin11isp1>;
166                            };
167                    };
168
169                    port@5 {
170                            reg = <5>;
171                            isp1vin12: endpoint {
172                                    remote-endpoint = <&vin12isp1>;
173                            };
174                    };
175
176                    port@6 {
177                            reg = <6>;
178                            isp1vin13: endpoint {
179                                    remote-endpoint = <&vin13isp1>;
180                            };
181                    };
182
183                    port@7 {
184                            reg = <7>;
185                            isp1vin14: endpoint {
186                                    remote-endpoint = <&vin14isp1>;
187                            };
188                    };
189
190                    port@8 {
191                            reg = <8>;
192                            isp1vin15: endpoint {
193                                    remote-endpoint = <&vin15isp1>;
194                            };
195                    };
196            };
197    };
198