Message ID | 20180928142816.4311-2-mjourdan@baylibre.com |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | Add Amlogic video decoder driver | expand |
Context | Check | Description |
---|---|---|
robh/checkpatch | success |
Errata: I forgot the following tag: Reviewed-by: Rob Herring <robh@kernel.org> (The patch is unchanged from v2) Le ven. 28 sept. 2018 à 16:29, Maxime Jourdan <mjourdan@baylibre.com> a écrit : > > Add documentation for the meson vdec dts node. > > Signed-off-by: Maxime Jourdan <mjourdan@baylibre.com> > --- > .../bindings/media/amlogic,vdec.txt | 71 +++++++++++++++++++ > 1 file changed, 71 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/amlogic,vdec.txt > > diff --git a/Documentation/devicetree/bindings/media/amlogic,vdec.txt b/Documentation/devicetree/bindings/media/amlogic,vdec.txt > new file mode 100644 > index 000000000000..aabdd01bcf32 > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/amlogic,vdec.txt > @@ -0,0 +1,71 @@ > +Amlogic Video Decoder > +================================ > + > +The video decoding IP lies within the DOS memory region, > +except for the hardware bitstream parser that makes use of an undocumented > +region. > + > +It makes use of the following blocks: > + > +- ESPARSER is a bitstream parser that outputs to a VIFIFO. Further VDEC blocks > +then feed from this VIFIFO. > +- VDEC_1 can decode MPEG-1, MPEG-2, MPEG-4 part 2, MJPEG, H.263, H.264, VC-1. > +- VDEC_HEVC can decode HEVC and VP9. > + > +Both VDEC_1 and VDEC_HEVC share the "vdec" IRQ and as such cannot run > +concurrently. > + > +Device Tree Bindings: > +--------------------- > + > +VDEC: Video Decoder > +-------------------------- > + > +Required properties: > +- compatible: value should be different for each SoC family as : > + - GXBB (S905) : "amlogic,gxbb-vdec" > + - GXL (S905X, S905D) : "amlogic,gxl-vdec" > + - GXM (S912) : "amlogic,gxm-vdec" > +- reg: base address and size of he following memory-mapped regions : > + - dos > + - esparser > +- reg-names: should contain the names of the previous memory regions > +- interrupts: should contain the following IRQs: > + - vdec > + - esparser > +- interrupt-names: should contain the names of the previous interrupts > +- amlogic,ao-sysctrl: should point to the AOBUS sysctrl node > +- amlogic,canvas: should point to a canvas provider node > +- clocks: should contain the following clocks : > + - dos_parser > + - dos > + - vdec_1 > + - vdec_hevc > +- clock-names: should contain the names of the previous clocks > +- resets: should contain the parser reset > +- reset-names: should be "esparser" > + > +Example: > + > +vdec: video-decoder@c8820000 { > + compatible = "amlogic,gxbb-vdec"; > + reg = <0x0 0xc8820000 0x0 0x10000>, > + <0x0 0xc110a580 0x0 0xe4>; > + reg-names = "dos", "esparser"; > + > + interrupts = <GIC_SPI 44 IRQ_TYPE_EDGE_RISING>, > + <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>; > + interrupt-names = "vdec", "esparser"; > + > + amlogic,ao-sysctrl = <&sysctrl_AO>; > + amlogic,canvas = <&canvas>; > + > + clocks = <&clkc CLKID_DOS_PARSER>, > + <&clkc CLKID_DOS>, > + <&clkc CLKID_VDEC_1>, > + <&clkc CLKID_VDEC_HEVC>; > + clock-names = "dos_parser", "dos", "vdec_1", "vdec_hevc"; > + > + resets = <&reset RESET_PARSER>; > + reset-names = "esparser"; > +}; > -- > 2.19.0 >
diff --git a/Documentation/devicetree/bindings/media/amlogic,vdec.txt b/Documentation/devicetree/bindings/media/amlogic,vdec.txt new file mode 100644 index 000000000000..aabdd01bcf32 --- /dev/null +++ b/Documentation/devicetree/bindings/media/amlogic,vdec.txt @@ -0,0 +1,71 @@ +Amlogic Video Decoder +================================ + +The video decoding IP lies within the DOS memory region, +except for the hardware bitstream parser that makes use of an undocumented +region. + +It makes use of the following blocks: + +- ESPARSER is a bitstream parser that outputs to a VIFIFO. Further VDEC blocks +then feed from this VIFIFO. +- VDEC_1 can decode MPEG-1, MPEG-2, MPEG-4 part 2, MJPEG, H.263, H.264, VC-1. +- VDEC_HEVC can decode HEVC and VP9. + +Both VDEC_1 and VDEC_HEVC share the "vdec" IRQ and as such cannot run +concurrently. + +Device Tree Bindings: +--------------------- + +VDEC: Video Decoder +-------------------------- + +Required properties: +- compatible: value should be different for each SoC family as : + - GXBB (S905) : "amlogic,gxbb-vdec" + - GXL (S905X, S905D) : "amlogic,gxl-vdec" + - GXM (S912) : "amlogic,gxm-vdec" +- reg: base address and size of he following memory-mapped regions : + - dos + - esparser +- reg-names: should contain the names of the previous memory regions +- interrupts: should contain the following IRQs: + - vdec + - esparser +- interrupt-names: should contain the names of the previous interrupts +- amlogic,ao-sysctrl: should point to the AOBUS sysctrl node +- amlogic,canvas: should point to a canvas provider node +- clocks: should contain the following clocks : + - dos_parser + - dos + - vdec_1 + - vdec_hevc +- clock-names: should contain the names of the previous clocks +- resets: should contain the parser reset +- reset-names: should be "esparser" + +Example: + +vdec: video-decoder@c8820000 { + compatible = "amlogic,gxbb-vdec"; + reg = <0x0 0xc8820000 0x0 0x10000>, + <0x0 0xc110a580 0x0 0xe4>; + reg-names = "dos", "esparser"; + + interrupts = <GIC_SPI 44 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>; + interrupt-names = "vdec", "esparser"; + + amlogic,ao-sysctrl = <&sysctrl_AO>; + amlogic,canvas = <&canvas>; + + clocks = <&clkc CLKID_DOS_PARSER>, + <&clkc CLKID_DOS>, + <&clkc CLKID_VDEC_1>, + <&clkc CLKID_VDEC_HEVC>; + clock-names = "dos_parser", "dos", "vdec_1", "vdec_hevc"; + + resets = <&reset RESET_PARSER>; + reset-names = "esparser"; +};
Add documentation for the meson vdec dts node. Signed-off-by: Maxime Jourdan <mjourdan@baylibre.com> --- .../bindings/media/amlogic,vdec.txt | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/amlogic,vdec.txt