18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ci%YAML 1.2
48c2ecf20Sopenharmony_ci---
58c2ecf20Sopenharmony_ci$id: "http://devicetree.org/schemas/media/rockchip-vpu.yaml#"
68c2ecf20Sopenharmony_ci$schema: "http://devicetree.org/meta-schemas/core.yaml#"
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_cititle: Hantro G1 VPU codecs implemented on Rockchip SoCs
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_cimaintainers:
118c2ecf20Sopenharmony_ci  - Ezequiel Garcia <ezequiel@collabora.com>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_cidescription:
148c2ecf20Sopenharmony_ci  Hantro G1 video encode and decode accelerators present on Rockchip SoCs.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciproperties:
178c2ecf20Sopenharmony_ci  compatible:
188c2ecf20Sopenharmony_ci    enum:
198c2ecf20Sopenharmony_ci      - rockchip,rk3288-vpu
208c2ecf20Sopenharmony_ci      - rockchip,rk3328-vpu
218c2ecf20Sopenharmony_ci      - rockchip,rk3399-vpu
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci  reg:
248c2ecf20Sopenharmony_ci    maxItems: 1
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci  interrupts:
278c2ecf20Sopenharmony_ci    minItems: 1
288c2ecf20Sopenharmony_ci    maxItems: 2
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci  interrupt-names:
318c2ecf20Sopenharmony_ci    oneOf:
328c2ecf20Sopenharmony_ci      - const: vdpu
338c2ecf20Sopenharmony_ci      - items:
348c2ecf20Sopenharmony_ci          - const: vepu
358c2ecf20Sopenharmony_ci          - const: vdpu
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci  clocks:
388c2ecf20Sopenharmony_ci    maxItems: 2
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci  clock-names:
418c2ecf20Sopenharmony_ci    items:
428c2ecf20Sopenharmony_ci      - const: aclk
438c2ecf20Sopenharmony_ci      - const: hclk
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci  power-domains:
468c2ecf20Sopenharmony_ci    maxItems: 1
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci  iommus:
498c2ecf20Sopenharmony_ci    maxItems: 1
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_cirequired:
528c2ecf20Sopenharmony_ci  - compatible
538c2ecf20Sopenharmony_ci  - reg
548c2ecf20Sopenharmony_ci  - interrupts
558c2ecf20Sopenharmony_ci  - interrupt-names
568c2ecf20Sopenharmony_ci  - clocks
578c2ecf20Sopenharmony_ci  - clock-names
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ciadditionalProperties: false
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ciexamples:
628c2ecf20Sopenharmony_ci  - |
638c2ecf20Sopenharmony_ci        #include <dt-bindings/clock/rk3288-cru.h>
648c2ecf20Sopenharmony_ci        #include <dt-bindings/interrupt-controller/arm-gic.h>
658c2ecf20Sopenharmony_ci        #include <dt-bindings/power/rk3288-power.h>
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci        vpu: video-codec@ff9a0000 {
688c2ecf20Sopenharmony_ci                compatible = "rockchip,rk3288-vpu";
698c2ecf20Sopenharmony_ci                reg = <0xff9a0000 0x800>;
708c2ecf20Sopenharmony_ci                interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
718c2ecf20Sopenharmony_ci                             <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
728c2ecf20Sopenharmony_ci                interrupt-names = "vepu", "vdpu";
738c2ecf20Sopenharmony_ci                clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
748c2ecf20Sopenharmony_ci                clock-names = "aclk", "hclk";
758c2ecf20Sopenharmony_ci                power-domains = <&power RK3288_PD_VIDEO>;
768c2ecf20Sopenharmony_ci                iommus = <&vpu_mmu>;
778c2ecf20Sopenharmony_ci        };
78