Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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 <narmstrong@baylibre.com>
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 maxItems: 5
71 items:
72 - const: dos_parser
73 - const: dos
74 - const: vdec_1
75 - const: vdec_hevc
76 - const: vdec_hevcf
77
78 amlogic,ao-sysctrl:
79 description: should point to the AOBUS sysctrl node
80 $ref: /schemas/types.yaml#/definitions/phandle
81
82 amlogic,canvas:
83 description: should point to a canvas provider node
84 $ref: /schemas/types.yaml#/definitions/phandle
85
86allOf:
87 - if:
88 properties:
89 compatible:
90 contains:
91 enum:
92 - amlogic,gx-vdec
93
94 then:
95 properties:
96 clock-names:
97 maxItems: 4
98
99 - if:
100 properties:
101 compatible:
102 contains:
103 enum:
104 - amlogic,g12a-vdec
105 - amlogic,sm1-vdec
106
107 then:
108 properties:
109 clock-names:
110 minItems: 5
111
112required:
113 - compatible
114 - reg
115 - reg-names
116 - interrupts
117 - interrupt-names
118 - clocks
119 - clock-names
120 - resets
121 - reset-names
122 - amlogic,ao-sysctrl
123 - amlogic,canvas
124
125additionalProperties: false
126
127examples:
128 - |
129 vdec: video-decoder@c8820000 {
130 compatible = "amlogic,gxl-vdec", "amlogic,gx-vdec";
131 reg = <0xc8820000 0x10000>, <0xc110a580 0xe4>;
132 reg-names = "dos", "esparser";
133 interrupts = <44>, <32>;
134 interrupt-names = "vdec", "esparser";
135 clocks = <&clk_dos_parser> ,<&clk_dos>, <&clk_vdec_1>, <&clk_vdec_hevc>;
136 clock-names = "dos_parser", "dos", "vdec_1", "vdec_hevc";
137 resets = <&reset_parser>;
138 reset-names = "esparser";
139 amlogic,ao-sysctrl = <&sysctrl_AO>;
140 amlogic,canvas = <&canvas>;
141 };