2 ================================
4 The video decoding IP lies within the DOS memory region,
5 except for the hardware bitstream parser that makes use of an undocumented
8 It makes use of the following blocks:
10 - ESPARSER is a bitstream parser that outputs to a VIFIFO. Further VDEC blocks
11 then feed from this VIFIFO.
12 - VDEC_1 can decode MPEG-1, MPEG-2, MPEG-4 part 2, MJPEG, H.263, H.264, VC-1.
13 - VDEC_HEVC can decode HEVC and VP9.
15 Both VDEC_1 and VDEC_HEVC share the "vdec" IRQ and as such cannot run
22 --------------------------
25 - compatible: value should be different for each SoC family as :
26 - GXBB (S905) : "amlogic,gxbb-vdec"
27 - GXL (S905X, S905D) : "amlogic,gxl-vdec"
28 - GXM (S912) : "amlogic,gxm-vdec"
29 followed by the common "amlogic,gx-vdec"
30 - reg: base address and size of he following memory-mapped regions :
33 - reg-names: should contain the names of the previous memory regions
34 - interrupts: should contain the following IRQs:
37 - interrupt-names: should contain the names of the previous interrupts
38 - amlogic,ao-sysctrl: should point to the AOBUS sysctrl node
39 - amlogic,canvas: should point to a canvas provider node
40 - clocks: should contain the following clocks :
45 - clock-names: should contain the names of the previous clocks
46 - resets: should contain the parser reset
47 - reset-names: should be "esparser"
51 vdec: video-codec@c8820000 {
52 compatible = "amlogic,gxbb-vdec", "amlogic,gx-vdec";
53 reg = <0x0 0xc8820000 0x0 0x10000>,
54 <0x0 0xc110a580 0x0 0xe4>;
55 reg-names = "dos", "esparser";
57 interrupts = <GIC_SPI 44 IRQ_TYPE_EDGE_RISING>,
58 <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>;
59 interrupt-names = "vdec", "esparser";
61 amlogic,ao-sysctrl = <&sysctrl_AO>;
62 amlogic,canvas = <&canvas>;
64 clocks = <&clkc CLKID_DOS_PARSER>,
67 <&clkc CLKID_VDEC_HEVC>;
68 clock-names = "dos_parser", "dos", "vdec_1", "vdec_hevc";
70 resets = <&reset RESET_PARSER>;
71 reset-names = "esparser";