mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 09:39:00 +00:00
538a1d740c
The patches were generated from the RPi repo with the following command: git format-patch v6.6.58..rpi-6.6.y Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
83 lines
2.2 KiB
Diff
83 lines
2.2 KiB
Diff
From f955b7838f9ce72e48b29e58d65e0642d097c8b3 Mon Sep 17 00:00:00 2001
|
|
From: eng33 <eng33@waveshare.com>
|
|
Date: Wed, 4 Sep 2024 10:48:22 +0800
|
|
Subject: [PATCH 1239/1350] drivers:gpu:drm:panel: Added waveshare 5.0inch,
|
|
6.25inch, and 8.8inch dsi screen devices
|
|
|
|
Signed-off-by: eng33 <eng33@waveshare.com>
|
|
---
|
|
drivers/gpu/drm/panel/panel-waveshare-dsi.c | 55 +++++++++++++++++++++
|
|
1 file changed, 55 insertions(+)
|
|
|
|
--- a/drivers/gpu/drm/panel/panel-waveshare-dsi.c
|
|
+++ b/drivers/gpu/drm/panel/panel-waveshare-dsi.c
|
|
@@ -150,6 +150,51 @@ static const struct drm_display_mode ws_
|
|
.vtotal = 720 + 8 + 4 + 16,
|
|
};
|
|
|
|
+/* 5.0inch 720x1280
|
|
+ * https://www.waveshare.com/5inch-dsi-lcd-d.htm
|
|
+ */
|
|
+static const struct drm_display_mode ws_panel_5_0_mode = {
|
|
+ .clock = 83333,
|
|
+ .hdisplay = 720,
|
|
+ .hsync_start = 720 + 100,
|
|
+ .hsync_end = 720 + 100 + 80,
|
|
+ .htotal = 720 + 100 + 80 + 100,
|
|
+ .vdisplay = 1280,
|
|
+ .vsync_start = 1280 + 20,
|
|
+ .vsync_end = 1280 + 20 + 20,
|
|
+ .vtotal = 1280 + 20 + 20 + 20,
|
|
+};
|
|
+
|
|
+/* 6.25inch 720x1560
|
|
+ * https://www.waveshare.com/6.25inch-dsi-lcd.htm
|
|
+ */
|
|
+static const struct drm_display_mode ws_panel_6_25_mode = {
|
|
+ .clock = 83333,
|
|
+ .hdisplay = 720,
|
|
+ .hsync_start = 720 + 50,
|
|
+ .hsync_end = 720 + 50 + 50,
|
|
+ .htotal = 720 + 50 + 50 + 50,
|
|
+ .vdisplay = 1560,
|
|
+ .vsync_start = 1560 + 20,
|
|
+ .vsync_end = 1560 + 20 + 20,
|
|
+ .vtotal = 1560 + 20 + 20 + 20,
|
|
+};
|
|
+
|
|
+/* 8.8inch 480x1920
|
|
+ * https://www.waveshare.com/8.8inch-dsi-lcd.htm
|
|
+ */
|
|
+static const struct drm_display_mode ws_panel_8_8_mode = {
|
|
+ .clock = 83333,
|
|
+ .hdisplay = 480,
|
|
+ .hsync_start = 480 + 50,
|
|
+ .hsync_end = 480 + 50 + 50,
|
|
+ .htotal = 480 + 50 + 50 + 50,
|
|
+ .vdisplay = 1920,
|
|
+ .vsync_start = 1920 + 20,
|
|
+ .vsync_end = 1920 + 20 + 20,
|
|
+ .vtotal = 1920 + 20 + 20 + 20,
|
|
+};
|
|
+
|
|
static struct ws_panel *panel_to_ts(struct drm_panel *panel)
|
|
{
|
|
return container_of(panel, struct ws_panel, base);
|
|
@@ -413,6 +458,16 @@ static const struct of_device_id ws_pane
|
|
.compatible = "waveshare,4inch-panel",
|
|
.data = &ws_panel_4_mode,
|
|
}, {
|
|
+ .compatible = "waveshare,5.0inch-panel",
|
|
+ .data = &ws_panel_5_0_mode,
|
|
+ }, {
|
|
+ .compatible = "waveshare,6.25inch-panel",
|
|
+ .data = &ws_panel_6_25_mode,
|
|
+ }, {
|
|
+ .compatible = "waveshare,8.8inch-panel",
|
|
+ .data = &ws_panel_8_8_mode,
|
|
+ }, {
|
|
+ }, {
|
|
/* sentinel */
|
|
}
|
|
};
|