summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCunyuan Liu <cunyuan.liu@cixtech.com>2026-03-13 06:31:19 +0300
committerLiviu Dudau <liviu.dudau@arm.com>2026-03-24 19:08:54 +0300
commit8fd7576fd6d801d2286e1cc5f0c7643e1caeeb32 (patch)
tree2f943d7790a210d86fa94c5ad3d061f9450e133f
parentbf5348ed7257dafc8d25cc4edb3461c1ee114d4a (diff)
downloadlinux-8fd7576fd6d801d2286e1cc5f0c7643e1caeeb32.tar.xz
drm/komeda: Add support for Arm China Linlon-D6
Arm China Linlon-D6 is register-compatible with the Mali-D71 display pipeline for the purpose of basic modesetting. On Linlon-D6, the PRODUCT_ID register is located at the same offset as on Mali-D71 and reports 0x0060. The IP also exposes the same Komeda top-level block layout expected by the existing d71_identify() probing flow, so we can reuse the D71 function table to bring up the display engine. Reviewed-by: Liviu Dudau <liviu.dudau@arm.com> Signed-off-by: Cunyuan Liu <cunyuan.liu@cixtech.com> Signed-off-by: Liviu Dudau <liviu.dudau@arm.com> Link: https://patch.msgid.link/20260313033119.33686-4-cunyuan.liu@cixtech.com
-rw-r--r--drivers/gpu/drm/arm/display/include/malidp_product.h1
-rw-r--r--drivers/gpu/drm/arm/display/komeda/d71/d71_dev.c1
-rw-r--r--drivers/gpu/drm/arm/display/komeda/komeda_drv.c1
3 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/arm/display/include/malidp_product.h b/drivers/gpu/drm/arm/display/include/malidp_product.h
index 16a8a2c22c42..6f954bcdf40e 100644
--- a/drivers/gpu/drm/arm/display/include/malidp_product.h
+++ b/drivers/gpu/drm/arm/display/include/malidp_product.h
@@ -20,6 +20,7 @@
/* Mali-display product IDs */
#define MALIDP_D71_PRODUCT_ID 0x0071
#define MALIDP_D32_PRODUCT_ID 0x0032
+#define LINLONDP_D6_PRODUCT_ID 0x0060
union komeda_config_id {
struct {
diff --git a/drivers/gpu/drm/arm/display/komeda/d71/d71_dev.c b/drivers/gpu/drm/arm/display/komeda/d71/d71_dev.c
index 80973975bfdb..f105e3a2dce2 100644
--- a/drivers/gpu/drm/arm/display/komeda/d71/d71_dev.c
+++ b/drivers/gpu/drm/arm/display/komeda/d71/d71_dev.c
@@ -628,6 +628,7 @@ d71_identify(u32 __iomem *reg_base, struct komeda_chip_info *chip)
switch (product_id) {
case MALIDP_D71_PRODUCT_ID:
case MALIDP_D32_PRODUCT_ID:
+ case LINLONDP_D6_PRODUCT_ID:
funcs = &d71_chip_funcs;
break;
default:
diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_drv.c b/drivers/gpu/drm/arm/display/komeda/komeda_drv.c
index 358c1512b087..4bb5f250e95e 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_drv.c
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_drv.c
@@ -104,6 +104,7 @@ free_mdrv:
static const struct of_device_id komeda_of_match[] = {
{ .compatible = "arm,mali-d71", .data = d71_identify, },
{ .compatible = "arm,mali-d32", .data = d71_identify, },
+ { .compatible = "armchina,linlon-d6", .data = d71_identify, },
{},
};