summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPixelBot AutoMerger <android-nexus-securitybot@system.gserviceaccount.com>2023-01-08 18:53:35 -0800
committerSecurityBot <android-nexus-securitybot@system.gserviceaccount.com>2023-01-08 18:53:35 -0800
commit25e9538be4df202338e2ec46d1bff6dcf1d052ea (patch)
treec03e0a0c51aa05f90dada9d6dc60b880f16ddd90
parent754aafa4abfc421407a41674dbc89500fe6c773d (diff)
parenta04ee75d0596883936ec0f35454ce1571299abb9 (diff)
downloadfelix-25e9538be4df202338e2ec46d1bff6dcf1d052ea.tar.gz
Merge android13-gs-pixel-5.10-tm-qpr3 into android13-gs-pixel-5.10-udc
SBMerger: 478053055 Change-Id: I29c6ad431cfc5433c8cd1534a0e02f31108e7c93 Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
-rw-r--r--display/panel-samsung-ana6707-f10.c30
1 files changed, 28 insertions, 2 deletions
diff --git a/display/panel-samsung-ana6707-f10.c b/display/panel-samsung-ana6707-f10.c
index c96d466..1d5f5f5 100644
--- a/display/panel-samsung-ana6707-f10.c
+++ b/display/panel-samsung-ana6707-f10.c
@@ -674,6 +674,24 @@ static int ana6707_f10_enable(struct drm_panel *panel)
EXYNOS_DCS_WRITE_SEQ(ctx, 0x2A, 0x00, 0x00, 0x07, 0x2F); /* CASET */
EXYNOS_DCS_WRITE_SEQ(ctx, 0x2B, 0x00, 0x00, 0x08, 0x9F); /* PASET */
+ /* SP */
+ if (ctx->panel_rev >= PANEL_REV_DVT1) {
+ EXYNOS_DCS_WRITE_TABLE(ctx, unlock_cmd_f0);
+ EXYNOS_DCS_WRITE_SEQ(ctx, 0xF1, 0x5A, 0x5A);
+ EXYNOS_DCS_WRITE_SEQ(ctx, 0xFC, 0x5A, 0x5A);
+ EXYNOS_DCS_WRITE_SEQ(ctx, 0xB0, 0x2B);
+ EXYNOS_DCS_WRITE_SEQ(ctx, 0xF5, 0x01);
+ EXYNOS_DCS_WRITE_SEQ(ctx, 0xB0, 0x15);
+ EXYNOS_DCS_WRITE_SEQ(ctx, 0xF5, 0x77, 0x77, 0x77, 0x77, 0x77);
+ EXYNOS_DCS_WRITE_SEQ(ctx, 0xB0, 0x75);
+ EXYNOS_DCS_WRITE_SEQ(ctx, 0xF5, 0x77, 0x77, 0x77, 0x77, 0x07, 0x07);
+ EXYNOS_DCS_WRITE_SEQ(ctx, 0xB0, 0x52);
+ EXYNOS_DCS_WRITE_SEQ(ctx, 0xF5, 0x64);
+ EXYNOS_DCS_WRITE_TABLE(ctx, lock_cmd_f0);
+ EXYNOS_DCS_WRITE_SEQ(ctx, 0xF1, 0xA5, 0xA5);
+ EXYNOS_DCS_WRITE_SEQ(ctx, 0xFC, 0xA5, 0xA5);
+ }
+
EXYNOS_DCS_WRITE_SEQ_DELAY(ctx, 110, 0x53, 0x20); /* backlight control */
ctx->enabled = true;
@@ -693,12 +711,20 @@ static void ana6707_f10_set_hbm_mode(struct exynos_panel *ctx,
ctx->hbm_mode = mode;
+ EXYNOS_DCS_WRITE_SEQ(ctx, 0xF0, 0x5A, 0x5A);
+
+ if (ctx->panel_rev >= PANEL_REV_DVT1) {
+ EXYNOS_DCS_WRITE_SEQ(ctx, 0xB0, 0x2C);
+ EXYNOS_DCS_WRITE_SEQ(ctx, 0xF4, IS_HBM_ON(mode) ? 0x22 : 0x23);
+ }
+
if (irc_update) {
- EXYNOS_DCS_WRITE_SEQ(ctx, 0xF0, 0x5A, 0x5A);
EXYNOS_DCS_WRITE_SEQ(ctx, 0xB0, 0x0C,);
EXYNOS_DCS_WRITE_SEQ(ctx, 0x92, IS_HBM_ON_IRC_OFF(mode) ? 0x85 : 0xA5);
- EXYNOS_DCS_WRITE_SEQ(ctx, 0xF0, 0xA5, 0xA5);
}
+
+ EXYNOS_DCS_WRITE_SEQ(ctx, 0xF0, 0xA5, 0xA5);
+
dev_info(ctx->dev, "IS_HBM_ON=%d IS_HBM_ON_IRC_OFF=%d\n", IS_HBM_ON(ctx->hbm_mode),
IS_HBM_ON_IRC_OFF(ctx->hbm_mode));
}