18cc087a1SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 28cc087a1SEmmanuel Vadot%YAML 1.2 38cc087a1SEmmanuel Vadot--- 4*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/gpu/host1x/nvidia,tegra210-nvdec.yaml# 5*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 68cc087a1SEmmanuel Vadot 78bab661aSEmmanuel Vadottitle: NVIDIA Tegra NVDEC 88cc087a1SEmmanuel Vadot 98cc087a1SEmmanuel Vadotdescription: | 108cc087a1SEmmanuel Vadot NVDEC is the hardware video decoder present on NVIDIA Tegra210 118cc087a1SEmmanuel Vadot and newer chips. It is located on the Host1x bus and typically 128cc087a1SEmmanuel Vadot programmed through Host1x channels. 138cc087a1SEmmanuel Vadot 148cc087a1SEmmanuel Vadotmaintainers: 158cc087a1SEmmanuel Vadot - Thierry Reding <treding@gmail.com> 168cc087a1SEmmanuel Vadot - Mikko Perttunen <mperttunen@nvidia.com> 178cc087a1SEmmanuel Vadot 188cc087a1SEmmanuel Vadotproperties: 198cc087a1SEmmanuel Vadot $nodename: 208cc087a1SEmmanuel Vadot pattern: "^nvdec@[0-9a-f]*$" 218cc087a1SEmmanuel Vadot 228cc087a1SEmmanuel Vadot compatible: 238cc087a1SEmmanuel Vadot enum: 248cc087a1SEmmanuel Vadot - nvidia,tegra210-nvdec 258cc087a1SEmmanuel Vadot - nvidia,tegra186-nvdec 268cc087a1SEmmanuel Vadot - nvidia,tegra194-nvdec 278cc087a1SEmmanuel Vadot 288cc087a1SEmmanuel Vadot reg: 298cc087a1SEmmanuel Vadot maxItems: 1 308cc087a1SEmmanuel Vadot 318cc087a1SEmmanuel Vadot clocks: 328cc087a1SEmmanuel Vadot maxItems: 1 338cc087a1SEmmanuel Vadot 348cc087a1SEmmanuel Vadot clock-names: 358cc087a1SEmmanuel Vadot items: 368cc087a1SEmmanuel Vadot - const: nvdec 378cc087a1SEmmanuel Vadot 388cc087a1SEmmanuel Vadot resets: 398cc087a1SEmmanuel Vadot maxItems: 1 408cc087a1SEmmanuel Vadot 418cc087a1SEmmanuel Vadot reset-names: 428cc087a1SEmmanuel Vadot items: 438cc087a1SEmmanuel Vadot - const: nvdec 448cc087a1SEmmanuel Vadot 458cc087a1SEmmanuel Vadot power-domains: 468cc087a1SEmmanuel Vadot maxItems: 1 478cc087a1SEmmanuel Vadot 488cc087a1SEmmanuel Vadot iommus: 498cc087a1SEmmanuel Vadot maxItems: 1 508cc087a1SEmmanuel Vadot 518cc087a1SEmmanuel Vadot dma-coherent: true 528cc087a1SEmmanuel Vadot 538cc087a1SEmmanuel Vadot interconnects: 548cc087a1SEmmanuel Vadot items: 558cc087a1SEmmanuel Vadot - description: DMA read memory client 568cc087a1SEmmanuel Vadot - description: DMA read 2 memory client 578cc087a1SEmmanuel Vadot - description: DMA write memory client 588cc087a1SEmmanuel Vadot 598cc087a1SEmmanuel Vadot interconnect-names: 608cc087a1SEmmanuel Vadot items: 618cc087a1SEmmanuel Vadot - const: dma-mem 628cc087a1SEmmanuel Vadot - const: read-1 638cc087a1SEmmanuel Vadot - const: write 648cc087a1SEmmanuel Vadot 658cc087a1SEmmanuel Vadot nvidia,host1x-class: 668cc087a1SEmmanuel Vadot description: | 678cc087a1SEmmanuel Vadot Host1x class of the engine, used to specify the targeted engine 688cc087a1SEmmanuel Vadot when programming the engine through Host1x channels or when 698cc087a1SEmmanuel Vadot configuring engine-specific behavior in Host1x. 708cc087a1SEmmanuel Vadot default: 0xf0 718cc087a1SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 728cc087a1SEmmanuel Vadot 738cc087a1SEmmanuel Vadotrequired: 748cc087a1SEmmanuel Vadot - compatible 758cc087a1SEmmanuel Vadot - reg 768cc087a1SEmmanuel Vadot - clocks 778cc087a1SEmmanuel Vadot - clock-names 788cc087a1SEmmanuel Vadot - resets 798cc087a1SEmmanuel Vadot - reset-names 808cc087a1SEmmanuel Vadot - power-domains 818cc087a1SEmmanuel Vadot 828cc087a1SEmmanuel VadotadditionalProperties: false 838cc087a1SEmmanuel Vadot 848cc087a1SEmmanuel Vadotexamples: 858cc087a1SEmmanuel Vadot - | 868cc087a1SEmmanuel Vadot #include <dt-bindings/clock/tegra186-clock.h> 878cc087a1SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 888cc087a1SEmmanuel Vadot #include <dt-bindings/memory/tegra186-mc.h> 898cc087a1SEmmanuel Vadot #include <dt-bindings/power/tegra186-powergate.h> 908cc087a1SEmmanuel Vadot #include <dt-bindings/reset/tegra186-reset.h> 918cc087a1SEmmanuel Vadot 928cc087a1SEmmanuel Vadot nvdec@15480000 { 938cc087a1SEmmanuel Vadot compatible = "nvidia,tegra186-nvdec"; 948cc087a1SEmmanuel Vadot reg = <0x15480000 0x40000>; 958cc087a1SEmmanuel Vadot clocks = <&bpmp TEGRA186_CLK_NVDEC>; 968cc087a1SEmmanuel Vadot clock-names = "nvdec"; 978cc087a1SEmmanuel Vadot resets = <&bpmp TEGRA186_RESET_NVDEC>; 988cc087a1SEmmanuel Vadot reset-names = "nvdec"; 998cc087a1SEmmanuel Vadot 1008cc087a1SEmmanuel Vadot power-domains = <&bpmp TEGRA186_POWER_DOMAIN_NVDEC>; 1018cc087a1SEmmanuel Vadot interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDECSRD &emc>, 1028cc087a1SEmmanuel Vadot <&mc TEGRA186_MEMORY_CLIENT_NVDECSRD1 &emc>, 1038cc087a1SEmmanuel Vadot <&mc TEGRA186_MEMORY_CLIENT_NVDECSWR &emc>; 1048cc087a1SEmmanuel Vadot interconnect-names = "dma-mem", "read-1", "write"; 1058cc087a1SEmmanuel Vadot iommus = <&smmu TEGRA186_SID_NVDEC>; 1068cc087a1SEmmanuel Vadot }; 107