Commit c6ffb7e1 authored by Detlev Casanova's avatar Detlev Casanova Committed by Hans Verkuil
Browse files

media: dt-bindings: rockchip: Document RK3588 Video Decoder bindings



Document the Rockchip RK3588 Video Decoder bindings.

Signed-off-by: default avatarDetlev Casanova <detlev.casanova@collabora.com>
Reviewed-by: default avatarConor Dooley <conor.dooley@microchip.com>
Signed-off-by: default avatarNicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: default avatarHans Verkuil <hverkuil@xs4all.nl>
parent 77ce8e4d
Loading
Loading
Loading
Loading
+74 −3
Original line number Diff line number Diff line
@@ -10,13 +10,14 @@ maintainers:
  - Heiko Stuebner <heiko@sntech.de>

description: |-
  The Rockchip rk3399 has a stateless Video Decoder that can decodes H.264,
  HEVC an VP9 streams.
  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,rk3588-vdec
      - items:
          - enum:
              - rockchip,rk3228-vdec
@@ -24,35 +25,72 @@ properties:
          - const: rockchip,rk3399-vdec

  reg:
    maxItems: 1
    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
@@ -61,6 +99,39 @@ required:
  - clock-names
  - power-domains

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: 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: