diff options
author | PixelBot AutoMerger <android-nexus-securitybot@system.gserviceaccount.com> | 2023-01-08 18:53:35 -0800 |
---|---|---|
committer | SecurityBot <android-nexus-securitybot@system.gserviceaccount.com> | 2023-01-08 18:53:35 -0800 |
commit | 25e9538be4df202338e2ec46d1bff6dcf1d052ea (patch) | |
tree | c03e0a0c51aa05f90dada9d6dc60b880f16ddd90 | |
parent | 754aafa4abfc421407a41674dbc89500fe6c773d (diff) | |
parent | a04ee75d0596883936ec0f35454ce1571299abb9 (diff) | |
download | felix-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.c | 30 |
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)); } |