xref: /linux/Documentation/devicetree/bindings/gpu/host1x/nvidia,tegra234-nvdec.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
17d096252SMikko Perttunen# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
27d096252SMikko Perttunen%YAML 1.2
37d096252SMikko Perttunen---
4*c94673e8SRob Herring$id: http://devicetree.org/schemas/gpu/host1x/nvidia,tegra234-nvdec.yaml#
5*c94673e8SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
67d096252SMikko Perttunen
79d69d47fSKrzysztof Kozlowskititle: NVIDIA Tegra234 NVDEC
87d096252SMikko Perttunen
97d096252SMikko Perttunendescription: |
107d096252SMikko Perttunen  NVDEC is the hardware video decoder present on NVIDIA Tegra210
117d096252SMikko Perttunen  and newer chips. It is located on the Host1x bus and typically
127d096252SMikko Perttunen  programmed through Host1x channels.
137d096252SMikko Perttunen
147d096252SMikko Perttunenmaintainers:
157d096252SMikko Perttunen  - Thierry Reding <treding@gmail.com>
167d096252SMikko Perttunen  - Mikko Perttunen <mperttunen@nvidia.com>
177d096252SMikko Perttunen
187d096252SMikko Perttunenproperties:
197d096252SMikko Perttunen  $nodename:
207d096252SMikko Perttunen    pattern: "^nvdec@[0-9a-f]*$"
217d096252SMikko Perttunen
227d096252SMikko Perttunen  compatible:
237d096252SMikko Perttunen    enum:
247d096252SMikko Perttunen      - nvidia,tegra234-nvdec
257d096252SMikko Perttunen
267d096252SMikko Perttunen  reg:
277d096252SMikko Perttunen    maxItems: 1
287d096252SMikko Perttunen
297d096252SMikko Perttunen  clocks:
307d096252SMikko Perttunen    maxItems: 3
317d096252SMikko Perttunen
327d096252SMikko Perttunen  clock-names:
337d096252SMikko Perttunen    items:
347d096252SMikko Perttunen      - const: nvdec
357d096252SMikko Perttunen      - const: fuse
367d096252SMikko Perttunen      - const: tsec_pka
377d096252SMikko Perttunen
387d096252SMikko Perttunen  resets:
397d096252SMikko Perttunen    maxItems: 1
407d096252SMikko Perttunen
417d096252SMikko Perttunen  reset-names:
427d096252SMikko Perttunen    items:
437d096252SMikko Perttunen      - const: nvdec
447d096252SMikko Perttunen
457d096252SMikko Perttunen  power-domains:
467d096252SMikko Perttunen    maxItems: 1
477d096252SMikko Perttunen
487d096252SMikko Perttunen  iommus:
497d096252SMikko Perttunen    maxItems: 1
507d096252SMikko Perttunen
517d096252SMikko Perttunen  dma-coherent: true
527d096252SMikko Perttunen
537d096252SMikko Perttunen  interconnects:
547d096252SMikko Perttunen    items:
557d096252SMikko Perttunen      - description: DMA read memory client
567d096252SMikko Perttunen      - description: DMA write memory client
577d096252SMikko Perttunen
587d096252SMikko Perttunen  interconnect-names:
597d096252SMikko Perttunen    items:
607d096252SMikko Perttunen      - const: dma-mem
617d096252SMikko Perttunen      - const: write
627d096252SMikko Perttunen
637d096252SMikko Perttunen  nvidia,memory-controller:
647d096252SMikko Perttunen    $ref: /schemas/types.yaml#/definitions/phandle
657d096252SMikko Perttunen    description:
667d096252SMikko Perttunen      phandle to the memory controller for determining information for the NVDEC
677d096252SMikko Perttunen      firmware secure carveout. This carveout is configured by the bootloader and
687d096252SMikko Perttunen      not accessible to CPU.
697d096252SMikko Perttunen
707d096252SMikko Perttunen  nvidia,bl-manifest-offset:
717d096252SMikko Perttunen    $ref: /schemas/types.yaml#/definitions/uint32
727d096252SMikko Perttunen    description:
737d096252SMikko Perttunen      Offset to bootloader manifest from beginning of firmware that was configured by
747d096252SMikko Perttunen      the bootloader.
757d096252SMikko Perttunen
767d096252SMikko Perttunen  nvidia,bl-code-offset:
777d096252SMikko Perttunen    $ref: /schemas/types.yaml#/definitions/uint32
787d096252SMikko Perttunen    description:
797d096252SMikko Perttunen      Offset to bootloader code section from beginning of firmware that was configured by
807d096252SMikko Perttunen      the bootloader.
817d096252SMikko Perttunen
827d096252SMikko Perttunen  nvidia,bl-data-offset:
837d096252SMikko Perttunen    $ref: /schemas/types.yaml#/definitions/uint32
847d096252SMikko Perttunen    description:
857d096252SMikko Perttunen      Offset to bootloader data section from beginning of firmware that was configured by
867d096252SMikko Perttunen      the bootloader.
877d096252SMikko Perttunen
887d096252SMikko Perttunen  nvidia,os-manifest-offset:
897d096252SMikko Perttunen    $ref: /schemas/types.yaml#/definitions/uint32
907d096252SMikko Perttunen    description:
917d096252SMikko Perttunen      Offset to operating system manifest from beginning of firmware that was configured by
927d096252SMikko Perttunen      the bootloader.
937d096252SMikko Perttunen
947d096252SMikko Perttunen  nvidia,os-code-offset:
957d096252SMikko Perttunen    $ref: /schemas/types.yaml#/definitions/uint32
967d096252SMikko Perttunen    description:
977d096252SMikko Perttunen      Offset to operating system code section from beginning of firmware that was configured by
987d096252SMikko Perttunen      the bootloader.
997d096252SMikko Perttunen
1007d096252SMikko Perttunen  nvidia,os-data-offset:
1017d096252SMikko Perttunen    $ref: /schemas/types.yaml#/definitions/uint32
1027d096252SMikko Perttunen    description:
1037d096252SMikko Perttunen      Offset to operating system data section from beginning of firmware that was configured
1047d096252SMikko Perttunen      by the bootloader.
1057d096252SMikko Perttunen
1067d096252SMikko Perttunenrequired:
1077d096252SMikko Perttunen  - compatible
1087d096252SMikko Perttunen  - reg
1097d096252SMikko Perttunen  - clocks
1107d096252SMikko Perttunen  - clock-names
1117d096252SMikko Perttunen  - resets
1127d096252SMikko Perttunen  - reset-names
1137d096252SMikko Perttunen  - power-domains
1147d096252SMikko Perttunen  - nvidia,memory-controller
1157d096252SMikko Perttunen  - nvidia,bl-manifest-offset
1167d096252SMikko Perttunen  - nvidia,bl-code-offset
1177d096252SMikko Perttunen  - nvidia,bl-data-offset
1187d096252SMikko Perttunen  - nvidia,os-manifest-offset
1197d096252SMikko Perttunen  - nvidia,os-code-offset
1207d096252SMikko Perttunen  - nvidia,os-data-offset
1217d096252SMikko Perttunen
1227d096252SMikko PerttunenadditionalProperties: false
1237d096252SMikko Perttunen
1247d096252SMikko Perttunenexamples:
1257d096252SMikko Perttunen  - |
1267d096252SMikko Perttunen    #include <dt-bindings/clock/tegra234-clock.h>
1277d096252SMikko Perttunen    #include <dt-bindings/memory/tegra234-mc.h>
1287d096252SMikko Perttunen    #include <dt-bindings/power/tegra234-powergate.h>
1297d096252SMikko Perttunen    #include <dt-bindings/reset/tegra234-reset.h>
1307d096252SMikko Perttunen
1317d096252SMikko Perttunen    nvdec@15480000 {
1327d096252SMikko Perttunen            compatible = "nvidia,tegra234-nvdec";
1337d096252SMikko Perttunen            reg = <0x15480000 0x00040000>;
1347d096252SMikko Perttunen            clocks = <&bpmp TEGRA234_CLK_NVDEC>,
1357d096252SMikko Perttunen                     <&bpmp TEGRA234_CLK_FUSE>,
1367d096252SMikko Perttunen                     <&bpmp TEGRA234_CLK_TSEC_PKA>;
1377d096252SMikko Perttunen            clock-names = "nvdec", "fuse", "tsec_pka";
1387d096252SMikko Perttunen            resets = <&bpmp TEGRA234_RESET_NVDEC>;
1397d096252SMikko Perttunen            reset-names = "nvdec";
1407d096252SMikko Perttunen            power-domains = <&bpmp TEGRA234_POWER_DOMAIN_NVDEC>;
1417d096252SMikko Perttunen            interconnects = <&mc TEGRA234_MEMORY_CLIENT_NVDECSRD &emc>,
1427d096252SMikko Perttunen                            <&mc TEGRA234_MEMORY_CLIENT_NVDECSWR &emc>;
1437d096252SMikko Perttunen            interconnect-names = "dma-mem", "write";
1447d096252SMikko Perttunen            iommus = <&smmu_niso1 TEGRA234_SID_NVDEC>;
1457d096252SMikko Perttunen            dma-coherent;
1467d096252SMikko Perttunen
1477d096252SMikko Perttunen            nvidia,memory-controller = <&mc>;
1487d096252SMikko Perttunen
1497d096252SMikko Perttunen            /* Placeholder values, to be replaced with values from overlay */
1507d096252SMikko Perttunen            nvidia,bl-manifest-offset = <0>;
1517d096252SMikko Perttunen            nvidia,bl-data-offset = <0>;
1527d096252SMikko Perttunen            nvidia,bl-code-offset = <0>;
1537d096252SMikko Perttunen            nvidia,os-manifest-offset = <0>;
1547d096252SMikko Perttunen            nvidia,os-data-offset = <0>;
1557d096252SMikko Perttunen            nvidia,os-code-offset = <0>;
1567d096252SMikko Perttunen    };
157