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
This commit is contained in:
Cunyuan Liu
2026-03-13 11:31:19 +08:00
committed by Liviu Dudau
parent bf5348ed72
commit 8fd7576fd6
3 changed files with 3 additions and 0 deletions

View 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 {

View 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:

View File

@@ -104,6 +104,7 @@ static int komeda_platform_probe(struct platform_device *pdev)
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, },
{},
};