File Index
Files and directories
Sign in
FILE

renesas,rzg2l-csi2.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2# Copyright (C) 2022 Renesas Electronics Corp.
  3%YAML 1.2
  4---
  5$id: http://devicetree.org/schemas/media/renesas,rzg2l-csi2.yaml#
  6$schema: http://devicetree.org/meta-schemas/core.yaml#
  7
  8title: Renesas RZ/G2L (and alike SoC's) MIPI CSI-2 receiver
  9
 10maintainers:
 11  - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
 12
 13description:
 14  The CSI-2 receiver device provides MIPI CSI-2 capabilities for the Renesas RZ/G2L
 15  (and alike SoCs). MIPI CSI-2 is part of the CRU block which is used in conjunction
 16  with the Image Processing module, which provides the video capture capabilities.
 17
 18properties:
 19  compatible:
 20    oneOf:
 21      - items:
 22          - enum:
 23              - renesas,r9a07g043-csi2 # RZ/G2UL
 24              - renesas,r9a07g044-csi2 # RZ/G2{L,LC}
 25              - renesas,r9a07g054-csi2 # RZ/V2L
 26          - const: renesas,rzg2l-csi2
 27      - items:
 28          - const: renesas,r9a09g047-csi2 # RZ/G3E
 29          - const: renesas,r9a09g057-csi2
 30      - const: renesas,r9a09g057-csi2 # RZ/V2H(P)
 31
 32  reg:
 33    maxItems: 1
 34
 35  interrupts:
 36    maxItems: 1
 37
 38  clocks:
 39    oneOf:
 40      - items:
 41          - description: Internal clock for connecting CRU and MIPI
 42          - description: CRU Main clock
 43          - description: CRU Register access clock
 44      - items:
 45          - description: CRU Main clock
 46          - description: CRU Register access clock
 47
 48  clock-names:
 49    oneOf:
 50      - items:
 51          - const: system
 52          - const: video
 53          - const: apb
 54      - items:
 55          - const: video
 56          - const: apb
 57
 58  power-domains:
 59    maxItems: 1
 60
 61  resets:
 62    items:
 63      - description: CRU_PRESETN reset terminal
 64      - description: D-PHY reset (CRU_CMN_RSTB or CRU_n_S_RESETN)
 65
 66  reset-names:
 67    items:
 68      - const: presetn
 69      - const: cmn-rstb
 70
 71  ports:
 72    $ref: /schemas/graph.yaml#/properties/ports
 73
 74    properties:
 75      port@0:
 76        $ref: /schemas/graph.yaml#/$defs/port-base
 77        unevaluatedProperties: false
 78        description:
 79          Input port node, single endpoint describing the CSI-2 transmitter.
 80
 81        properties:
 82          endpoint:
 83            $ref: video-interfaces.yaml#
 84            unevaluatedProperties: false
 85
 86            properties:
 87              data-lanes:
 88                minItems: 1
 89                maxItems: 4
 90                items:
 91                  maximum: 4
 92
 93            required:
 94              - clock-lanes
 95              - data-lanes
 96
 97      port@1:
 98        $ref: /schemas/graph.yaml#/properties/port
 99        description:
100          Output port node, Image Processing block connected to the CSI-2 receiver.
101
102    required:
103      - port@0
104      - port@1
105
106required:
107  - compatible
108  - reg
109  - interrupts
110  - clocks
111  - clock-names
112  - power-domains
113  - resets
114  - reset-names
115  - ports
116
117allOf:
118  - if:
119      properties:
120        compatible:
121          contains:
122            const: renesas,r9a09g057-csi2
123    then:
124      properties:
125        clocks:
126          maxItems: 2
127        clock-names:
128          maxItems: 2
129    else:
130      properties:
131        clocks:
132          minItems: 3
133        clock-names:
134          minItems: 3
135
136additionalProperties: false
137
138examples:
139  - |
140    #include <dt-bindings/clock/r9a07g044-cpg.h>
141    #include <dt-bindings/interrupt-controller/arm-gic.h>
142
143    csi: csi@10830400 {
144        compatible = "renesas,r9a07g044-csi2", "renesas,rzg2l-csi2";
145        reg = <0x10830400 0xfc00>;
146        interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
147        clocks = <&cpg CPG_MOD R9A07G044_CRU_SYSCLK>,
148                 <&cpg CPG_MOD R9A07G044_CRU_VCLK>,
149                 <&cpg CPG_MOD R9A07G044_CRU_PCLK>;
150        clock-names = "system", "video", "apb";
151        power-domains = <&cpg>;
152        resets = <&cpg R9A07G044_CRU_PRESETN>,
153                 <&cpg R9A07G044_CRU_CMN_RSTB>;
154        reset-names = "presetn", "cmn-rstb";
155
156        ports {
157            #address-cells = <1>;
158            #size-cells = <0>;
159
160            port@0 {
161                reg = <0>;
162
163                csi2_in: endpoint {
164                    clock-lanes = <0>;
165                    data-lanes = <1 2>;
166                    remote-endpoint = <&ov5645_ep>;
167                };
168            };
169
170            port@1 {
171                #address-cells = <1>;
172                #size-cells = <0>;
173
174                reg = <1>;
175
176                csi2cru: endpoint@0 {
177                    reg = <0>;
178                    remote-endpoint = <&crucsi2>;
179                };
180            };
181        };
182    };
~/ Read-only file preview.