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

Reply via email to