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 }; 247