From aab46d64dee3b91dfa7d2802c2c1782bb5082f1b Mon Sep 17 00:00:00 2001 From: Damon Ding Date: Sat, 12 Jul 2025 09:22:47 +0800 Subject: [PATCH] drm/rockchip: Add support for dimming panel driver The dimming panel driver supports to adjust the backlight brightness of different zones. Change-Id: Ieafa865fb9ad5bc184fb148c4a36fb3cbd4e854c Signed-off-by: Damon Ding --- drivers/gpu/drm/rockchip/Kconfig | 9 + drivers/gpu/drm/rockchip/Makefile | 1 + .../gpu/drm/rockchip/rockchip_dimming_panel.c | 873 ++++++++++++++++++ 3 files changed, 883 insertions(+) create mode 100644 drivers/gpu/drm/rockchip/rockchip_dimming_panel.c diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/rockchip/Kconfig index 770cdd5531bb..51649649a6af 100644 --- a/drivers/gpu/drm/rockchip/Kconfig +++ b/drivers/gpu/drm/rockchip/Kconfig @@ -82,6 +82,15 @@ config ROCKCHIP_CDN_DP RK3399 based SoC, you should select this option. +config ROCKCHIP_DIMMING_PANEL + bool "Rockchip dimming panel support" + depends on SPI + default n + help + Choose this option to enable support for generic dimming panel + which supports to adjust the backlight brightness of different + zones. + config ROCKCHIP_DRM_TVE bool "Rockchip TVE support" depends on DRM_ROCKCHIP diff --git a/drivers/gpu/drm/rockchip/Makefile b/drivers/gpu/drm/rockchip/Makefile index 295b3246db7b..a3254c721948 100644 --- a/drivers/gpu/drm/rockchip/Makefile +++ b/drivers/gpu/drm/rockchip/Makefile @@ -33,6 +33,7 @@ obj-$(CONFIG_ROCKCHIP_PANEL_NOTIFIER) += rockchip_panel_notifier.o obj-$(CONFIG_ROCKCHIP_DW_HDCP2) += dw_hdcp2.o obj-$(CONFIG_DRM_ROCKCHIP) += rockchipdrm.o obj-$(CONFIG_DRM_ROCKCHIP_RK618) += rk618/ +obj-$(CONFIG_ROCKCHIP_DIMMING_PANEL) += rockchip_dimming_panel.o rockchip_aux_client-y := rockchip_dp_mst_aux_client.o rockchip_dp_mst_aux_client_helper.o obj-$(CONFIG_ROCKCHIP_DP_MST_AUX_CLIENT) += rockchip_aux_client.o diff --git a/drivers/gpu/drm/rockchip/rockchip_dimming_panel.c b/drivers/gpu/drm/rockchip/rockchip_dimming_panel.c new file mode 100644 index 000000000000..58ac7489e5f3 --- /dev/null +++ b/drivers/gpu/drm/rockchip/rockchip_dimming_panel.c @@ -0,0 +1,873 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (c) 2025 Rockchip Electronics Co., Ltd. + * Author: Damon Ding + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include