142 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2# Copyright 2019 BayLibre, SAS3%YAML 1.24---5$id: http://devicetree.org/schemas/media/amlogic,gx-vdec.yaml#6$schema: http://devicetree.org/meta-schemas/core.yaml#7 8title: Amlogic Video Decoder9 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 undocumented17 region.18 19 It makes use of the following blocks:20 - ESPARSER is a bitstream parser that outputs to a VIFIFO. Further VDEC blocks21 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 run26 concurrently.27 28properties:29 compatible:30 oneOf:31 - items:32 - enum:33 - amlogic,gxbb-vdec # GXBB (S905)34 - amlogic,gxl-vdec # GXL (S905D, S905W, S905X, S905Y)35 - amlogic,gxlx-vdec # GXLX (S905L)36 - amlogic,gxm-vdec # GXM (S912)37 - const: amlogic,gx-vdec38 - enum:39 - amlogic,g12a-vdec # G12A (S905X2, S905D2)40 - amlogic,sm1-vdec # SM1 (S905X3, S905D3)41 42 interrupts:43 minItems: 244 45 interrupt-names:46 items:47 - const: vdec48 - const: esparser49 50 reg:51 minItems: 252 53 reg-names:54 items:55 - const: dos56 - const: esparser57 58 resets:59 maxItems: 160 61 reset-names:62 items:63 - const: esparser64 65 clocks:66 minItems: 467 maxItems: 568 69 clock-names:70 minItems: 471 items:72 - const: dos_parser73 - const: dos74 - const: vdec_175 - const: vdec_hevc76 - const: vdec_hevcf77 78 amlogic,ao-sysctrl:79 description: should point to the AOBUS sysctrl node80 $ref: /schemas/types.yaml#/definitions/phandle81 82 amlogic,canvas:83 description: should point to a canvas provider node84 $ref: /schemas/types.yaml#/definitions/phandle85 86allOf:87 - if:88 properties:89 compatible:90 contains:91 enum:92 - amlogic,gx-vdec93 94 then:95 properties:96 clock-names:97 maxItems: 498 99 - if:100 properties:101 compatible:102 contains:103 enum:104 - amlogic,g12a-vdec105 - amlogic,sm1-vdec106 107 then:108 properties:109 clock-names:110 minItems: 5111 112required:113 - compatible114 - reg115 - reg-names116 - interrupts117 - interrupt-names118 - clocks119 - clock-names120 - resets121 - reset-names122 - amlogic,ao-sysctrl123 - amlogic,canvas124 125additionalProperties: false126 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 };142