157978838SJon Hunter# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 257978838SJon Hunter%YAML 1.2 357978838SJon Hunter--- 4*c94673e8SRob Herring$id: http://devicetree.org/schemas/gpu/host1x/nvidia,tegra210-nvenc.yaml# 5*c94673e8SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 657978838SJon Hunter 79d69d47fSKrzysztof Kozlowskititle: NVIDIA Tegra NVENC 857978838SJon Hunter 957978838SJon Hunterdescription: | 1057978838SJon Hunter NVENC is the hardware video encoder present on NVIDIA Tegra210 1157978838SJon Hunter and newer chips. It is located on the Host1x bus and typically 1257978838SJon Hunter programmed through Host1x channels. 1357978838SJon Hunter 1457978838SJon Huntermaintainers: 1557978838SJon Hunter - Thierry Reding <treding@gmail.com> 1657978838SJon Hunter - Mikko Perttunen <mperttunen@nvidia.com> 1757978838SJon Hunter 1857978838SJon Hunterproperties: 1957978838SJon Hunter $nodename: 2057978838SJon Hunter pattern: "^nvenc@[0-9a-f]*$" 2157978838SJon Hunter 2257978838SJon Hunter compatible: 2357978838SJon Hunter enum: 2457978838SJon Hunter - nvidia,tegra210-nvenc 2557978838SJon Hunter - nvidia,tegra186-nvenc 2657978838SJon Hunter - nvidia,tegra194-nvenc 2757978838SJon Hunter 2857978838SJon Hunter reg: 2957978838SJon Hunter maxItems: 1 3057978838SJon Hunter 3157978838SJon Hunter clocks: 3257978838SJon Hunter maxItems: 1 3357978838SJon Hunter 3457978838SJon Hunter clock-names: 3557978838SJon Hunter items: 3657978838SJon Hunter - const: nvenc 3757978838SJon Hunter 3857978838SJon Hunter resets: 3957978838SJon Hunter maxItems: 1 4057978838SJon Hunter 4157978838SJon Hunter reset-names: 4257978838SJon Hunter items: 4357978838SJon Hunter - const: nvenc 4457978838SJon Hunter 4557978838SJon Hunter power-domains: 4657978838SJon Hunter maxItems: 1 4757978838SJon Hunter 4857978838SJon Hunter iommus: 4957978838SJon Hunter maxItems: 1 5057978838SJon Hunter 5157978838SJon Hunter dma-coherent: true 5257978838SJon Hunter 5357978838SJon Hunter interconnects: 5457978838SJon Hunter minItems: 2 5557978838SJon Hunter maxItems: 3 5657978838SJon Hunter 5757978838SJon Hunter interconnect-names: 5857978838SJon Hunter minItems: 2 5957978838SJon Hunter maxItems: 3 6057978838SJon Hunter 6157978838SJon Hunter nvidia,host1x-class: 6257978838SJon Hunter description: | 6357978838SJon Hunter Host1x class of the engine, used to specify the targeted engine 6457978838SJon Hunter when programming the engine through Host1x channels or when 6557978838SJon Hunter configuring engine-specific behavior in Host1x. 6657978838SJon Hunter default: 0x21 6757978838SJon Hunter $ref: /schemas/types.yaml#/definitions/uint32 6857978838SJon Hunter 6957978838SJon Hunterrequired: 7057978838SJon Hunter - compatible 7157978838SJon Hunter - reg 7257978838SJon Hunter - clocks 7357978838SJon Hunter - clock-names 7457978838SJon Hunter - resets 7557978838SJon Hunter - reset-names 7657978838SJon Hunter - power-domains 7757978838SJon Hunter 7857978838SJon HunterallOf: 7957978838SJon Hunter - if: 8057978838SJon Hunter properties: 8157978838SJon Hunter compatible: 8257978838SJon Hunter enum: 8357978838SJon Hunter - nvidia,tegra210-nvenc 8457978838SJon Hunter - nvidia,tegra186-nvenc 8557978838SJon Hunter then: 8657978838SJon Hunter properties: 8757978838SJon Hunter interconnects: 8857978838SJon Hunter items: 8957978838SJon Hunter - description: DMA read memory client 9057978838SJon Hunter - description: DMA write memory client 9157978838SJon Hunter interconnect-names: 9257978838SJon Hunter items: 9357978838SJon Hunter - const: dma-mem 9457978838SJon Hunter - const: write 9557978838SJon Hunter - if: 9657978838SJon Hunter properties: 9757978838SJon Hunter compatible: 9857978838SJon Hunter enum: 9957978838SJon Hunter - nvidia,tegra194-nvenc 10057978838SJon Hunter then: 10157978838SJon Hunter properties: 10257978838SJon Hunter interconnects: 10357978838SJon Hunter items: 10457978838SJon Hunter - description: DMA read memory client 10557978838SJon Hunter - description: DMA read 2 memory client 10657978838SJon Hunter - description: DMA write memory client 10757978838SJon Hunter interconnect-names: 10857978838SJon Hunter items: 10957978838SJon Hunter - const: dma-mem 11057978838SJon Hunter - const: read-1 11157978838SJon Hunter - const: write 11257978838SJon Hunter 11357978838SJon HunteradditionalProperties: false 11457978838SJon Hunter 11557978838SJon Hunterexamples: 11657978838SJon Hunter - | 11757978838SJon Hunter #include <dt-bindings/clock/tegra186-clock.h> 11857978838SJon Hunter #include <dt-bindings/memory/tegra186-mc.h> 11957978838SJon Hunter #include <dt-bindings/power/tegra186-powergate.h> 12057978838SJon Hunter #include <dt-bindings/reset/tegra186-reset.h> 12157978838SJon Hunter 12257978838SJon Hunter nvenc@154c0000 { 12357978838SJon Hunter compatible = "nvidia,tegra186-nvenc"; 12457978838SJon Hunter reg = <0x154c0000 0x40000>; 12557978838SJon Hunter clocks = <&bpmp TEGRA186_CLK_NVENC>; 12657978838SJon Hunter clock-names = "nvenc"; 12757978838SJon Hunter resets = <&bpmp TEGRA186_RESET_NVENC>; 12857978838SJon Hunter reset-names = "nvenc"; 12957978838SJon Hunter 13057978838SJon Hunter power-domains = <&bpmp TEGRA186_POWER_DOMAIN_MPE>; 13157978838SJon Hunter interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVENCSRD &emc>, 13257978838SJon Hunter <&mc TEGRA186_MEMORY_CLIENT_NVENCSWR &emc>; 13357978838SJon Hunter interconnect-names = "dma-mem", "write"; 13457978838SJon Hunter iommus = <&smmu TEGRA186_SID_NVENC>; 13557978838SJon Hunter }; 136