[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aRSqQ8AFWhUFlOyT@gmail.com>
Date: Wed, 12 Nov 2025 16:39:47 +0100
From: Marcus Folkesson <marcus.folkesson@...il.com>
To: Lars Rask <Lars.Rask@...s.com>
Cc: "david@...hnology.com" <david@...hnology.com>,
"jagan@...rulasolutions.com" <jagan@...rulasolutions.com>,
"agx@...xcpu.org" <agx@...xcpu.org>,
"dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Kernel <Kernel@...s.com>, Amir Dawd Seid <Amir.Seid@...s.com>,
Johan Adolfsson <Johan.Adolfsson@...s.com>,
Daniel Larsson Persson <Daniel.Larsson.Persson@...s.com>
Subject: Re: [RFC] What to base new driver for Raystar RDX0063 display panel
using Sitronix ST75156 chip on?
Hi Lars,
On Wed, Nov 12, 2025 at 03:08:08PM +0000, Lars Rask wrote:
> Hi,
> I'm trying to create a driver for a small lcd display called Raystar RDX0063 that is using the
> Sitronix ST75156 chip. The display is used in SPI 4 wire mode similar to many other tiny MIPI
> DBI displays, but the register set and framebuffer format is not MIPI DBI compliant, since each
> byte sent is actually 1 column of 8 rows.
>
> The datasheets for the Raystar RDX0063 display and the Sitronix ST75156 chip are unfortunately
> not publicly available, but you can find the datasheet for Sitronix ST7567 (which is similar to
> ST75156) here: https://www.topwaydisplay.com/sites/default/files/2020-05/ST7567.pdf
Support for ST7567 is mainlined (st7571 driver), and once this [1] series
is applied, it should also support the SPI interface.
Hard to tell without seeing the datasheet for ST75156, but if it's
similar to ST7567, you might be able to just add an entry in the st7571
driver for it.
>
> The main difference seems to be that ST75156 supports a higher resolution than ST7567,
> as can be seen here:
> https://www.sitronix.com.tw/en/products/industrial-display-driver-ic/mono-stn-lcd-driver-ic
This is how st7567 is defined:
const struct st7571_panel_data st7567_config = {
.init = st7567_lcd_init,
.parse_dt = st7567_parse_dt,
.constraints = {
.min_nlines = 1,
.max_nlines = 64,
.min_ncols = 128,
.max_ncols = 128,
.support_grayscale = false,
},
};
I think a similar structure for ST75156 with is enough.
>
> As a first attempt to create the driver, the panel-mipi-dbi driver was extended with "tweaks"
> to support non MIPI DBI panels. This seems to work. However, after some discussion with the
> maintainer that is no longer active (https://github.com/notro/panel-mipi-dbi/discussions/14)
> the conclusion was that these "tweaks" were not upstreamable, and that I need to create a new
> driver specifically for the Raystar RDX0063 display panel using the Sitronix st75156 chip
> instead.
>
> In order to make my driver upstreamable, which driver should I be "inspired" by (i.e copy and modify)
> and base my work on? The drivers in drivers/gpu/drm/sitronix/ and drivers/gpu/drm/tiny/ usually uses
> struct mipi_dbi_dev and mipi_db_command() helpers, but drivers/gpu/drm/panel/panel-sitronix-st7789v.c
> does not.
>
> Should I create my new driver as /gpu/drm/sitronix/st75156.c and use mipi_dbi helpers where applicable?
> If it is preferable to avoid using the mipi dbi helpers, is there another set of helper functions that
> I should use instead?
>
> Best regards
> /Lars Rask
[1] https://lists.freedesktop.org/archives/dri-devel/2025-October/532431.html
Best regards,
Marcus Folkesson
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists