diff options
| author | Cunyuan Liu <cunyuan.liu@cixtech.com> | 2026-03-13 06:31:19 +0300 |
|---|---|---|
| committer | Liviu Dudau <liviu.dudau@arm.com> | 2026-03-24 19:08:54 +0300 |
| commit | 8fd7576fd6d801d2286e1cc5f0c7643e1caeeb32 (patch) | |
| tree | 2f943d7790a210d86fa94c5ad3d061f9450e133f | |
| parent | bf5348ed7257dafc8d25cc4edb3461c1ee114d4a (diff) | |
| download | linux-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.h | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/arm/display/komeda/d71/d71_dev.c | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/arm/display/komeda/komeda_drv.c | 1 |
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, }, {}, }; |
