1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
4 $id: "http://devicetree.org/schemas/gpu/host1x/nvidia,tegra210-nvenc.yaml#"
5 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
7 title: Device tree binding for NVIDIA Tegra NVENC
10 NVENC is the hardware video encoder present on NVIDIA Tegra210
11 and newer chips. It is located on the Host1x bus and typically
12 programmed through Host1x channels.
15 - Thierry Reding <treding@gmail.com>
16 - Mikko Perttunen <mperttunen@nvidia.com>
20 pattern: "^nvenc@[0-9a-f]*$"
24 - nvidia,tegra210-nvenc
25 - nvidia,tegra186-nvenc
26 - nvidia,tegra194-nvenc
63 Host1x class of the engine, used to specify the targeted engine
64 when programming the engine through Host1x channels or when
65 configuring engine-specific behavior in Host1x.
67 $ref: /schemas/types.yaml#/definitions/uint32
83 - nvidia,tegra210-nvenc
84 - nvidia,tegra186-nvenc
89 - description: DMA read memory client
90 - description: DMA write memory client
99 - nvidia,tegra194-nvenc
104 - description: DMA read memory client
105 - description: DMA read 2 memory client
106 - description: DMA write memory client
113 additionalProperties: false
117 #include <dt-bindings/clock/tegra186-clock.h>
118 #include <dt-bindings/memory/tegra186-mc.h>
119 #include <dt-bindings/power/tegra186-powergate.h>
120 #include <dt-bindings/reset/tegra186-reset.h>
123 compatible = "nvidia,tegra186-nvenc";
124 reg = <0x154c0000 0x40000>;
125 clocks = <&bpmp TEGRA186_CLK_NVENC>;
126 clock-names = "nvenc";
127 resets = <&bpmp TEGRA186_RESET_NVENC>;
128 reset-names = "nvenc";
130 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_MPE>;
131 interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVENCSRD &emc>,
132 <&mc TEGRA186_MEMORY_CLIENT_NVENCSWR &emc>;
133 interconnect-names = "dma-mem", "write";
134 iommus = <&smmu TEGRA186_SID_NVENC>;