mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-03 17:51:23 +00:00

The video decoder in RK3576 (vdpu383) is described the same way as the one in RK3588 (vdpu381). A new compatible is added as the driver implementation will be different. Signed-off-by: Detlev Casanova <detlev.casanova@collabora.com> Acked-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
158 lines
3.6 KiB
YAML
158 lines
3.6 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/media/rockchip,vdec.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Rockchip Video Decoder (VDec)
|
|
|
|
maintainers:
|
|
- Heiko Stuebner <heiko@sntech.de>
|
|
|
|
description: |-
|
|
Rockchip SoCs have variants of the same stateless Video Decoder that can
|
|
decodes H.264, HEVC, VP9 and AV1 streams, depending on the variant.
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- const: rockchip,rk3399-vdec
|
|
- const: rockchip,rk3576-vdec
|
|
- const: rockchip,rk3588-vdec
|
|
- items:
|
|
- enum:
|
|
- rockchip,rk3228-vdec
|
|
- rockchip,rk3328-vdec
|
|
- const: rockchip,rk3399-vdec
|
|
|
|
reg:
|
|
minItems: 1
|
|
items:
|
|
- description: The function configuration registers base
|
|
- description: The link table configuration registers base
|
|
- description: The cache configuration registers base
|
|
|
|
reg-names:
|
|
items:
|
|
- const: function
|
|
- const: link
|
|
- const: cache
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
minItems: 4
|
|
items:
|
|
- description: The Video Decoder AXI interface clock
|
|
- description: The Video Decoder AHB interface clock
|
|
- description: The Video Decoded CABAC clock
|
|
- description: The Video Decoder core clock
|
|
- description: The Video decoder HEVC CABAC clock
|
|
|
|
clock-names:
|
|
minItems: 4
|
|
items:
|
|
- const: axi
|
|
- const: ahb
|
|
- const: cabac
|
|
- const: core
|
|
- const: hevc_cabac
|
|
|
|
assigned-clocks: true
|
|
|
|
assigned-clock-rates: true
|
|
|
|
resets:
|
|
items:
|
|
- description: The Video Decoder AXI interface reset
|
|
- description: The Video Decoder AHB interface reset
|
|
- description: The Video Decoded CABAC reset
|
|
- description: The Video Decoder core reset
|
|
- description: The Video decoder HEVC CABAC reset
|
|
|
|
reset-names:
|
|
items:
|
|
- const: axi
|
|
- const: ahb
|
|
- const: cabac
|
|
- const: core
|
|
- const: hevc_cabac
|
|
|
|
power-domains:
|
|
maxItems: 1
|
|
|
|
iommus:
|
|
maxItems: 1
|
|
|
|
sram:
|
|
$ref: /schemas/types.yaml#/definitions/phandle
|
|
description: |
|
|
phandle to a reserved on-chip SRAM regions.
|
|
Some SoCs, like rk3588 provide on-chip SRAM to store temporary
|
|
buffers during decoding.
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- clocks
|
|
- clock-names
|
|
- power-domains
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- rockchip,rk3576-vdec
|
|
- rockchip,rk3588-vdec
|
|
then:
|
|
properties:
|
|
reg:
|
|
minItems: 3
|
|
reg-names:
|
|
minItems: 3
|
|
clocks:
|
|
minItems: 5
|
|
clock-names:
|
|
minItems: 5
|
|
resets:
|
|
minItems: 5
|
|
reset-names:
|
|
minItems: 5
|
|
else:
|
|
properties:
|
|
reg:
|
|
maxItems: 1
|
|
reg-names: false
|
|
clocks:
|
|
maxItems: 4
|
|
clock-names:
|
|
maxItems: 4
|
|
resets: false
|
|
reset-names: false
|
|
sram: false
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/clock/rk3399-cru.h>
|
|
#include <dt-bindings/power/rk3399-power.h>
|
|
|
|
vdec: video-codec@ff660000 {
|
|
compatible = "rockchip,rk3399-vdec";
|
|
reg = <0xff660000 0x400>;
|
|
interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH 0>;
|
|
clocks = <&cru ACLK_VDU>, <&cru HCLK_VDU>,
|
|
<&cru SCLK_VDU_CA>, <&cru SCLK_VDU_CORE>;
|
|
clock-names = "axi", "ahb", "cabac", "core";
|
|
power-domains = <&power RK3399_PD_VDU>;
|
|
iommus = <&vdec_mmu>;
|
|
};
|
|
|
|
...
|