drm: sun4i: de33: mixer: add Display Engine 3.3 (DE33) support
authorJernej Skrabec <jernej.skrabec@gmail.com>
Wed, 28 May 2025 09:22:11 +0000 (21:22 +1200)
committerMaxime Ripard <mripard@kernel.org>
Mon, 2 Jun 2025 07:59:09 +0000 (09:59 +0200)
commit5b9cfdbfc328317ab11bf522ecea875606f22732
treeac0fd37038aadc308211aa9e50a81a4a670a3931
parent18c4be55e2aa95f0de0ed79723de2c282e2a2924
drm: sun4i: de33: mixer: add Display Engine 3.3 (DE33) support

The DE33 is a newer version of the Allwinner Display Engine IP block,
found in the H616, H618, H700 and T507 SoCs. DE2 and DE3 are already
supported by the mainline driver.

Notable features (from the H616 datasheet and implemented):
- 4096 x 2048 (4K) output support

Other features (implemented but not in this patchset):
- AFBC ARM Frame Buffer Compression support
- YUV pipeline support

The DE2 and DE3 engines have a blender register range within the
mixer engine register map, whereas the DE33 separates this out into
a separate display group, and adds a top register map.

The DE33 also appears to remove the global double buffer control
register, present in the DE2 and DE3.

Extend the mixer to support the DE33.

Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Ryan Walklin <ryan@testtoast.com>
Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Acked-by: Maxime Ripard <mripard@kernel.org>
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
Link: https://lore.kernel.org/r/20250528092431.28825-7-ryan@testtoast.com
Signed-off-by: Maxime Ripard <mripard@kernel.org>
drivers/gpu/drm/sun4i/sun8i_mixer.c
drivers/gpu/drm/sun4i/sun8i_mixer.h