# 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>;
    };
