Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/display/tegra/nvidia,tegra20-vi.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: NVIDIA Tegra Video Input controller
0008 
0009 maintainers:
0010   - Thierry Reding <thierry.reding@gmail.com>
0011   - Jon Hunter <jonathanh@nvidia.com>
0012 
0013 properties:
0014   $nodename:
0015     pattern: "^vi@[0-9a-f]+$"
0016 
0017   compatible:
0018     oneOf:
0019       - const: nvidia,tegra20-vi
0020       - const: nvidia,tegra30-vi
0021       - const: nvidia,tegra114-vi
0022       - const: nvidia,tegra124-vi
0023       - items:
0024           - const: nvidia,tegra132-vi
0025           - const: nvidia,tegra124-vi
0026       - const: nvidia,tegra210-vi
0027       - const: nvidia,tegra186-vi
0028       - const: nvidia,tegra194-vi
0029 
0030   reg:
0031     maxItems: 1
0032 
0033   interrupts:
0034     maxItems: 1
0035 
0036   clocks:
0037     maxItems: 1
0038 
0039   resets:
0040     items:
0041       - description: module reset
0042 
0043   reset-names:
0044     items:
0045       - const: vi
0046 
0047   iommus:
0048     maxItems: 1
0049 
0050   interconnects:
0051     minItems: 4
0052     maxItems: 5
0053 
0054   interconnect-names:
0055     minItems: 4
0056     maxItems: 5
0057 
0058   operating-points-v2:
0059     $ref: "/schemas/types.yaml#/definitions/phandle"
0060 
0061   power-domains:
0062     items:
0063       - description: phandle to the VENC power domain
0064 
0065   "#address-cells":
0066     const: 1
0067 
0068   "#size-cells":
0069     const: 1
0070 
0071   ranges:
0072     maxItems: 1
0073 
0074   avdd-dsi-csi-supply:
0075     description: DSI/CSI power supply. Must supply 1.2 V.
0076 
0077 patternProperties:
0078   "^csi@[0-9a-f]+$":
0079     type: object
0080 
0081 additionalProperties: false
0082 
0083 required:
0084   - compatible
0085   - reg
0086   - interrupts
0087   - clocks
0088 
0089 allOf:
0090   - if:
0091       properties:
0092         compatible:
0093           contains:
0094             enum:
0095               - nvidia,tegra20-vi
0096               - nvidia,tegra30-vi
0097               - nvidia,tegra114-vi
0098               - nvidia,tegra124-vi
0099     then:
0100       required:
0101         - resets
0102         - reset-names
0103     else:
0104       required:
0105         - power-domains
0106 
0107 examples:
0108   - |
0109     #include <dt-bindings/clock/tegra20-car.h>
0110     #include <dt-bindings/interrupt-controller/arm-gic.h>
0111 
0112     vi@54080000 {
0113         compatible = "nvidia,tegra20-vi";
0114         reg = <0x54080000 0x00040000>;
0115         interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
0116         clocks = <&tegra_car TEGRA20_CLK_VI>;
0117         resets = <&tegra_car 100>;
0118         reset-names = "vi";
0119     };
0120 
0121   - |
0122     #include <dt-bindings/clock/tegra210-car.h>
0123     #include <dt-bindings/interrupt-controller/arm-gic.h>
0124 
0125     vi@54080000 {
0126         compatible = "nvidia,tegra210-vi";
0127         reg = <0x54080000 0x00000700>;
0128         interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
0129         assigned-clocks = <&tegra_car TEGRA210_CLK_VI>;
0130         assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>;
0131 
0132         clocks = <&tegra_car TEGRA210_CLK_VI>;
0133         power-domains = <&pd_venc>;
0134 
0135         #address-cells = <1>;
0136         #size-cells = <1>;
0137 
0138         ranges = <0x0 0x54080000 0x2000>;
0139 
0140         csi@838 {
0141             compatible = "nvidia,tegra210-csi";
0142             reg = <0x838 0x1300>;
0143             assigned-clocks = <&tegra_car TEGRA210_CLK_CILAB>,
0144                               <&tegra_car TEGRA210_CLK_CILCD>,
0145                               <&tegra_car TEGRA210_CLK_CILE>,
0146                               <&tegra_car TEGRA210_CLK_CSI_TPG>;
0147             assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_P>,
0148                                      <&tegra_car TEGRA210_CLK_PLL_P>,
0149                                      <&tegra_car TEGRA210_CLK_PLL_P>;
0150             assigned-clock-rates = <102000000>,
0151                                    <102000000>,
0152                                    <102000000>,
0153                                    <972000000>;
0154 
0155             clocks = <&tegra_car TEGRA210_CLK_CSI>,
0156                      <&tegra_car TEGRA210_CLK_CILAB>,
0157                      <&tegra_car TEGRA210_CLK_CILCD>,
0158                      <&tegra_car TEGRA210_CLK_CILE>,
0159                      <&tegra_car TEGRA210_CLK_CSI_TPG>;
0160             clock-names = "csi", "cilab", "cilcd", "cile", "csi_tpg";
0161             power-domains = <&pd_sor>;
0162         };
0163     };