# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/nvidia,tegra-vde.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NVIDIA Tegra Video Decoder Engine
maintainers:
- Dmitry Osipenko <[email protected]>
- Jon Hunter <[email protected]>
- Thierry Reding <[email protected]>
properties:
compatible:
oneOf:
- items:
- enum:
- nvidia,tegra132-vde
- nvidia,tegra124-vde
- nvidia,tegra114-vde
- items:
- const: nvidia,tegra30-vde
- const: nvidia,tegra20-vde
- items:
- const: nvidia,tegra20-vde
reg:
maxItems: 9
reg-names:
items:
- const: sxe
- const: bsev
- const: mbe
- const: ppe
- const: mce
- const: tfe
- const: ppb
- const: vdma
- const: frameid
clocks:
maxItems: 1
resets:
maxItems: 2
reset-names:
items:
- const: vde
- const: mc
interrupts:
maxItems: 3
interrupt-names:
items:
- const: sync-token
- const: bsev
- const: sxe
iommus:
maxItems: 1
iram:
$ref: /schemas/types.yaml#/definitions/phandle
description:
Phandle of the SRAM MMIO node.
operating-points-v2:
description:
Should contain freqs and voltages and opp-supported-hw property,
which is a bitfield indicating SoC speedo or process ID mask.
power-domains:
maxItems: 1
description:
Phandle to the SoC core power domain.
required:
- compatible
- reg
- reg-names
- clocks
- resets
- reset-names
- interrupts
- interrupt-names
additionalProperties: false
examples:
- |
video-codec@6001a000 {
compatible = "nvidia,tegra20-vde";
reg = <0x6001a000 0x1000>, /* Syntax Engine */
<0x6001b000 0x1000>, /* Video Bitstream Engine */
<0x6001c000 0x100>, /* Macroblock Engine */
<0x6001c200 0x100>, /* Post-processing Engine */
<0x6001c400 0x100>, /* Motion Compensation Engine */
<0x6001c600 0x100>, /* Transform Engine */
<0x6001c800 0x100>, /* Pixel prediction block */
<0x6001ca00 0x100>, /* Video DMA */
<0x6001d800 0x300>; /* Video frame controls */
reg-names = "sxe", "bsev", "mbe", "ppe", "mce",
"tfe", "ppb", "vdma", "frameid";
iram = <&iram>; /* IRAM MMIO region */
interrupts = <0 9 4>, /* Sync token */
<0 10 4>, /* BSE-V */
<0 12 4>; /* SXE */
interrupt-names = "sync-token", "bsev", "sxe";
clocks = <&clk 61>;
reset-names = "vde", "mc";
resets = <&rst 61>, <&mem 13>;
iommus = <&mem 15>;
operating-points-v2 = <&dvfs_opp_table>;
power-domains = <&domain>;
};