From: Sebastian Reichel <sre@kernel.org>
To: Sebastian Reichel <sre@kernel.org>
Cc: Gerald Loacker <gerald.loacker@wolfvision.net>,
Michael Riesch <michael.riesch@wolfvision.net>,
Miquel Raynal <miquel.raynal@bootlin.com>,
Thierry Reding <thierry.reding@gmail.com>,
Sam Ravnborg <sam@ravnborg.org>, David Airlie <airlied@gmail.com>,
Daniel Vetter <daniel@ffwll.ch>, Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
devicetree@vger.kernel.org
Subject: [PATCH v3 13/19] drm/panel: sitronix-st7789v: add Inanbo T28CP45TN89 support
Date: Fri, 14 Jul 2023 03:37:50 +0200 [thread overview]
Message-ID: <20230714013756.1546769-14-sre@kernel.org> (raw)
In-Reply-To: <20230714013756.1546769-1-sre@kernel.org>
UNI-T UTi260b has a Inanbo T28CP45TN89 v17 panel. I could not find
proper documentation for the panel apart from a technical drawing, but
according to the vendor U-Boot it is based on a Sitronix st7789v chip.
I generated the init sequence by modifying the default one until proper
graphics output has been seen on the device.
Reviewed-by: Michael Riesch <michael.riesch@wolfvision.net>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
---
.../gpu/drm/panel/panel-sitronix-st7789v.c | 25 +++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7789v.c b/drivers/gpu/drm/panel/panel-sitronix-st7789v.c
index 94c805c79d05..55e475471f43 100644
--- a/drivers/gpu/drm/panel/panel-sitronix-st7789v.c
+++ b/drivers/gpu/drm/panel/panel-sitronix-st7789v.c
@@ -173,6 +173,21 @@ static const struct drm_display_mode default_mode = {
.flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC,
};
+static const struct drm_display_mode t28cp45tn89_mode = {
+ .clock = 6008,
+ .hdisplay = 240,
+ .hsync_start = 240 + 38,
+ .hsync_end = 240 + 38 + 10,
+ .htotal = 240 + 38 + 10 + 10,
+ .vdisplay = 320,
+ .vsync_start = 320 + 8,
+ .vsync_end = 320 + 8 + 4,
+ .vtotal = 320 + 8 + 4 + 4,
+ .width_mm = 43,
+ .height_mm = 57,
+ .flags = DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_NVSYNC,
+};
+
static const struct st7789_panel_info default_panel = {
.mode = &default_mode,
.invert_mode = true,
@@ -181,6 +196,14 @@ static const struct st7789_panel_info default_panel = {
DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE,
};
+static const struct st7789_panel_info t28cp45tn89_panel = {
+ .mode = &t28cp45tn89_mode,
+ .invert_mode = false,
+ .bus_format = MEDIA_BUS_FMT_RGB565_1X16,
+ .bus_flags = DRM_BUS_FLAG_DE_HIGH |
+ DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE,
+};
+
static int st7789v_get_modes(struct drm_panel *panel,
struct drm_connector *connector)
{
@@ -446,12 +469,14 @@ static void st7789v_remove(struct spi_device *spi)
static const struct spi_device_id st7789v_spi_id[] = {
{ "st7789v", (unsigned long) &default_panel },
+ { "t28cp45tn89-v17", (unsigned long) &t28cp45tn89_panel },
{ }
};
MODULE_DEVICE_TABLE(spi, st7789v_spi_id);
static const struct of_device_id st7789v_of_match[] = {
{ .compatible = "sitronix,st7789v", .data = &default_panel },
+ { .compatible = "inanbo,t28cp45tn89-v17", .data = &t28cp45tn89_panel },
{ }
};
MODULE_DEVICE_TABLE(of, st7789v_of_match);
--
2.40.1
next prev parent reply other threads:[~2023-07-14 1:38 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-14 1:37 [PATCH v3 00/19] Sitronix ST7789V improvements Sebastian Reichel
2023-07-14 1:37 ` [PATCH v3 01/19] dt-bindings: vendor-prefixes: add Inanbo Sebastian Reichel
2023-07-14 1:37 ` [PATCH v3 02/19] dt-bindings: display: st7789v: add Inanbo T28CP45TN89 Sebastian Reichel
2023-07-14 1:37 ` [PATCH v3 03/19] drm/panel: sitronix-st7789v: add SPI ID table Sebastian Reichel
2023-07-14 1:37 ` [PATCH v3 04/19] drm/panel: sitronix-st7789v: remove unused constants Sebastian Reichel
2023-07-14 1:37 ` [PATCH v3 05/19] drm/panel: sitronix-st7789v: make reset GPIO optional Sebastian Reichel
2023-07-14 1:37 ` [PATCH v3 06/19] drm/panel: sitronix-st7789v: simplify st7789v_spi_write Sebastian Reichel
2023-07-14 1:37 ` [PATCH v3 07/19] drm/panel: sitronix-st7789v: improve error handling Sebastian Reichel
2023-07-14 1:37 ` [PATCH v3 08/19] drm/panel: sitronix-st7789v: avoid hardcoding mode info Sebastian Reichel
2023-07-14 1:37 ` [PATCH v3 09/19] drm/panel: sitronix-st7789v: avoid hardcoding panel size Sebastian Reichel
2023-07-14 1:37 ` [PATCH v3 10/19] drm/panel: sitronix-st7789v: add media bus format Sebastian Reichel
2023-07-14 1:37 ` [PATCH v3 11/19] drm/panel: sitronix-st7789v: avoid hardcoding invert mode Sebastian Reichel
2023-07-14 1:37 ` [PATCH v3 12/19] drm/panel: sitronix-st7789v: avoid hardcoding polarity info Sebastian Reichel
2023-07-14 1:37 ` Sebastian Reichel [this message]
2023-07-14 1:37 ` [PATCH v3 14/19] dt-bindings: display: st7789v: Add the edt,et028013dma panel compatible Sebastian Reichel
2023-07-14 1:37 ` [PATCH v3 15/19] dt-bindings: display: st7789v: bound the number of Rx data lines Sebastian Reichel
2023-07-14 1:37 ` [PATCH v3 16/19] drm/panel: sitronix-st7789v: Use 9 bits per spi word by default Sebastian Reichel
2023-07-14 1:37 ` [PATCH v3 17/19] drm/panel: sitronix-st7789v: Clarify a definition Sebastian Reichel
2023-07-14 1:37 ` [PATCH v3 18/19] drm/panel: sitronix-st7789v: Add EDT ET028013DMA panel support Sebastian Reichel
2023-07-14 1:37 ` [PATCH v3 19/19] drm/panel: sitronix-st7789v: Check display ID Sebastian Reichel
2023-07-15 15:05 ` [PATCH v3 00/19] Sitronix ST7789V improvements Miquel Raynal
2023-08-01 8:33 ` Neil Armstrong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230714013756.1546769-14-sre@kernel.org \
--to=sre@kernel.org \
--cc=airlied@gmail.com \
--cc=daniel@ffwll.ch \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=gerald.loacker@wolfvision.net \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michael.riesch@wolfvision.net \
--cc=miquel.raynal@bootlin.com \
--cc=robh+dt@kernel.org \
--cc=sam@ravnborg.org \
--cc=thierry.reding@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).