mbox series

[0/3] Galaxy S2 (i9100) panel updates

Message ID 20230703214715.623447-1-paul@crapouillou.net
Headers show
Series Galaxy S2 (i9100) panel updates | expand

Message

Paul Cercueil July 3, 2023, 9:47 p.m. UTC
Hi,

Here's a small patchset that I created while playing with PostmarketOS
on my Samsung Galaxy S2.

The first two patches update the LD9040 panel driver so that it looks
much better, and supports setting the backlight.

The third patch fixes the size of the panel in the Device Tree. The
previous values were completely bogus and caused Phosh (PmOS' UI) to
display tiny icons and text as it thought the DPI was much lower.

Cheers,
-Paul

Paul Cercueil (3):
  drm/panel: ld9040: Use better magic values
  drm/panel: ld9040: Register a backlight device
  ARM: dts: exynos/i9100: Fix LCD screen's physical size

 arch/arm/boot/dts/exynos4210-i9100.dts       |  4 +-
 drivers/gpu/drm/panel/panel-samsung-ld9040.c | 51 ++++++++++++++++++--
 2 files changed, 48 insertions(+), 7 deletions(-)

Comments

Neil Armstrong July 5, 2023, 1:55 p.m. UTC | #1
Hi

On 03/07/2023 23:47, Paul Cercueil wrote:
> I have no idea what the prior magic values mean, and I have no idea
> what my replacement (extracted from [1]) magic values mean.
> 
> What I do know, is that these new values result in a much better
> picture, where the blacks are really black (as you would expect on an
> AMOLED display) instead of grey-ish.
> 
> [1] https://github.com/dorimanx/Dorimanx-SG2-I9100-Kernel/blob/master-jelly-bean/arch/arm/mach-exynos/u1-panel.h
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> ---
>   drivers/gpu/drm/panel/panel-samsung-ld9040.c | 11 ++++++-----
>   1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/panel/panel-samsung-ld9040.c b/drivers/gpu/drm/panel/panel-samsung-ld9040.c
> index 01eb211f32f7..7fd9444b42c5 100644
> --- a/drivers/gpu/drm/panel/panel-samsung-ld9040.c
> +++ b/drivers/gpu/drm/panel/panel-samsung-ld9040.c
> @@ -180,17 +180,18 @@ static void ld9040_init(struct ld9040 *ctx)
>   {
>   	ld9040_dcs_write_seq_static(ctx, MCS_USER_SETTING, 0x5a, 0x5a);
>   	ld9040_dcs_write_seq_static(ctx, MCS_PANEL_CONDITION,
> -		0x05, 0x65, 0x96, 0x71, 0x7d, 0x19, 0x3b, 0x0d,
> -		0x19, 0x7e, 0x0d, 0xe2, 0x00, 0x00, 0x7e, 0x7d,
> -		0x07, 0x07, 0x20, 0x20, 0x20, 0x02, 0x02);
> +		0x05, 0x5e, 0x96, 0x6b, 0x7d, 0x0d, 0x3f, 0x00,
> +		0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> +		0x07, 0x05, 0x1f, 0x1f, 0x1f, 0x00, 0x00);
>   	ld9040_dcs_write_seq_static(ctx, MCS_DISPCTL,
> -		0x02, 0x08, 0x08, 0x10, 0x10);
> +		0x02, 0x06, 0x0a, 0x10, 0x10);
>   	ld9040_dcs_write_seq_static(ctx, MCS_MANPWR, 0x04);
>   	ld9040_dcs_write_seq_static(ctx, MCS_POWER_CTRL,
>   		0x0a, 0x87, 0x25, 0x6a, 0x44, 0x02, 0x88);
> -	ld9040_dcs_write_seq_static(ctx, MCS_ELVSS_ON, 0x0d, 0x00, 0x16);
> +	ld9040_dcs_write_seq_static(ctx, MCS_ELVSS_ON, 0x0f, 0x00, 0x16);
>   	ld9040_dcs_write_seq_static(ctx, MCS_GTCON, 0x09, 0x00, 0x00);
>   	ld9040_brightness_set(ctx);
> +

You can drop this spurious new line for v2

>   	ld9040_dcs_write_seq_static(ctx, MIPI_DCS_EXIT_SLEEP_MODE);
>   	ld9040_dcs_write_seq_static(ctx, MIPI_DCS_SET_DISPLAY_ON);
>   }

And add

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>

Neil