From 5f75eb4ed63bb6a15fa33d94e87c0537cc9b7c12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Soja?= Date: Thu, 27 Feb 2025 22:27:03 +0100 Subject: [PATCH 1/2] drivers: staging: fbtft: Fix fb_ssd1306 driver for 128x32 Display --- drivers/staging/fbtft/fb_ssd1306.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/staging/fbtft/fb_ssd1306.c b/drivers/staging/fbtft/fb_ssd1306.c index 6cf9df579e88b6..5dad316ee99e64 100644 --- a/drivers/staging/fbtft/fb_ssd1306.c +++ b/drivers/staging/fbtft/fb_ssd1306.c @@ -133,6 +133,20 @@ static void set_addr_win_64x48(struct fbtft_par *par) write_reg(par, 0x5); } + +static void set_addr_win_128x32(struct fbtft_par *par) +{ + /* Set Column Address */ + write_reg(par, 0x21); + write_reg(par, 0x00); + write_reg(par, 0x7F); + + /* Set Page Address */ + write_reg(par, 0x22); + write_reg(par, 0x00); + write_reg(par, 0x03); +} + static void set_addr_win(struct fbtft_par *par, int xs, int ys, int xe, int ye) { /* Set Lower Column Start Address for Page Addressing Mode */ @@ -144,6 +158,8 @@ static void set_addr_win(struct fbtft_par *par, int xs, int ys, int xe, int ye) if (par->info->var.xres == 64 && par->info->var.yres == 48) set_addr_win_64x48(par); + else if (par->info->var.xres == 128 && par->info->var.yres == 32) + set_addr_win_128x32(par); } static int blank(struct fbtft_par *par, bool on) From 2a6655a7220c69fb4ba9ff704a1738c7c0e1f5e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Soja?= Date: Fri, 28 Feb 2025 08:52:08 +0100 Subject: [PATCH 2/2] remove extra line --- drivers/staging/fbtft/fb_ssd1306.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/fbtft/fb_ssd1306.c b/drivers/staging/fbtft/fb_ssd1306.c index 5dad316ee99e64..5032211afd8773 100644 --- a/drivers/staging/fbtft/fb_ssd1306.c +++ b/drivers/staging/fbtft/fb_ssd1306.c @@ -133,7 +133,6 @@ static void set_addr_win_64x48(struct fbtft_par *par) write_reg(par, 0x5); } - static void set_addr_win_128x32(struct fbtft_par *par) { /* Set Column Address */