~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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 
  7 title: NVIDIA Tegra Video Input controller
  8 
  9 maintainers:
 10   - Thierry Reding <thierry.reding@gmail.com>
 11   - Jon Hunter <jonathanh@nvidia.com>
 12 
 13 properties:
 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   avdd-dsi-csi-supply:
 74     description: DSI/CSI power supply. Must supply 1.2 V.
 75 
 76   vip:
 77     $ref: /schemas/display/tegra/nvidia,tegra20-vip.yaml
 78 
 79   ports:
 80     $ref: /schemas/graph.yaml#/properties/ports
 81 
 82     properties:
 83       port@0:
 84         $ref: /schemas/graph.yaml#/properties/port
 85         description:
 86           Input from the VIP (parallel input capture) module
 87 
 88 patternProperties:
 89   "^csi@[0-9a-f]+$":
 90     type: object
 91 
 92 additionalProperties: false
 93 
 94 required:
 95   - compatible
 96   - reg
 97   - interrupts
 98   - clocks
 99 
100 allOf:
101   - if:
102       properties:
103         compatible:
104           contains:
105             enum:
106               - nvidia,tegra20-vi
107               - nvidia,tegra30-vi
108               - nvidia,tegra114-vi
109               - nvidia,tegra124-vi
110     then:
111       required:
112         - resets
113         - reset-names
114     else:
115       required:
116         - power-domains
117 
118 examples:
119   - |
120     #include <dt-bindings/clock/tegra20-car.h>
121     #include <dt-bindings/interrupt-controller/arm-gic.h>
122 
123     i2c {
124         #address-cells = <1>;
125         #size-cells = <0>;
126         camera@48 {
127             compatible = "aptina,mt9v111";
128             reg = <0x48>;
129             clocks = <&camera_clk>;
130 
131             port {
132                 mt9v111_out: endpoint {
133                     remote-endpoint = <&vi_vip_in>;
134                 };
135             };
136         };
137     };
138 
139     vi@54080000 {
140         compatible = "nvidia,tegra20-vi";
141         reg = <0x54080000 0x00040000>;
142         interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
143         clocks = <&tegra_car TEGRA20_CLK_VI>;
144         resets = <&tegra_car 100>;
145         reset-names = "vi";
146 
147         vip {
148             compatible = "nvidia,tegra20-vip";
149             ports {
150                 #address-cells = <1>;
151                 #size-cells = <0>;
152                 port@0 {
153                     reg = <0>;
154                     vi_vip_in: endpoint {
155                         remote-endpoint = <&mt9v111_out>;
156                     };
157                 };
158                 port@1 {
159                     reg = <1>;
160                     vi_vip_out: endpoint {
161                         remote-endpoint = <&vi_in>;
162                     };
163                 };
164             };
165         };
166 
167         ports {
168             #address-cells = <1>;
169             #size-cells = <0>;
170             port@0 {
171                 reg = <0>;
172                 vi_in: endpoint {
173                     remote-endpoint = <&vi_vip_out>;
174                 };
175             };
176         };
177     };
178 
179   - |
180     #include <dt-bindings/clock/tegra210-car.h>
181     #include <dt-bindings/interrupt-controller/arm-gic.h>
182 
183     vi@54080000 {
184         compatible = "nvidia,tegra210-vi";
185         reg = <0x54080000 0x00000700>;
186         interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
187         assigned-clocks = <&tegra_car TEGRA210_CLK_VI>;
188         assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>;
189 
190         clocks = <&tegra_car TEGRA210_CLK_VI>;
191         power-domains = <&pd_venc>;
192 
193         #address-cells = <1>;
194         #size-cells = <1>;
195 
196         ranges = <0x0 0x54080000 0x2000>;
197 
198         csi@838 {
199             compatible = "nvidia,tegra210-csi";
200             reg = <0x838 0x1300>;
201             assigned-clocks = <&tegra_car TEGRA210_CLK_CILAB>,
202                               <&tegra_car TEGRA210_CLK_CILCD>,
203                               <&tegra_car TEGRA210_CLK_CILE>,
204                               <&tegra_car TEGRA210_CLK_CSI_TPG>;
205             assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_P>,
206                                      <&tegra_car TEGRA210_CLK_PLL_P>,
207                                      <&tegra_car TEGRA210_CLK_PLL_P>;
208             assigned-clock-rates = <102000000>,
209                                    <102000000>,
210                                    <102000000>,
211                                    <972000000>;
212 
213             clocks = <&tegra_car TEGRA210_CLK_CSI>,
214                      <&tegra_car TEGRA210_CLK_CILAB>,
215                      <&tegra_car TEGRA210_CLK_CILCD>,
216                      <&tegra_car TEGRA210_CLK_CILE>,
217                      <&tegra_car TEGRA210_CLK_CSI_TPG>;
218             clock-names = "csi", "cilab", "cilcd", "cile", "csi_tpg";
219             power-domains = <&pd_sor>;
220         };
221     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php