@@ -19,6 +19,7 @@
/* Mali-display product IDs */
#define MALIDP_D71_PRODUCT_ID 0x0071
+#define MALIDP_D77_PRODUCT_ID 0x0072
#define MALIDP_D32_PRODUCT_ID 0x0032
union komeda_config_id {
@@ -1347,6 +1347,21 @@ int d71_probe_block(struct d71_dev *d71,
d71->glb_scl_coeff_addr[blk_id] = reg;
break;
+ case D71_BLK_TYPE_GLB_SC_COEFF:
+ break;
+
+ case D77_BLK_TYPE_CBU:
+ break;
+
+ case D77_BLK_TYPE_ATU:
+ break;
+
+ case D77_BLK_TYPE_ATU_VP:
+ break;
+
+ case D77_BLK_TYPE_LPU_PERF:
+ break;
+
default:
DRM_ERROR("Unknown block (block_info: 0x%x) is found\n",
blk->block_info);
@@ -614,6 +614,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 MALIDP_D77_PRODUCT_ID:
funcs = &d71_chip_funcs;
break;
default:
@@ -477,8 +477,11 @@ enum d71_blk_type {
D71_BLK_TYPE_PERIPH = 0x08,
D71_BLK_TYPE_LPU_TRUSTED = 0x09,
D71_BLK_TYPE_AEU_TRUSTED = 0x0A,
+ D77_BLK_TYPE_CBU = 0x0B,
+ D77_BLK_TYPE_ATU = 0x0C,
D71_BLK_TYPE_LPU_LAYER = 0x10,
D71_BLK_TYPE_LPU_WB_LAYER = 0x11,
+ D77_BLK_TYPE_LPU_PERF = 0x12,
D71_BLK_TYPE_CU_SPLITTER = 0x20,
D71_BLK_TYPE_CU_SCALER = 0x21,
D71_BLK_TYPE_CU_MERGER = 0x22,
@@ -487,6 +490,7 @@ enum d71_blk_type {
D71_BLK_TYPE_DOU_FT_COEFF = 0x32,
D71_BLK_TYPE_AEU_DS = 0x40,
D71_BLK_TYPE_AEU_AES = 0x41,
+ D77_BLK_TYPE_ATU_VP = 0xC0,
D71_BLK_TYPE_RESERVED = 0xFF
};
@@ -126,6 +126,7 @@ static int komeda_platform_remove(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 = "arm,mali-d77", .data = d71_identify, },
{},
};
Make komeda driver can recongise D77, D77 is arm latest display product, compare with D71, D77 support some new features: 1. Crossbar: adjust every plane's zorder 2. ATU: Asynchronous Timewarp Unit, which is used to support VR/AR Signed-off-by: Tiannan Zhu (Arm Technology China) <tiannan.zhu@arm.com> --- .../gpu/drm/arm/display/include/malidp_product.h | 1 + .../drm/arm/display/komeda/d71/d71_component.c | 15 +++++++++++++++ drivers/gpu/drm/arm/display/komeda/d71/d71_dev.c | 1 + drivers/gpu/drm/arm/display/komeda/d71/d71_regs.h | 4 ++++ drivers/gpu/drm/arm/display/komeda/komeda_drv.c | 1 + 5 files changed, 22 insertions(+)