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