xref: /openbmc/linux/Documentation/devicetree/bindings/media/nvidia,tegra-vde.yaml (revision 03ab8e6297acd1bc0eedaa050e2a1635c576fd11)
1ccc30162SDmitry Osipenko# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2ccc30162SDmitry Osipenko%YAML 1.2
3ccc30162SDmitry Osipenko---
4ccc30162SDmitry Osipenko$id: http://devicetree.org/schemas/media/nvidia,tegra-vde.yaml#
5ccc30162SDmitry Osipenko$schema: http://devicetree.org/meta-schemas/core.yaml#
6ccc30162SDmitry Osipenko
7ccc30162SDmitry Osipenkotitle: NVIDIA Tegra Video Decoder Engine
8ccc30162SDmitry Osipenko
9ccc30162SDmitry Osipenkomaintainers:
10ccc30162SDmitry Osipenko  - Dmitry Osipenko <digetx@gmail.com>
11ccc30162SDmitry Osipenko  - Jon Hunter <jonathanh@nvidia.com>
12ccc30162SDmitry Osipenko  - Thierry Reding <thierry.reding@gmail.com>
13ccc30162SDmitry Osipenko
14ccc30162SDmitry Osipenkoproperties:
15ccc30162SDmitry Osipenko  compatible:
16ccc30162SDmitry Osipenko    oneOf:
17ccc30162SDmitry Osipenko      - items:
18ccc30162SDmitry Osipenko          - enum:
19ccc30162SDmitry Osipenko              - nvidia,tegra132-vde
20ccc30162SDmitry Osipenko              - nvidia,tegra124-vde
21ccc30162SDmitry Osipenko              - nvidia,tegra114-vde
22ccc30162SDmitry Osipenko      - items:
23ccc30162SDmitry Osipenko          - const: nvidia,tegra30-vde
24ccc30162SDmitry Osipenko          - const: nvidia,tegra20-vde
25ccc30162SDmitry Osipenko      - items:
26ccc30162SDmitry Osipenko          - const: nvidia,tegra20-vde
27ccc30162SDmitry Osipenko
28ccc30162SDmitry Osipenko  reg:
29ccc30162SDmitry Osipenko    maxItems: 9
30ccc30162SDmitry Osipenko
31ccc30162SDmitry Osipenko  reg-names:
32ccc30162SDmitry Osipenko    items:
33ccc30162SDmitry Osipenko      - const: sxe
34ccc30162SDmitry Osipenko      - const: bsev
35ccc30162SDmitry Osipenko      - const: mbe
36ccc30162SDmitry Osipenko      - const: ppe
37ccc30162SDmitry Osipenko      - const: mce
38ccc30162SDmitry Osipenko      - const: tfe
39ccc30162SDmitry Osipenko      - const: ppb
40ccc30162SDmitry Osipenko      - const: vdma
41ccc30162SDmitry Osipenko      - const: frameid
42ccc30162SDmitry Osipenko
43ccc30162SDmitry Osipenko  clocks:
44ccc30162SDmitry Osipenko    maxItems: 1
45ccc30162SDmitry Osipenko
46ccc30162SDmitry Osipenko  resets:
47ccc30162SDmitry Osipenko    maxItems: 2
48ccc30162SDmitry Osipenko
49ccc30162SDmitry Osipenko  reset-names:
50ccc30162SDmitry Osipenko    items:
51ccc30162SDmitry Osipenko      - const: vde
52ccc30162SDmitry Osipenko      - const: mc
53ccc30162SDmitry Osipenko
54ccc30162SDmitry Osipenko  interrupts:
55ccc30162SDmitry Osipenko    maxItems: 3
56ccc30162SDmitry Osipenko
57ccc30162SDmitry Osipenko  interrupt-names:
58ccc30162SDmitry Osipenko    items:
59ccc30162SDmitry Osipenko      - const: sync-token
60ccc30162SDmitry Osipenko      - const: bsev
61ccc30162SDmitry Osipenko      - const: sxe
62ccc30162SDmitry Osipenko
63ccc30162SDmitry Osipenko  iommus:
64ccc30162SDmitry Osipenko    maxItems: 1
65ccc30162SDmitry Osipenko
66ccc30162SDmitry Osipenko  iram:
67ccc30162SDmitry Osipenko    $ref: /schemas/types.yaml#/definitions/phandle
68ccc30162SDmitry Osipenko    description:
69ccc30162SDmitry Osipenko      Phandle of the SRAM MMIO node.
70ccc30162SDmitry Osipenko
71*c9059a6bSDmitry Osipenko  operating-points-v2:
72*c9059a6bSDmitry Osipenko    description:
73*c9059a6bSDmitry Osipenko      Should contain freqs and voltages and opp-supported-hw property,
74*c9059a6bSDmitry Osipenko      which is a bitfield indicating SoC speedo or process ID mask.
75*c9059a6bSDmitry Osipenko
76*c9059a6bSDmitry Osipenko  power-domains:
77*c9059a6bSDmitry Osipenko    maxItems: 1
78*c9059a6bSDmitry Osipenko    description:
79*c9059a6bSDmitry Osipenko      Phandle to the SoC core power domain.
80*c9059a6bSDmitry Osipenko
81ccc30162SDmitry Osipenkorequired:
82ccc30162SDmitry Osipenko  - compatible
83ccc30162SDmitry Osipenko  - reg
84ccc30162SDmitry Osipenko  - reg-names
85ccc30162SDmitry Osipenko  - clocks
86ccc30162SDmitry Osipenko  - resets
87ccc30162SDmitry Osipenko  - reset-names
88ccc30162SDmitry Osipenko  - interrupts
89ccc30162SDmitry Osipenko  - interrupt-names
90ccc30162SDmitry Osipenko
91ccc30162SDmitry OsipenkoadditionalProperties: false
92ccc30162SDmitry Osipenko
93ccc30162SDmitry Osipenkoexamples:
94ccc30162SDmitry Osipenko  - |
95ccc30162SDmitry Osipenko    video-codec@6001a000 {
96ccc30162SDmitry Osipenko      compatible = "nvidia,tegra20-vde";
97ccc30162SDmitry Osipenko      reg = <0x6001a000 0x1000>, /* Syntax Engine */
98ccc30162SDmitry Osipenko            <0x6001b000 0x1000>, /* Video Bitstream Engine */
99ccc30162SDmitry Osipenko            <0x6001c000  0x100>, /* Macroblock Engine */
100ccc30162SDmitry Osipenko            <0x6001c200  0x100>, /* Post-processing Engine */
101ccc30162SDmitry Osipenko            <0x6001c400  0x100>, /* Motion Compensation Engine */
102ccc30162SDmitry Osipenko            <0x6001c600  0x100>, /* Transform Engine */
103ccc30162SDmitry Osipenko            <0x6001c800  0x100>, /* Pixel prediction block */
104ccc30162SDmitry Osipenko            <0x6001ca00  0x100>, /* Video DMA */
105ccc30162SDmitry Osipenko            <0x6001d800  0x300>; /* Video frame controls */
106ccc30162SDmitry Osipenko      reg-names = "sxe", "bsev", "mbe", "ppe", "mce",
107ccc30162SDmitry Osipenko                  "tfe", "ppb", "vdma", "frameid";
108ccc30162SDmitry Osipenko      iram = <&iram>; /* IRAM MMIO region */
109ccc30162SDmitry Osipenko      interrupts = <0  9 4>, /* Sync token */
110ccc30162SDmitry Osipenko                   <0 10 4>, /* BSE-V */
111ccc30162SDmitry Osipenko                   <0 12 4>; /* SXE */
112ccc30162SDmitry Osipenko      interrupt-names = "sync-token", "bsev", "sxe";
113ccc30162SDmitry Osipenko      clocks = <&clk 61>;
114ccc30162SDmitry Osipenko      reset-names = "vde", "mc";
115ccc30162SDmitry Osipenko      resets = <&rst 61>, <&mem 13>;
116ccc30162SDmitry Osipenko      iommus = <&mem 15>;
117*c9059a6bSDmitry Osipenko      operating-points-v2 = <&dvfs_opp_table>;
118*c9059a6bSDmitry Osipenko      power-domains = <&domain>;
119ccc30162SDmitry Osipenko    };
120