1ba445b7fSEzequiel Garcia# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2ba445b7fSEzequiel Garcia
3ba445b7fSEzequiel Garcia%YAML 1.2
4ba445b7fSEzequiel Garcia---
5ba445b7fSEzequiel Garcia$id: "http://devicetree.org/schemas/media/rockchip-vpu.yaml#"
6ba445b7fSEzequiel Garcia$schema: "http://devicetree.org/meta-schemas/core.yaml#"
7ba445b7fSEzequiel Garcia
8ba445b7fSEzequiel Garciatitle: Hantro G1 VPU codecs implemented on Rockchip SoCs
9ba445b7fSEzequiel Garcia
10ba445b7fSEzequiel Garciamaintainers:
11ba445b7fSEzequiel Garcia  - Ezequiel Garcia <ezequiel@collabora.com>
12ba445b7fSEzequiel Garcia
13ba445b7fSEzequiel Garciadescription:
14ba445b7fSEzequiel Garcia  Hantro G1 video encode and decode accelerators present on Rockchip SoCs.
15ba445b7fSEzequiel Garcia
16ba445b7fSEzequiel Garciaproperties:
17ba445b7fSEzequiel Garcia  compatible:
18*b32178e7SAlex Bee    oneOf:
19*b32178e7SAlex Bee      - enum:
20*b32178e7SAlex Bee          - rockchip,rk3036-vpu
21*b32178e7SAlex Bee          - rockchip,rk3066-vpu
22ba445b7fSEzequiel Garcia          - rockchip,rk3288-vpu
23ba445b7fSEzequiel Garcia          - rockchip,rk3328-vpu
24ba445b7fSEzequiel Garcia          - rockchip,rk3399-vpu
25*b32178e7SAlex Bee      - items:
26*b32178e7SAlex Bee          - const: rockchip,rk3188-vpu
27*b32178e7SAlex Bee          - const: rockchip,rk3066-vpu
28*b32178e7SAlex Bee      - items:
29*b32178e7SAlex Bee          - const: rockchip,rk3228-vpu
30*b32178e7SAlex Bee          - const: rockchip,rk3399-vpu
31ba445b7fSEzequiel Garcia
32ba445b7fSEzequiel Garcia  reg:
33ba445b7fSEzequiel Garcia    maxItems: 1
34ba445b7fSEzequiel Garcia
35ba445b7fSEzequiel Garcia  interrupts:
36e01bc6cbSJohan Jonker    minItems: 1
37ba445b7fSEzequiel Garcia    maxItems: 2
38ba445b7fSEzequiel Garcia
39ba445b7fSEzequiel Garcia  interrupt-names:
40e01bc6cbSJohan Jonker    oneOf:
41e01bc6cbSJohan Jonker      - const: vdpu
42e01bc6cbSJohan Jonker      - items:
43ba445b7fSEzequiel Garcia          - const: vepu
44ba445b7fSEzequiel Garcia          - const: vdpu
45ba445b7fSEzequiel Garcia
46ba445b7fSEzequiel Garcia  clocks:
47*b32178e7SAlex Bee    oneOf:
48*b32178e7SAlex Bee      - maxItems: 2
49*b32178e7SAlex Bee      - maxItems: 4
50ba445b7fSEzequiel Garcia
51ba445b7fSEzequiel Garcia  clock-names:
52*b32178e7SAlex Bee    oneOf:
53*b32178e7SAlex Bee      - items:
54ba445b7fSEzequiel Garcia          - const: aclk
55ba445b7fSEzequiel Garcia          - const: hclk
56*b32178e7SAlex Bee      - items:
57*b32178e7SAlex Bee          - const: aclk_vdpu
58*b32178e7SAlex Bee          - const: hclk_vdpu
59*b32178e7SAlex Bee          - const: aclk_vepu
60*b32178e7SAlex Bee          - const: hclk_vepu
61ba445b7fSEzequiel Garcia
62ba445b7fSEzequiel Garcia  power-domains:
63ba445b7fSEzequiel Garcia    maxItems: 1
64ba445b7fSEzequiel Garcia
65ba445b7fSEzequiel Garcia  iommus:
66ba445b7fSEzequiel Garcia    maxItems: 1
67ba445b7fSEzequiel Garcia
68ba445b7fSEzequiel Garciarequired:
69ba445b7fSEzequiel Garcia  - compatible
70ba445b7fSEzequiel Garcia  - reg
71ba445b7fSEzequiel Garcia  - interrupts
72ba445b7fSEzequiel Garcia  - interrupt-names
73ba445b7fSEzequiel Garcia  - clocks
74ba445b7fSEzequiel Garcia  - clock-names
75ba445b7fSEzequiel Garcia
76ba445b7fSEzequiel GarciaadditionalProperties: false
77ba445b7fSEzequiel Garcia
78ba445b7fSEzequiel Garciaexamples:
79ba445b7fSEzequiel Garcia  - |
80ba445b7fSEzequiel Garcia        #include <dt-bindings/clock/rk3288-cru.h>
81ba445b7fSEzequiel Garcia        #include <dt-bindings/interrupt-controller/arm-gic.h>
82ba445b7fSEzequiel Garcia        #include <dt-bindings/power/rk3288-power.h>
83ba445b7fSEzequiel Garcia
84ba445b7fSEzequiel Garcia        vpu: video-codec@ff9a0000 {
85ba445b7fSEzequiel Garcia                compatible = "rockchip,rk3288-vpu";
860db958b6SRob Herring                reg = <0xff9a0000 0x800>;
87ba445b7fSEzequiel Garcia                interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
88ba445b7fSEzequiel Garcia                             <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
89ba445b7fSEzequiel Garcia                interrupt-names = "vepu", "vdpu";
90ba445b7fSEzequiel Garcia                clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
91ba445b7fSEzequiel Garcia                clock-names = "aclk", "hclk";
92ba445b7fSEzequiel Garcia                power-domains = <&power RK3288_PD_VIDEO>;
93ba445b7fSEzequiel Garcia                iommus = <&vpu_mmu>;
94ba445b7fSEzequiel Garcia        };
95