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