File Index
Files and directories
Sign in
FILE

nvidia,tegra20-vi.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/display/tegra/nvidia,tegra20-vi.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: NVIDIA Tegra Video Input controller
  8
  9maintainers:
 10  - Thierry Reding <thierry.reding@gmail.com>
 11  - Jon Hunter <jonathanh@nvidia.com>
 12
 13properties:
 14  $nodename:
 15    pattern: "^vi@[0-9a-f]+$"
 16
 17  compatible:
 18    oneOf:
 19      - const: nvidia,tegra20-vi
 20      - const: nvidia,tegra30-vi
 21      - const: nvidia,tegra114-vi
 22      - const: nvidia,tegra124-vi
 23      - items:
 24          - const: nvidia,tegra132-vi
 25          - const: nvidia,tegra124-vi
 26      - const: nvidia,tegra210-vi
 27      - const: nvidia,tegra186-vi
 28      - const: nvidia,tegra194-vi
 29
 30  reg:
 31    maxItems: 1
 32
 33  interrupts:
 34    maxItems: 1
 35
 36  clocks:
 37    maxItems: 1
 38
 39  resets:
 40    items:
 41      - description: module reset
 42
 43  reset-names:
 44    items:
 45      - const: vi
 46
 47  iommus:
 48    maxItems: 1
 49
 50  interconnects:
 51    minItems: 4
 52    maxItems: 5
 53
 54  interconnect-names:
 55    minItems: 4
 56    maxItems: 5
 57
 58  operating-points-v2: true
 59
 60  power-domains:
 61    items:
 62      - description: phandle to the VENC power domain
 63
 64  "#address-cells":
 65    const: 1
 66
 67  "#size-cells":
 68    const: 1
 69
 70  ranges:
 71    maxItems: 1
 72
 73  vip:
 74    $ref: /schemas/display/tegra/nvidia,tegra20-vip.yaml
 75
 76  ports:
 77    $ref: /schemas/graph.yaml#/properties/ports
 78
 79    properties:
 80      port@0:
 81        $ref: /schemas/graph.yaml#/properties/port
 82        description:
 83          Input from the VIP (parallel input capture) module
 84
 85patternProperties:
 86  "^csi@[0-9a-f]+$":
 87    type: object
 88
 89additionalProperties: false
 90
 91required:
 92  - compatible
 93  - reg
 94  - interrupts
 95  - clocks
 96
 97allOf:
 98  - if:
 99      properties:
100        compatible:
101          contains:
102            enum:
103              - nvidia,tegra20-vi
104              - nvidia,tegra30-vi
105              - nvidia,tegra114-vi
106              - nvidia,tegra124-vi
107    then:
108      required:
109        - resets
110        - reset-names
111    else:
112      required:
113        - power-domains
114
115examples:
116  - |
117    #include <dt-bindings/clock/tegra20-car.h>
118    #include <dt-bindings/interrupt-controller/arm-gic.h>
119
120    i2c {
121        #address-cells = <1>;
122        #size-cells = <0>;
123        camera@48 {
124            compatible = "aptina,mt9v111";
125            reg = <0x48>;
126            clocks = <&camera_clk>;
127
128            port {
129                mt9v111_out: endpoint {
130                    remote-endpoint = <&vi_vip_in>;
131                };
132            };
133        };
134    };
135
136    vi@54080000 {
137        compatible = "nvidia,tegra20-vi";
138        reg = <0x54080000 0x00040000>;
139        interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
140        clocks = <&tegra_car TEGRA20_CLK_VI>;
141        resets = <&tegra_car 100>;
142        reset-names = "vi";
143
144        vip {
145            compatible = "nvidia,tegra20-vip";
146            ports {
147                #address-cells = <1>;
148                #size-cells = <0>;
149                port@0 {
150                    reg = <0>;
151                    vi_vip_in: endpoint {
152                        remote-endpoint = <&mt9v111_out>;
153                    };
154                };
155                port@1 {
156                    reg = <1>;
157                    vi_vip_out: endpoint {
158                        remote-endpoint = <&vi_in>;
159                    };
160                };
161            };
162        };
163
164        ports {
165            #address-cells = <1>;
166            #size-cells = <0>;
167            port@0 {
168                reg = <0>;
169                vi_in: endpoint {
170                    remote-endpoint = <&vi_vip_out>;
171                };
172            };
173        };
174    };
175
176  - |
177    #include <dt-bindings/clock/tegra210-car.h>
178    #include <dt-bindings/interrupt-controller/arm-gic.h>
179
180    vi@54080000 {
181        compatible = "nvidia,tegra210-vi";
182        reg = <0x54080000 0x00000700>;
183        interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
184        assigned-clocks = <&tegra_car TEGRA210_CLK_VI>;
185        assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>;
186
187        clocks = <&tegra_car TEGRA210_CLK_VI>;
188        power-domains = <&pd_venc>;
189
190        #address-cells = <1>;
191        #size-cells = <1>;
192
193        ranges = <0x0 0x54080000 0x2000>;
194
195        csi@838 {
196            compatible = "nvidia,tegra210-csi";
197            reg = <0x838 0x1300>;
198            assigned-clocks = <&tegra_car TEGRA210_CLK_CILAB>,
199                              <&tegra_car TEGRA210_CLK_CILCD>,
200                              <&tegra_car TEGRA210_CLK_CILE>,
201                              <&tegra_car TEGRA210_CLK_CSI_TPG>;
202            assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_P>,
203                                     <&tegra_car TEGRA210_CLK_PLL_P>,
204                                     <&tegra_car TEGRA210_CLK_PLL_P>;
205            assigned-clock-rates = <102000000>,
206                                   <102000000>,
207                                   <102000000>,
208                                   <972000000>;
209
210            clocks = <&tegra_car TEGRA210_CLK_CSI>,
211                     <&tegra_car TEGRA210_CLK_CILAB>,
212                     <&tegra_car TEGRA210_CLK_CILCD>,
213                     <&tegra_car TEGRA210_CLK_CILE>,
214                     <&tegra_car TEGRA210_CLK_CSI_TPG>;
215            clock-names = "csi", "cilab", "cilcd", "cile", "csi_tpg";
216            power-domains = <&pd_sor>;
217        };
218    };
~/ Read-only file preview.