File Index
Files and directories
Sign in
FILE

nvidia,tegra234-nvdec.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/gpu/host1x/nvidia,tegra234-nvdec.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/gpu/host1x/nvidia,tegra234-nvdec.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: NVIDIA Tegra234 NVDEC
  8
  9description: |
 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.
 13
 14maintainers:
 15  - Thierry Reding <treding@gmail.com>
 16  - Mikko Perttunen <mperttunen@nvidia.com>
 17
 18properties:
 19  $nodename:
 20    pattern: "^nvdec@[0-9a-f]*$"
 21
 22  compatible:
 23    enum:
 24      - nvidia,tegra234-nvdec
 25
 26  reg:
 27    maxItems: 1
 28
 29  clocks:
 30    maxItems: 3
 31
 32  clock-names:
 33    items:
 34      - const: nvdec
 35      - const: fuse
 36      - const: tsec_pka
 37
 38  resets:
 39    maxItems: 1
 40
 41  reset-names:
 42    items:
 43      - const: nvdec
 44
 45  power-domains:
 46    maxItems: 1
 47
 48  iommus:
 49    maxItems: 1
 50
 51  dma-coherent: true
 52
 53  interconnects:
 54    items:
 55      - description: DMA read memory client
 56      - description: DMA write memory client
 57
 58  interconnect-names:
 59    items:
 60      - const: dma-mem
 61      - const: write
 62
 63  nvidia,memory-controller:
 64    $ref: /schemas/types.yaml#/definitions/phandle
 65    description:
 66      phandle to the memory controller for determining information for the NVDEC
 67      firmware secure carveout. This carveout is configured by the bootloader and
 68      not accessible to CPU.
 69
 70  nvidia,bl-manifest-offset:
 71    $ref: /schemas/types.yaml#/definitions/uint32
 72    description:
 73      Offset to bootloader manifest from beginning of firmware that was configured by
 74      the bootloader.
 75
 76  nvidia,bl-code-offset:
 77    $ref: /schemas/types.yaml#/definitions/uint32
 78    description:
 79      Offset to bootloader code section from beginning of firmware that was configured by
 80      the bootloader.
 81
 82  nvidia,bl-data-offset:
 83    $ref: /schemas/types.yaml#/definitions/uint32
 84    description:
 85      Offset to bootloader data section from beginning of firmware that was configured by
 86      the bootloader.
 87
 88  nvidia,os-manifest-offset:
 89    $ref: /schemas/types.yaml#/definitions/uint32
 90    description:
 91      Offset to operating system manifest from beginning of firmware that was configured by
 92      the bootloader.
 93
 94  nvidia,os-code-offset:
 95    $ref: /schemas/types.yaml#/definitions/uint32
 96    description:
 97      Offset to operating system code section from beginning of firmware that was configured by
 98      the bootloader.
 99
100  nvidia,os-data-offset:
101    $ref: /schemas/types.yaml#/definitions/uint32
102    description:
103      Offset to operating system data section from beginning of firmware that was configured
104      by the bootloader.
105
106required:
107  - compatible
108  - reg
109  - clocks
110  - clock-names
111  - resets
112  - reset-names
113  - power-domains
114  - nvidia,memory-controller
115  - nvidia,bl-manifest-offset
116  - nvidia,bl-code-offset
117  - nvidia,bl-data-offset
118  - nvidia,os-manifest-offset
119  - nvidia,os-code-offset
120  - nvidia,os-data-offset
121
122additionalProperties: false
123
124examples:
125  - |
126    #include <dt-bindings/clock/tegra234-clock.h>
127    #include <dt-bindings/memory/tegra234-mc.h>
128    #include <dt-bindings/power/tegra234-powergate.h>
129    #include <dt-bindings/reset/tegra234-reset.h>
130
131    nvdec@15480000 {
132            compatible = "nvidia,tegra234-nvdec";
133            reg = <0x15480000 0x00040000>;
134            clocks = <&bpmp TEGRA234_CLK_NVDEC>,
135                     <&bpmp TEGRA234_CLK_FUSE>,
136                     <&bpmp TEGRA234_CLK_TSEC_PKA>;
137            clock-names = "nvdec", "fuse", "tsec_pka";
138            resets = <&bpmp TEGRA234_RESET_NVDEC>;
139            reset-names = "nvdec";
140            power-domains = <&bpmp TEGRA234_POWER_DOMAIN_NVDEC>;
141            interconnects = <&mc TEGRA234_MEMORY_CLIENT_NVDECSRD &emc>,
142                            <&mc TEGRA234_MEMORY_CLIENT_NVDECSWR &emc>;
143            interconnect-names = "dma-mem", "write";
144            iommus = <&smmu_niso1 TEGRA234_SID_NVDEC>;
145            dma-coherent;
146
147            nvidia,memory-controller = <&mc>;
148
149            /* Placeholder values, to be replaced with values from overlay */
150            nvidia,bl-manifest-offset = <0>;
151            nvidia,bl-data-offset = <0>;
152            nvidia,bl-code-offset = <0>;
153            nvidia,os-manifest-offset = <0>;
154            nvidia,os-data-offset = <0>;
155            nvidia,os-code-offset = <0>;
156    };
~/ Read-only file preview.