0001 # SPDX-License-Identifier: GPL-2.0-only
0002 # Copyright (C) 2020 Renesas Electronics Corp.
0003 %YAML 1.2
0004 ---
0005 $id: http://devicetree.org/schemas/media/renesas,csi2.yaml#
0006 $schema: http://devicetree.org/meta-schemas/core.yaml#
0007
0008 title: Renesas R-Car MIPI CSI-2 receiver
0009
0010 maintainers:
0011 - Niklas Söderlund <niklas.soderlund@ragnatech.se>
0012
0013 description:
0014 The R-Car CSI-2 receiver device provides MIPI CSI-2 capabilities for the
0015 Renesas R-Car and RZ/G2 family of devices. It is used in conjunction with the
0016 R-Car VIN module, which provides the video capture capabilities.
0017
0018 properties:
0019 compatible:
0020 items:
0021 - enum:
0022 - renesas,r8a774a1-csi2 # RZ/G2M
0023 - renesas,r8a774b1-csi2 # RZ/G2N
0024 - renesas,r8a774c0-csi2 # RZ/G2E
0025 - renesas,r8a774e1-csi2 # RZ/G2H
0026 - renesas,r8a7795-csi2 # R-Car H3
0027 - renesas,r8a7796-csi2 # R-Car M3-W
0028 - renesas,r8a77961-csi2 # R-Car M3-W+
0029 - renesas,r8a77965-csi2 # R-Car M3-N
0030 - renesas,r8a77970-csi2 # R-Car V3M
0031 - renesas,r8a77980-csi2 # R-Car V3H
0032 - renesas,r8a77990-csi2 # R-Car E3
0033 - renesas,r8a779a0-csi2 # R-Car V3U
0034
0035 reg:
0036 maxItems: 1
0037
0038 interrupts:
0039 maxItems: 1
0040
0041 clocks:
0042 maxItems: 1
0043
0044 power-domains:
0045 maxItems: 1
0046
0047 resets:
0048 maxItems: 1
0049
0050 ports:
0051 $ref: /schemas/graph.yaml#/properties/ports
0052
0053 properties:
0054 port@0:
0055 $ref: /schemas/graph.yaml#/$defs/port-base
0056 unevaluatedProperties: false
0057 description:
0058 Input port node, single endpoint describing the CSI-2 transmitter.
0059
0060 properties:
0061 endpoint:
0062 $ref: video-interfaces.yaml#
0063 unevaluatedProperties: false
0064
0065 properties:
0066 clock-lanes:
0067 maxItems: 1
0068
0069 data-lanes:
0070 minItems: 1
0071 maxItems: 4
0072 items:
0073 maximum: 4
0074
0075 required:
0076 - clock-lanes
0077 - data-lanes
0078
0079 port@1:
0080 $ref: /schemas/graph.yaml#/properties/port
0081 description:
0082 Output port node, multiple endpoints describing all the R-Car VIN
0083 modules connected the CSI-2 receiver.
0084
0085 required:
0086 - port@0
0087 - port@1
0088
0089 required:
0090 - compatible
0091 - reg
0092 - interrupts
0093 - clocks
0094 - power-domains
0095 - resets
0096 - ports
0097
0098 additionalProperties: false
0099
0100 examples:
0101 - |
0102 #include <dt-bindings/clock/r8a7796-cpg-mssr.h>
0103 #include <dt-bindings/interrupt-controller/arm-gic.h>
0104 #include <dt-bindings/power/r8a7796-sysc.h>
0105
0106 csi20: csi2@fea80000 {
0107 compatible = "renesas,r8a7796-csi2";
0108 reg = <0xfea80000 0x10000>;
0109 interrupts = <0 184 IRQ_TYPE_LEVEL_HIGH>;
0110 clocks = <&cpg CPG_MOD 714>;
0111 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
0112 resets = <&cpg 714>;
0113
0114 ports {
0115 #address-cells = <1>;
0116 #size-cells = <0>;
0117
0118 port@0 {
0119 reg = <0>;
0120
0121 csi20_in: endpoint {
0122 clock-lanes = <0>;
0123 data-lanes = <1>;
0124 remote-endpoint = <&adv7482_txb>;
0125 };
0126 };
0127
0128 port@1 {
0129 #address-cells = <1>;
0130 #size-cells = <0>;
0131
0132 reg = <1>;
0133
0134 csi20vin0: endpoint@0 {
0135 reg = <0>;
0136 remote-endpoint = <&vin0csi20>;
0137 };
0138 csi20vin1: endpoint@1 {
0139 reg = <1>;
0140 remote-endpoint = <&vin1csi20>;
0141 };
0142 csi20vin2: endpoint@2 {
0143 reg = <2>;
0144 remote-endpoint = <&vin2csi20>;
0145 };
0146 csi20vin3: endpoint@3 {
0147 reg = <3>;
0148 remote-endpoint = <&vin3csi20>;
0149 };
0150 csi20vin4: endpoint@4 {
0151 reg = <4>;
0152 remote-endpoint = <&vin4csi20>;
0153 };
0154 csi20vin5: endpoint@5 {
0155 reg = <5>;
0156 remote-endpoint = <&vin5csi20>;
0157 };
0158 csi20vin6: endpoint@6 {
0159 reg = <6>;
0160 remote-endpoint = <&vin6csi20>;
0161 };
0162 csi20vin7: endpoint@7 {
0163 reg = <7>;
0164 remote-endpoint = <&vin7csi20>;
0165 };
0166 };
0167 };
0168 };