[PATCH v3 01/27] media: dt-bindings: media: rockchip-rga: add rockchip,rk3588-rga3

Nicolas Dufresne nicolas at ndufresne.ca
Thu Mar 19 11:44:06 PDT 2026


Le mardi 27 janvier 2026 à 15:39 +0100, Sven Püschel a écrit :
> Add a new compatible for the RGA3 (Raster Graphic Acceleration 3)
> peripheral found on the RK3588 SoC. Also specify an iommu property,
> as the RGA3 contains the generic rockchip iommu. The RGA2 also has
> an iommu, but it's specific to the RGA2.
> 
> The existing binding refers to the RGA2 peripheral. The RK3588
> contains one RGA2 core and two RGA3 cores. Both feature a similar
> functionality of scaling, cropping and rotating of up to two input
> images into one output image. Key differences of the RGA3 are:
> 
> - supports 10bit YUV output formats
> - supports 8x8 tiles and FBCD as inputs and outputs
> - supports BT2020 color space conversion
> - max output resolution of (8192-64)x(8192-64)
> - MMU can map up to 32G DDR RAM
> - fully planar formats (3 planes) are not supported
> - max scale up/down factor of 8 (RGA2 allows up to 16)

Nothing import, but some more details on the differences can be found here.

https://github.com/sravansenthiln1/rga-demos/tree/main

They also removed from RGA3 the neural network quantization support
(CLIP((source + offset) * scale). I suppose that integer tensors are fading
away, and the accelerator does not do floats.

One things that isn't clear, even in the upstream RGA2 implementation is if the
accelerator is cache coherent. When I study the BSP usage of RGA2, they
integrate the RGA2 directly into GStreamer software video converter. They don't
do anything to flush the cache, indicating that RGA2 is most probably cache
coherent.

Do you know if RGA3 has the same feature or if this is one of the difference ?
Typically, RKIOMMU users are not, in RGA2, a completely custom mmu was used (and
implemented inside the driver, as standalone).

> 
> Signed-off-by: Sven Püschel <s.pueschel at pengutronix.de>
> ---
>  .../devicetree/bindings/media/rockchip-rga.yaml       | 19 ++++++++++++++++++-
>  1 file changed, 18 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/media/rockchip-rga.yaml b/Documentation/devicetree/bindings/media/rockchip-rga.yaml
> index ac17cda65191b..7735d8794c719 100644
> --- a/Documentation/devicetree/bindings/media/rockchip-rga.yaml
> +++ b/Documentation/devicetree/bindings/media/rockchip-rga.yaml
> @@ -9,7 +9,9 @@ title: Rockchip 2D raster graphic acceleration controller (RGA)
>  description:
>    RGA is a standalone 2D raster graphic acceleration unit. It accelerates 2D
>    graphics operations, such as point/line drawing, image scaling, rotation,
> -  BitBLT, alpha blending and image blur/sharpness.
> +  BitBLT, alpha blending and image blur/sharpness. There exist two variants
> +  named RGA2 and RGA3 that differ in the supported inputs/output formats,
> +  the attached IOMMU and the supported operations on the input.
>  
>  maintainers:
>    - Jacob Chen <jacob-chen at iotwrt.com>
> @@ -20,6 +22,7 @@ properties:
>      oneOf:
>        - const: rockchip,rk3288-rga
>        - const: rockchip,rk3399-rga
> +      - const: rockchip,rk3588-rga3
>        - items:
>            - enum:
>                - rockchip,rk3228-rga
> @@ -45,6 +48,9 @@ properties:
>    power-domains:
>      maxItems: 1
>  
> +  iommus:
> +    maxItems: 1
> +
>    resets:
>      maxItems: 3
>  
> @@ -54,6 +60,17 @@ properties:
>        - const: axi
>        - const: ahb
>  
> +allOf:
> +- if:
> +    properties:
> +      compatible:
> +        contains:
> +          enum:
> +            - rockchip,rk3588-rga3
> +  then:
> +    required:
> +      - iommus
> +

You really can't use this chip with CMA ?

Nicolas

>  required:
>    - compatible
>    - reg
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/linux-rockchip/attachments/20260319/a1fded93/attachment.sig>


More information about the Linux-rockchip mailing list