dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [RFC] What to base new driver for Raystar RDX0063 display panel using Sitronix ST75156 chip on?
@ 2025-11-12 15:08 Lars Rask
  2025-11-12 15:39 ` Marcus Folkesson
  0 siblings, 1 reply; 2+ messages in thread
From: Lars Rask @ 2025-11-12 15:08 UTC (permalink / raw)
  To: david@lechnology.com, marcus.folkesson@gmail.com,
	jagan@amarulasolutions.com, agx@sigxcpu.org,
	dri-devel@lists.freedesktop.org
  Cc: linux-kernel@vger.kernel.org, Kernel, Amir Dawd Seid,
	Johan Adolfsson, Daniel Larsson Persson

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

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

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [RFC] What to base new driver for Raystar RDX0063 display panel using Sitronix ST75156 chip on?
  2025-11-12 15:08 [RFC] What to base new driver for Raystar RDX0063 display panel using Sitronix ST75156 chip on? Lars Rask
@ 2025-11-12 15:39 ` Marcus Folkesson
  0 siblings, 0 replies; 2+ messages in thread
From: Marcus Folkesson @ 2025-11-12 15:39 UTC (permalink / raw)
  To: Lars Rask
  Cc: david@lechnology.com, jagan@amarulasolutions.com, agx@sigxcpu.org,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	Kernel, Amir Dawd Seid, Johan Adolfsson, Daniel Larsson Persson

[-- Attachment #1: Type: text/plain, Size: 2778 bytes --]

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-11-13  0:28 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-12 15:08 [RFC] What to base new driver for Raystar RDX0063 display panel using Sitronix ST75156 chip on? Lars Rask
2025-11-12 15:39 ` Marcus Folkesson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).