]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/komeda: Add support for Arm China Linlon-D6
authorCunyuan Liu <cunyuan.liu@cixtech.com>
Fri, 13 Mar 2026 03:31:19 +0000 (11:31 +0800)
committerLiviu Dudau <liviu.dudau@arm.com>
Tue, 24 Mar 2026 16:08:54 +0000 (16:08 +0000)
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
drivers/gpu/drm/arm/display/include/malidp_product.h
drivers/gpu/drm/arm/display/komeda/d71/d71_dev.c
drivers/gpu/drm/arm/display/komeda/komeda_drv.c

index 16a8a2c22c423e6781b8f185b243b39e6a937f63..6f954bcdf40ea79d3e0bc04a0370021626b60e5e 100644 (file)
@@ -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 {
index 80973975bfdb9697c32ca26d7e1cf22ef532a791..f105e3a2dce2a9588e4850cb65dd57b1803699c8 100644 (file)
@@ -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:
index 358c1512b08799be69fab74d62df5f1c0cfead77..4bb5f250e95efad24aab11948f8efd03fc058e26 100644 (file)
@@ -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, },
        {},
 };