162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/media/nvidia,tegra-vde.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: NVIDIA Tegra Video Decoder Engine
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Dmitry Osipenko <digetx@gmail.com>
1162306a36Sopenharmony_ci  - Jon Hunter <jonathanh@nvidia.com>
1262306a36Sopenharmony_ci  - Thierry Reding <thierry.reding@gmail.com>
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciproperties:
1562306a36Sopenharmony_ci  compatible:
1662306a36Sopenharmony_ci    oneOf:
1762306a36Sopenharmony_ci      - items:
1862306a36Sopenharmony_ci          - enum:
1962306a36Sopenharmony_ci              - nvidia,tegra132-vde
2062306a36Sopenharmony_ci              - nvidia,tegra124-vde
2162306a36Sopenharmony_ci              - nvidia,tegra114-vde
2262306a36Sopenharmony_ci      - items:
2362306a36Sopenharmony_ci          - const: nvidia,tegra30-vde
2462306a36Sopenharmony_ci          - const: nvidia,tegra20-vde
2562306a36Sopenharmony_ci      - items:
2662306a36Sopenharmony_ci          - const: nvidia,tegra20-vde
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci  reg:
2962306a36Sopenharmony_ci    maxItems: 9
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci  reg-names:
3262306a36Sopenharmony_ci    items:
3362306a36Sopenharmony_ci      - const: sxe
3462306a36Sopenharmony_ci      - const: bsev
3562306a36Sopenharmony_ci      - const: mbe
3662306a36Sopenharmony_ci      - const: ppe
3762306a36Sopenharmony_ci      - const: mce
3862306a36Sopenharmony_ci      - const: tfe
3962306a36Sopenharmony_ci      - const: ppb
4062306a36Sopenharmony_ci      - const: vdma
4162306a36Sopenharmony_ci      - const: frameid
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci  clocks:
4462306a36Sopenharmony_ci    maxItems: 1
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci  resets:
4762306a36Sopenharmony_ci    maxItems: 2
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci  reset-names:
5062306a36Sopenharmony_ci    items:
5162306a36Sopenharmony_ci      - const: vde
5262306a36Sopenharmony_ci      - const: mc
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci  interrupts:
5562306a36Sopenharmony_ci    maxItems: 3
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci  interrupt-names:
5862306a36Sopenharmony_ci    items:
5962306a36Sopenharmony_ci      - const: sync-token
6062306a36Sopenharmony_ci      - const: bsev
6162306a36Sopenharmony_ci      - const: sxe
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci  iommus:
6462306a36Sopenharmony_ci    maxItems: 1
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci  iram:
6762306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle
6862306a36Sopenharmony_ci    description:
6962306a36Sopenharmony_ci      Phandle of the SRAM MMIO node.
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci  operating-points-v2:
7262306a36Sopenharmony_ci    description:
7362306a36Sopenharmony_ci      Should contain freqs and voltages and opp-supported-hw property,
7462306a36Sopenharmony_ci      which is a bitfield indicating SoC speedo or process ID mask.
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci  power-domains:
7762306a36Sopenharmony_ci    maxItems: 1
7862306a36Sopenharmony_ci    description:
7962306a36Sopenharmony_ci      Phandle to the SoC core power domain.
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_cirequired:
8262306a36Sopenharmony_ci  - compatible
8362306a36Sopenharmony_ci  - reg
8462306a36Sopenharmony_ci  - reg-names
8562306a36Sopenharmony_ci  - clocks
8662306a36Sopenharmony_ci  - resets
8762306a36Sopenharmony_ci  - reset-names
8862306a36Sopenharmony_ci  - interrupts
8962306a36Sopenharmony_ci  - interrupt-names
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ciadditionalProperties: false
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ciexamples:
9462306a36Sopenharmony_ci  - |
9562306a36Sopenharmony_ci    video-codec@6001a000 {
9662306a36Sopenharmony_ci      compatible = "nvidia,tegra20-vde";
9762306a36Sopenharmony_ci      reg = <0x6001a000 0x1000>, /* Syntax Engine */
9862306a36Sopenharmony_ci            <0x6001b000 0x1000>, /* Video Bitstream Engine */
9962306a36Sopenharmony_ci            <0x6001c000  0x100>, /* Macroblock Engine */
10062306a36Sopenharmony_ci            <0x6001c200  0x100>, /* Post-processing Engine */
10162306a36Sopenharmony_ci            <0x6001c400  0x100>, /* Motion Compensation Engine */
10262306a36Sopenharmony_ci            <0x6001c600  0x100>, /* Transform Engine */
10362306a36Sopenharmony_ci            <0x6001c800  0x100>, /* Pixel prediction block */
10462306a36Sopenharmony_ci            <0x6001ca00  0x100>, /* Video DMA */
10562306a36Sopenharmony_ci            <0x6001d800  0x300>; /* Video frame controls */
10662306a36Sopenharmony_ci      reg-names = "sxe", "bsev", "mbe", "ppe", "mce",
10762306a36Sopenharmony_ci                  "tfe", "ppb", "vdma", "frameid";
10862306a36Sopenharmony_ci      iram = <&iram>; /* IRAM MMIO region */
10962306a36Sopenharmony_ci      interrupts = <0  9 4>, /* Sync token */
11062306a36Sopenharmony_ci                   <0 10 4>, /* BSE-V */
11162306a36Sopenharmony_ci                   <0 12 4>; /* SXE */
11262306a36Sopenharmony_ci      interrupt-names = "sync-token", "bsev", "sxe";
11362306a36Sopenharmony_ci      clocks = <&clk 61>;
11462306a36Sopenharmony_ci      reset-names = "vde", "mc";
11562306a36Sopenharmony_ci      resets = <&rst 61>, <&mem 13>;
11662306a36Sopenharmony_ci      iommus = <&mem 15>;
11762306a36Sopenharmony_ci      operating-points-v2 = <&dvfs_opp_table>;
11862306a36Sopenharmony_ci      power-domains = <&domain>;
11962306a36Sopenharmony_ci    };
120