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