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