xref: /freebsd/sys/contrib/device-tree/Bindings/media/qcom,venus-common.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
1*fac71e4eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*fac71e4eSEmmanuel Vadot%YAML 1.2
3*fac71e4eSEmmanuel Vadot---
4*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/media/qcom,venus-common.yaml#
5*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*fac71e4eSEmmanuel Vadot
7*fac71e4eSEmmanuel Vadottitle: Qualcomm SoC Venus Video Encode and Decode Accelerators Common Properties
8*fac71e4eSEmmanuel Vadot
9*fac71e4eSEmmanuel Vadotmaintainers:
10*fac71e4eSEmmanuel Vadot  - Stanimir Varbanov <stanimir.k.varbanov@gmail.com>
11*fac71e4eSEmmanuel Vadot  - Vikash Garodia <quic_vgarodia@quicinc.com>
12*fac71e4eSEmmanuel Vadot
13*fac71e4eSEmmanuel Vadotdescription: |
14*fac71e4eSEmmanuel Vadot  The Venus IP is a video encode and decode accelerator present
15*fac71e4eSEmmanuel Vadot  on Qualcomm platforms
16*fac71e4eSEmmanuel Vadot
17*fac71e4eSEmmanuel Vadotproperties:
18*fac71e4eSEmmanuel Vadot  reg:
19*fac71e4eSEmmanuel Vadot    maxItems: 1
20*fac71e4eSEmmanuel Vadot
21*fac71e4eSEmmanuel Vadot  clocks:
22*fac71e4eSEmmanuel Vadot    minItems: 3
23*fac71e4eSEmmanuel Vadot    maxItems: 7
24*fac71e4eSEmmanuel Vadot
25*fac71e4eSEmmanuel Vadot  clock-names:
26*fac71e4eSEmmanuel Vadot    minItems: 3
27*fac71e4eSEmmanuel Vadot    maxItems: 7
28*fac71e4eSEmmanuel Vadot
29*fac71e4eSEmmanuel Vadot  firmware-name:
30*fac71e4eSEmmanuel Vadot    maxItems: 1
31*fac71e4eSEmmanuel Vadot
32*fac71e4eSEmmanuel Vadot  interrupts:
33*fac71e4eSEmmanuel Vadot    maxItems: 1
34*fac71e4eSEmmanuel Vadot
35*fac71e4eSEmmanuel Vadot  iommus:
36*fac71e4eSEmmanuel Vadot    minItems: 1
37*fac71e4eSEmmanuel Vadot    maxItems: 20
38*fac71e4eSEmmanuel Vadot
39*fac71e4eSEmmanuel Vadot  memory-region:
40*fac71e4eSEmmanuel Vadot    maxItems: 1
41*fac71e4eSEmmanuel Vadot
42*fac71e4eSEmmanuel Vadot  power-domains:
43*fac71e4eSEmmanuel Vadot    minItems: 1
44*fac71e4eSEmmanuel Vadot    maxItems: 4
45*fac71e4eSEmmanuel Vadot
46*fac71e4eSEmmanuel Vadot  power-domain-names:
47*fac71e4eSEmmanuel Vadot    minItems: 1
48*fac71e4eSEmmanuel Vadot    maxItems: 4
49*fac71e4eSEmmanuel Vadot
50*fac71e4eSEmmanuel Vadot  video-firmware:
51*fac71e4eSEmmanuel Vadot    type: object
52*fac71e4eSEmmanuel Vadot    additionalProperties: false
53*fac71e4eSEmmanuel Vadot
54*fac71e4eSEmmanuel Vadot    description: |
55*fac71e4eSEmmanuel Vadot      Firmware subnode is needed when the platform does not
56*fac71e4eSEmmanuel Vadot      have TrustZone.
57*fac71e4eSEmmanuel Vadot
58*fac71e4eSEmmanuel Vadot    properties:
59*fac71e4eSEmmanuel Vadot      iommus:
60*fac71e4eSEmmanuel Vadot        maxItems: 1
61*fac71e4eSEmmanuel Vadot
62*fac71e4eSEmmanuel Vadot    required:
63*fac71e4eSEmmanuel Vadot      - iommus
64*fac71e4eSEmmanuel Vadot
65*fac71e4eSEmmanuel Vadotrequired:
66*fac71e4eSEmmanuel Vadot  - reg
67*fac71e4eSEmmanuel Vadot  - clocks
68*fac71e4eSEmmanuel Vadot  - clock-names
69*fac71e4eSEmmanuel Vadot  - interrupts
70*fac71e4eSEmmanuel Vadot  - memory-region
71*fac71e4eSEmmanuel Vadot  - power-domains
72*fac71e4eSEmmanuel Vadot
73*fac71e4eSEmmanuel VadotadditionalProperties: true
74