Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/gpu/host1x/nvidia,tegra210-nvenc.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: NVIDIA Tegra NVENC description: | NVENC is the hardware video encoder present on NVIDIA Tegra210 and newer chips. It is located on the Host1x bus and typically programmed through Host1x channels. maintainers: - Thierry Reding <treding@gmail.com> - Mikko Perttunen <mperttunen@nvidia.com> properties: $nodename: pattern: "^nvenc@[0-9a-f]*$" compatible: enum: - nvidia,tegra210-nvenc - nvidia,tegra186-nvenc - nvidia,tegra194-nvenc reg: maxItems: 1 clocks: maxItems: 1 clock-names: items: - const: nvenc resets: maxItems: 1 reset-names: items: - const: nvenc power-domains: maxItems: 1 iommus: maxItems: 1 dma-coherent: true interconnects: minItems: 2 maxItems: 3 interconnect-names: minItems: 2 maxItems: 3 nvidia,host1x-class: description: | Host1x class of the engine, used to specify the targeted engine when programming the engine through Host1x channels or when configuring engine-specific behavior in Host1x. default: 0x21 $ref: /schemas/types.yaml#/definitions/uint32 required: - compatible - reg - clocks - clock-names - resets - reset-names - power-domains allOf: - if: properties: compatible: enum: - nvidia,tegra210-nvenc - nvidia,tegra186-nvenc then: properties: interconnects: items: - description: DMA read memory client - description: DMA write memory client interconnect-names: items: - const: dma-mem - const: write - if: properties: compatible: enum: - nvidia,tegra194-nvenc then: properties: interconnects: items: - description: DMA read memory client - description: DMA read 2 memory client - description: DMA write memory client interconnect-names: items: - const: dma-mem - const: read-1 - const: write additionalProperties: false examples: - | #include <dt-bindings/clock/tegra186-clock.h> #include <dt-bindings/memory/tegra186-mc.h> #include <dt-bindings/power/tegra186-powergate.h> #include <dt-bindings/reset/tegra186-reset.h> nvenc@154c0000 { compatible = "nvidia,tegra186-nvenc"; reg = <0x154c0000 0x40000>; clocks = <&bpmp TEGRA186_CLK_NVENC>; clock-names = "nvenc"; resets = <&bpmp TEGRA186_RESET_NVENC>; reset-names = "nvenc"; power-domains = <&bpmp TEGRA186_POWER_DOMAIN_MPE>; interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVENCSRD &emc>, <&mc TEGRA186_MEMORY_CLIENT_NVENCSWR &emc>; interconnect-names = "dma-mem", "write"; iommus = <&smmu TEGRA186_SID_NVENC>; }; |