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 maxItems: 5 71 items: 72 - const: dos_parser 73 - const: dos 74 - const: vdec_1 75 - const: vdec_hevc 76 - const: vdec_hevcf 77 78 amlogic,ao-sysctrl: 79 description: should point to the AOBUS sysctrl node 80 $ref: /schemas/types.yaml#/definitions/phandle 81 82 amlogic,canvas: 83 description: should point to a canvas provider node 84 $ref: /schemas/types.yaml#/definitions/phandle 85 86allOf: 87 - if: 88 properties: 89 compatible: 90 contains: 91 enum: 92 - amlogic,gx-vdec 93 94 then: 95 properties: 96 clock-names: 97 maxItems: 4 98 99 - if: 100 properties: 101 compatible: 102 contains: 103 enum: 104 - amlogic,g12a-vdec 105 - amlogic,sm1-vdec 106 107 then: 108 properties: 109 clock-names: 110 minItems: 5 111 112required: 113 - compatible 114 - reg 115 - reg-names 116 - interrupts 117 - interrupt-names 118 - clocks 119 - clock-names 120 - resets 121 - reset-names 122 - amlogic,ao-sysctrl 123 - amlogic,canvas 124 125additionalProperties: false 126 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