1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 # Copyright 2019 BayLibre, SAS
5 $id: "http://devicetree.org/schemas/media/amlogic,gx-vdec.yaml#"
6 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
8 title: Amlogic Video Decoder
11 - Neil Armstrong <narmstrong@baylibre.com>
12 - Maxime Jourdan <mjourdan@baylibre.com>
15 The video decoding IP lies within the DOS memory region,
16 except for the hardware bitstream parser that makes use of an undocumented
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.
25 Both VDEC_1 and VDEC_HEVC share the "vdec" IRQ and as such cannot run
33 - amlogic,gxbb-vdec # GXBB (S905)
34 - amlogic,gxl-vdec # GXL (S905X, S905D)
35 - amlogic,gxm-vdec # GXM (S912)
36 - const: amlogic,gx-vdec
38 - amlogic,g12a-vdec # G12A (S905X2, S905D2)
39 - amlogic,sm1-vdec # SM1 (S905X3, S905D3)
79 description: should point to the AOBUS sysctrl node
81 - $ref: /schemas/types.yaml#/definitions/phandle
84 description: should point to a canvas provider node
86 - $ref: /schemas/types.yaml#/definitions/phandle
127 additionalProperties: false
131 vdec: video-decoder@c8820000 {
132 compatible = "amlogic,gxl-vdec", "amlogic,gx-vdec";
133 reg = <0xc8820000 0x10000>, <0xc110a580 0xe4>;
134 reg-names = "dos", "esparser";
135 interrupts = <44>, <32>;
136 interrupt-names = "vdec", "esparser";
137 clocks = <&clk_dos_parser> ,<&clk_dos>, <&clk_vdec_1>, <&clk_vdec_hevc>;
138 clock-names = "dos_parser", "dos", "vdec_1", "vdec_hevc";
139 resets = <&reset_parser>;
140 reset-names = "esparser";
141 amlogic,ao-sysctrl = <&sysctrl_AO>;
142 amlogic,canvas = <&canvas>;