1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
4 $id: "http://devicetree.org/schemas/gpu/host1x/nvidia,tegra210-nvdec.yaml#"
5 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
7 title: Device tree binding for NVIDIA Tegra NVDEC
10 NVDEC is the hardware video decoder 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: "^nvdec@[0-9a-f]*$"
24 - nvidia,tegra210-nvdec
25 - nvidia,tegra186-nvdec
26 - nvidia,tegra194-nvdec
55 - description: DMA read memory client
56 - description: DMA read 2 memory client
57 - description: DMA write memory client
67 Host1x class of the engine, used to specify the targeted engine
68 when programming the engine through Host1x channels or when
69 configuring engine-specific behavior in Host1x.
71 $ref: /schemas/types.yaml#/definitions/uint32
82 additionalProperties: false
86 #include <dt-bindings/clock/tegra186-clock.h>
87 #include <dt-bindings/interrupt-controller/arm-gic.h>
88 #include <dt-bindings/memory/tegra186-mc.h>
89 #include <dt-bindings/power/tegra186-powergate.h>
90 #include <dt-bindings/reset/tegra186-reset.h>
93 compatible = "nvidia,tegra186-nvdec";
94 reg = <0x15480000 0x40000>;
95 clocks = <&bpmp TEGRA186_CLK_NVDEC>;
96 clock-names = "nvdec";
97 resets = <&bpmp TEGRA186_RESET_NVDEC>;
98 reset-names = "nvdec";
100 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_NVDEC>;
101 interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDECSRD &emc>,
102 <&mc TEGRA186_MEMORY_CLIENT_NVDECSRD1 &emc>,
103 <&mc TEGRA186_MEMORY_CLIENT_NVDECSWR &emc>;
104 interconnect-names = "dma-mem", "read-1", "write";
105 iommus = <&smmu TEGRA186_SID_NVDEC>;