]> git.ipfire.org Git - thirdparty/u-boot.git/blame - Bindings/media/amlogic,gx-vdec.yaml
Squashed 'dts/upstream/' changes from aaba2d45dc2a..b35b9bd1d4ee
[thirdparty/u-boot.git] / Bindings / media / amlogic,gx-vdec.yaml
CommitLineData
53633a89
TR
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2# Copyright 2019 BayLibre, SAS
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/media/amlogic,gx-vdec.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: Amlogic Video Decoder
9
10maintainers:
11 - Neil Armstrong <neil.armstrong@linaro.org>
12 - Maxime Jourdan <mjourdan@baylibre.com>
13
14description: |
15 The video decoding IP lies within the DOS memory region,
16 except for the hardware bitstream parser that makes use of an undocumented
17 region.
18
19 It makes use of the following blocks:
20 - ESPARSER is a bitstream parser that outputs to a VIFIFO. Further VDEC blocks
21 then feed from this VIFIFO.
22 - VDEC_1 can decode MPEG-1, MPEG-2, MPEG-4 part 2, MJPEG, H.263, H.264, VC-1.
23 - VDEC_HEVC can decode HEVC and VP9.
24
25 Both VDEC_1 and VDEC_HEVC share the "vdec" IRQ and as such cannot run
26 concurrently.
27
28properties:
29 compatible:
30 oneOf:
31 - items:
32 - enum:
33 - amlogic,gxbb-vdec # GXBB (S905)
34 - amlogic,gxl-vdec # GXL (S905X, S905D)
35 - amlogic,gxm-vdec # GXM (S912)
36 - const: amlogic,gx-vdec
37 - enum:
38 - amlogic,g12a-vdec # G12A (S905X2, S905D2)
39 - amlogic,sm1-vdec # SM1 (S905X3, S905D3)
40
41 interrupts:
42 minItems: 2
43
44 interrupt-names:
45 items:
46 - const: vdec
47 - const: esparser
48
49 reg:
50 minItems: 2
51
52 reg-names:
53 items:
54 - const: dos
55 - const: esparser
56
57 resets:
58 maxItems: 1
59
60 reset-names:
61 items:
62 - const: esparser
63
64 clocks:
65 minItems: 4
66 maxItems: 5
67
68 clock-names:
69 minItems: 4
70 items:
71 - const: dos_parser
72 - const: dos
73 - const: vdec_1
74 - const: vdec_hevc
75 - const: vdec_hevcf
76
77 amlogic,ao-sysctrl:
78 description: should point to the AOBUS sysctrl node
79 $ref: /schemas/types.yaml#/definitions/phandle
80
81 amlogic,canvas:
82 description: should point to a canvas provider node
83 $ref: /schemas/types.yaml#/definitions/phandle
84
85allOf:
86 - if:
87 properties:
88 compatible:
89 contains:
90 enum:
91 - amlogic,gx-vdec
92
93 then:
94 properties:
95 clock-names:
96 maxItems: 4
97
98 - if:
99 properties:
100 compatible:
101 contains:
102 enum:
103 - amlogic,g12a-vdec
104 - amlogic,sm1-vdec
105
106 then:
107 properties:
108 clock-names:
109 minItems: 5
110
111required:
112 - compatible
113 - reg
114 - reg-names
115 - interrupts
116 - interrupt-names
117 - clocks
118 - clock-names
119 - resets
120 - reset-names
121 - amlogic,ao-sysctrl
122 - amlogic,canvas
123
124additionalProperties: false
125
126examples:
127 - |
128 vdec: video-decoder@c8820000 {
129 compatible = "amlogic,gxl-vdec", "amlogic,gx-vdec";
130 reg = <0xc8820000 0x10000>, <0xc110a580 0xe4>;
131 reg-names = "dos", "esparser";
132 interrupts = <44>, <32>;
133 interrupt-names = "vdec", "esparser";
134 clocks = <&clk_dos_parser> ,<&clk_dos>, <&clk_vdec_1>, <&clk_vdec_hevc>;
135 clock-names = "dos_parser", "dos", "vdec_1", "vdec_hevc";
136 resets = <&reset_parser>;
137 reset-names = "esparser";
138 amlogic,ao-sysctrl = <&sysctrl_AO>;
139 amlogic,canvas = <&canvas>;
140 };