| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/gpu/host1x/nvidia,tegra234-nvdec.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: NVIDIA Tegra234 NVDEC
- description: |
- NVDEC is the hardware video decoder 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: "^nvdec@[0-9a-f]*$"
- compatible:
- enum:
- - nvidia,tegra234-nvdec
- reg:
- maxItems: 1
- clocks:
- maxItems: 3
- clock-names:
- items:
- - const: nvdec
- - const: fuse
- - const: tsec_pka
- resets:
- maxItems: 1
- reset-names:
- items:
- - const: nvdec
- power-domains:
- maxItems: 1
- iommus:
- maxItems: 1
- dma-coherent: true
- interconnects:
- items:
- - description: DMA read memory client
- - description: DMA write memory client
- interconnect-names:
- items:
- - const: dma-mem
- - const: write
- nvidia,memory-controller:
- $ref: /schemas/types.yaml#/definitions/phandle
- description:
- phandle to the memory controller for determining information for the NVDEC
- firmware secure carveout. This carveout is configured by the bootloader and
- not accessible to CPU.
- nvidia,bl-manifest-offset:
- $ref: /schemas/types.yaml#/definitions/uint32
- description:
- Offset to bootloader manifest from beginning of firmware that was configured by
- the bootloader.
- nvidia,bl-code-offset:
- $ref: /schemas/types.yaml#/definitions/uint32
- description:
- Offset to bootloader code section from beginning of firmware that was configured by
- the bootloader.
- nvidia,bl-data-offset:
- $ref: /schemas/types.yaml#/definitions/uint32
- description:
- Offset to bootloader data section from beginning of firmware that was configured by
- the bootloader.
- nvidia,os-manifest-offset:
- $ref: /schemas/types.yaml#/definitions/uint32
- description:
- Offset to operating system manifest from beginning of firmware that was configured by
- the bootloader.
- nvidia,os-code-offset:
- $ref: /schemas/types.yaml#/definitions/uint32
- description:
- Offset to operating system code section from beginning of firmware that was configured by
- the bootloader.
- nvidia,os-data-offset:
- $ref: /schemas/types.yaml#/definitions/uint32
- description:
- Offset to operating system data section from beginning of firmware that was configured
- by the bootloader.
- required:
- - compatible
- - reg
- - clocks
- - clock-names
- - resets
- - reset-names
- - power-domains
- - nvidia,memory-controller
- - nvidia,bl-manifest-offset
- - nvidia,bl-code-offset
- - nvidia,bl-data-offset
- - nvidia,os-manifest-offset
- - nvidia,os-code-offset
- - nvidia,os-data-offset
- additionalProperties: false
- examples:
- - |
- #include <dt-bindings/clock/tegra234-clock.h>
- #include <dt-bindings/memory/tegra234-mc.h>
- #include <dt-bindings/power/tegra234-powergate.h>
- #include <dt-bindings/reset/tegra234-reset.h>
- nvdec@15480000 {
- compatible = "nvidia,tegra234-nvdec";
- reg = <0x15480000 0x00040000>;
- clocks = <&bpmp TEGRA234_CLK_NVDEC>,
- <&bpmp TEGRA234_CLK_FUSE>,
- <&bpmp TEGRA234_CLK_TSEC_PKA>;
- clock-names = "nvdec", "fuse", "tsec_pka";
- resets = <&bpmp TEGRA234_RESET_NVDEC>;
- reset-names = "nvdec";
- power-domains = <&bpmp TEGRA234_POWER_DOMAIN_NVDEC>;
- interconnects = <&mc TEGRA234_MEMORY_CLIENT_NVDECSRD &emc>,
- <&mc TEGRA234_MEMORY_CLIENT_NVDECSWR &emc>;
- interconnect-names = "dma-mem", "write";
- iommus = <&smmu_niso1 TEGRA234_SID_NVDEC>;
- dma-coherent;
- nvidia,memory-controller = <&mc>;
- /* Placeholder values, to be replaced with values from overlay */
- nvidia,bl-manifest-offset = <0>;
- nvidia,bl-data-offset = <0>;
- nvidia,bl-code-offset = <0>;
- nvidia,os-manifest-offset = <0>;
- nvidia,os-data-offset = <0>;
- nvidia,os-code-offset = <0>;
- };
|