1cc3125c9SMikko Perttunen# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2cc3125c9SMikko Perttunen%YAML 1.2 3cc3125c9SMikko Perttunen--- 4*c94673e8SRob Herring$id: http://devicetree.org/schemas/gpu/host1x/nvidia,tegra210-nvdec.yaml# 5*c94673e8SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 6cc3125c9SMikko Perttunen 79d69d47fSKrzysztof Kozlowskititle: NVIDIA Tegra NVDEC 8cc3125c9SMikko Perttunen 9cc3125c9SMikko Perttunendescription: | 10cc3125c9SMikko Perttunen NVDEC is the hardware video decoder present on NVIDIA Tegra210 11cc3125c9SMikko Perttunen and newer chips. It is located on the Host1x bus and typically 12cc3125c9SMikko Perttunen programmed through Host1x channels. 13cc3125c9SMikko Perttunen 14cc3125c9SMikko Perttunenmaintainers: 15cc3125c9SMikko Perttunen - Thierry Reding <treding@gmail.com> 16cc3125c9SMikko Perttunen - Mikko Perttunen <mperttunen@nvidia.com> 17cc3125c9SMikko Perttunen 18cc3125c9SMikko Perttunenproperties: 19cc3125c9SMikko Perttunen $nodename: 20cc3125c9SMikko Perttunen pattern: "^nvdec@[0-9a-f]*$" 21cc3125c9SMikko Perttunen 22cc3125c9SMikko Perttunen compatible: 23cc3125c9SMikko Perttunen enum: 24cc3125c9SMikko Perttunen - nvidia,tegra210-nvdec 25cc3125c9SMikko Perttunen - nvidia,tegra186-nvdec 26cc3125c9SMikko Perttunen - nvidia,tegra194-nvdec 27cc3125c9SMikko Perttunen 28cc3125c9SMikko Perttunen reg: 29cc3125c9SMikko Perttunen maxItems: 1 30cc3125c9SMikko Perttunen 31cc3125c9SMikko Perttunen clocks: 32cc3125c9SMikko Perttunen maxItems: 1 33cc3125c9SMikko Perttunen 34cc3125c9SMikko Perttunen clock-names: 35cc3125c9SMikko Perttunen items: 36cc3125c9SMikko Perttunen - const: nvdec 37cc3125c9SMikko Perttunen 38cc3125c9SMikko Perttunen resets: 39cc3125c9SMikko Perttunen maxItems: 1 40cc3125c9SMikko Perttunen 41cc3125c9SMikko Perttunen reset-names: 42cc3125c9SMikko Perttunen items: 43cc3125c9SMikko Perttunen - const: nvdec 44cc3125c9SMikko Perttunen 45cc3125c9SMikko Perttunen power-domains: 46cc3125c9SMikko Perttunen maxItems: 1 47cc3125c9SMikko Perttunen 48cc3125c9SMikko Perttunen iommus: 49cc3125c9SMikko Perttunen maxItems: 1 50cc3125c9SMikko Perttunen 51cc3125c9SMikko Perttunen dma-coherent: true 52cc3125c9SMikko Perttunen 53cc3125c9SMikko Perttunen interconnects: 54cc3125c9SMikko Perttunen items: 55cc3125c9SMikko Perttunen - description: DMA read memory client 56cc3125c9SMikko Perttunen - description: DMA read 2 memory client 57cc3125c9SMikko Perttunen - description: DMA write memory client 58cc3125c9SMikko Perttunen 59cc3125c9SMikko Perttunen interconnect-names: 60cc3125c9SMikko Perttunen items: 61cc3125c9SMikko Perttunen - const: dma-mem 62cc3125c9SMikko Perttunen - const: read-1 63cc3125c9SMikko Perttunen - const: write 64cc3125c9SMikko Perttunen 65cc3125c9SMikko Perttunen nvidia,host1x-class: 66cc3125c9SMikko Perttunen description: | 67cc3125c9SMikko Perttunen Host1x class of the engine, used to specify the targeted engine 68cc3125c9SMikko Perttunen when programming the engine through Host1x channels or when 69cc3125c9SMikko Perttunen configuring engine-specific behavior in Host1x. 70cc3125c9SMikko Perttunen default: 0xf0 71cc3125c9SMikko Perttunen $ref: /schemas/types.yaml#/definitions/uint32 72cc3125c9SMikko Perttunen 73cc3125c9SMikko Perttunenrequired: 74cc3125c9SMikko Perttunen - compatible 75cc3125c9SMikko Perttunen - reg 76cc3125c9SMikko Perttunen - clocks 77cc3125c9SMikko Perttunen - clock-names 78cc3125c9SMikko Perttunen - resets 79cc3125c9SMikko Perttunen - reset-names 80cc3125c9SMikko Perttunen - power-domains 81cc3125c9SMikko Perttunen 82cc3125c9SMikko PerttunenadditionalProperties: false 83cc3125c9SMikko Perttunen 84cc3125c9SMikko Perttunenexamples: 85cc3125c9SMikko Perttunen - | 86cc3125c9SMikko Perttunen #include <dt-bindings/clock/tegra186-clock.h> 87cc3125c9SMikko Perttunen #include <dt-bindings/interrupt-controller/arm-gic.h> 88cc3125c9SMikko Perttunen #include <dt-bindings/memory/tegra186-mc.h> 89cc3125c9SMikko Perttunen #include <dt-bindings/power/tegra186-powergate.h> 90cc3125c9SMikko Perttunen #include <dt-bindings/reset/tegra186-reset.h> 91cc3125c9SMikko Perttunen 92cc3125c9SMikko Perttunen nvdec@15480000 { 93cc3125c9SMikko Perttunen compatible = "nvidia,tegra186-nvdec"; 94cc3125c9SMikko Perttunen reg = <0x15480000 0x40000>; 95cc3125c9SMikko Perttunen clocks = <&bpmp TEGRA186_CLK_NVDEC>; 96cc3125c9SMikko Perttunen clock-names = "nvdec"; 97cc3125c9SMikko Perttunen resets = <&bpmp TEGRA186_RESET_NVDEC>; 98cc3125c9SMikko Perttunen reset-names = "nvdec"; 99cc3125c9SMikko Perttunen 100cc3125c9SMikko Perttunen power-domains = <&bpmp TEGRA186_POWER_DOMAIN_NVDEC>; 101cc3125c9SMikko Perttunen interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDECSRD &emc>, 102cc3125c9SMikko Perttunen <&mc TEGRA186_MEMORY_CLIENT_NVDECSRD1 &emc>, 103cc3125c9SMikko Perttunen <&mc TEGRA186_MEMORY_CLIENT_NVDECSWR &emc>; 104cc3125c9SMikko Perttunen interconnect-names = "dma-mem", "read-1", "write"; 105cc3125c9SMikko Perttunen iommus = <&smmu TEGRA186_SID_NVDEC>; 106cc3125c9SMikko Perttunen }; 107