Back to home page

OSCL-LXR

 
 

    


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