]> git.ipfire.org Git - thirdparty/openwrt.git/blob
96e3b478d4e5c33aabe64ccca7825f6840a23617
[thirdparty/openwrt.git] /
1 From f955b7838f9ce72e48b29e58d65e0642d097c8b3 Mon Sep 17 00:00:00 2001
2 From: eng33 <eng33@waveshare.com>
3 Date: Wed, 4 Sep 2024 10:48:22 +0800
4 Subject: [PATCH 1239/1350] drivers:gpu:drm:panel: Added waveshare 5.0inch,
5 6.25inch, and 8.8inch dsi screen devices
6
7 Signed-off-by: eng33 <eng33@waveshare.com>
8 ---
9 drivers/gpu/drm/panel/panel-waveshare-dsi.c | 55 +++++++++++++++++++++
10 1 file changed, 55 insertions(+)
11
12 --- a/drivers/gpu/drm/panel/panel-waveshare-dsi.c
13 +++ b/drivers/gpu/drm/panel/panel-waveshare-dsi.c
14 @@ -150,6 +150,51 @@ static const struct drm_display_mode ws_
15 .vtotal = 720 + 8 + 4 + 16,
16 };
17
18 +/* 5.0inch 720x1280
19 + * https://www.waveshare.com/5inch-dsi-lcd-d.htm
20 + */
21 +static const struct drm_display_mode ws_panel_5_0_mode = {
22 + .clock = 83333,
23 + .hdisplay = 720,
24 + .hsync_start = 720 + 100,
25 + .hsync_end = 720 + 100 + 80,
26 + .htotal = 720 + 100 + 80 + 100,
27 + .vdisplay = 1280,
28 + .vsync_start = 1280 + 20,
29 + .vsync_end = 1280 + 20 + 20,
30 + .vtotal = 1280 + 20 + 20 + 20,
31 +};
32 +
33 +/* 6.25inch 720x1560
34 + * https://www.waveshare.com/6.25inch-dsi-lcd.htm
35 + */
36 +static const struct drm_display_mode ws_panel_6_25_mode = {
37 + .clock = 83333,
38 + .hdisplay = 720,
39 + .hsync_start = 720 + 50,
40 + .hsync_end = 720 + 50 + 50,
41 + .htotal = 720 + 50 + 50 + 50,
42 + .vdisplay = 1560,
43 + .vsync_start = 1560 + 20,
44 + .vsync_end = 1560 + 20 + 20,
45 + .vtotal = 1560 + 20 + 20 + 20,
46 +};
47 +
48 +/* 8.8inch 480x1920
49 + * https://www.waveshare.com/8.8inch-dsi-lcd.htm
50 + */
51 +static const struct drm_display_mode ws_panel_8_8_mode = {
52 + .clock = 83333,
53 + .hdisplay = 480,
54 + .hsync_start = 480 + 50,
55 + .hsync_end = 480 + 50 + 50,
56 + .htotal = 480 + 50 + 50 + 50,
57 + .vdisplay = 1920,
58 + .vsync_start = 1920 + 20,
59 + .vsync_end = 1920 + 20 + 20,
60 + .vtotal = 1920 + 20 + 20 + 20,
61 +};
62 +
63 static struct ws_panel *panel_to_ts(struct drm_panel *panel)
64 {
65 return container_of(panel, struct ws_panel, base);
66 @@ -413,6 +458,16 @@ static const struct of_device_id ws_pane
67 .compatible = "waveshare,4inch-panel",
68 .data = &ws_panel_4_mode,
69 }, {
70 + .compatible = "waveshare,5.0inch-panel",
71 + .data = &ws_panel_5_0_mode,
72 + }, {
73 + .compatible = "waveshare,6.25inch-panel",
74 + .data = &ws_panel_6_25_mode,
75 + }, {
76 + .compatible = "waveshare,8.8inch-panel",
77 + .data = &ws_panel_8_8_mode,
78 + }, {
79 + }, {
80 /* sentinel */
81 }
82 };