Compare commits

...

3 Commits

Author SHA1 Message Date
Dave Stevenson
1f20417593 dtoverlays: tc358743: Update legacy compatible frag with cam0 override
The non-pi5 variant of tc358743 needs to update the compatible of
csi0 rather than csi1 if the cam0 override is used, otherwise it
gets loaded in Media Controller mode.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
2025-11-17 16:08:32 +00:00
Waveshare_Team
3cc7a5962d arch/arm/boot/dts/overlays : Add Waveshare 7-DSI-TOUCH-C screen support
Signed-off-by: Waveshare_Team <support@waveshare.com>
2025-11-17 12:07:18 +00:00
Waveshare_Team
51e43025ca drivers/gpu/drm/panel : Add Waveshare 7-DSI-TOUCH-C screen support
Signed-off-by: Waveshare_Team <support@waveshare.com>
2025-11-17 12:07:18 +00:00
4 changed files with 53 additions and 1 deletions

View File

@@ -5755,6 +5755,7 @@ Params: 3_4_inch_c 3.4" 800x800 2lane
5_5_inch_a 5.5" 720x1280 2lane
7_0_inch_a 7.0" A 720x1280 2lane
7_0_inch_b 7.0" B 720x1280 2lane
7_0_inch_c 7.0" C 1024x600 2lane
8_0_inch_a 8.0" 800x1280 2lane
8_0_inch_a_4lane 8.0" 800x1280 4lane
8_8_inch_a 8.8" 480x1920 2lane

View File

@@ -8,7 +8,7 @@
/ {
compatible = "brcm,bcm2835";
fragment@100 {
legacy_frag: fragment@100 {
target = <&csi1>;
__overlay__ {
compatible = "brcm,bcm2835-unicam-legacy";
@@ -17,5 +17,12 @@
__overrides__ {
media-controller = <0>,"!100";
// Overwrites the cam0 override from tc358743.dtsi as we need to
// update legacy_frag.
cam0 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi0>,
<&csi_frag>, "target:0=",<&csi0>,
<&clk_frag>, "target:0=",<&cam0_clk>,
<&tc358743>, "clocks:0=",<&cam0_clk>,
<&legacy_frag>, "target:0=",<&csi0>;
};
};

View File

@@ -84,6 +84,7 @@
5_5_inch_a = <&dsi_panel>, "compatible=waveshare,5.5-dsi-touch-a";
7_0_inch_a = <&dsi_panel>, "compatible=waveshare,7.0-dsi-touch-a";
7_0_inch_b = <&dsi_panel>, "compatible=waveshare,7.0-dsi-touch-b";
7_0_inch_c = <&dsi_panel>, "compatible=waveshare,7.0-dsi-touch-c";
8_0_inch_a = <&dsi_panel>, "compatible=waveshare,8.0-dsi-touch-a";
8_0_inch_a_4lane = <&dsi_panel>, "compatible=waveshare,8.0-dsi-touch-a-4lane";
8_8_inch_a = <&dsi_panel>, "compatible=waveshare,8.8-dsi-touch-a";

View File

@@ -1374,6 +1374,25 @@ static const struct panel_init_cmd ws_panel_7_a_init[] = {
{},
};
static const struct panel_init_cmd ws_panel_7_c_init[] = {
_INIT_DCS_CMD(0x80, 0x8B),
_INIT_DCS_CMD(0x81, 0x78),
_INIT_DCS_CMD(0x82, 0x84),
_INIT_DCS_CMD(0x83, 0x88),
_INIT_DCS_CMD(0x84, 0xA8),
_INIT_DCS_CMD(0x85, 0xE3),
_INIT_DCS_CMD(0x86, 0x88),
_INIT_DCS_CMD(0x87, 0x5A),
_INIT_DCS_CMD(0xB0, 0x80),
_INIT_DCS_CMD(0xB1, 0x30),
_INIT_DCS_CMD(0xB2, 0x50),
_INIT_DCS_CMD(0x11),
_INIT_DELAY_CMD(120),
_INIT_DCS_CMD(0x29),
_INIT_DELAY_CMD(20),
{},
};
static const struct panel_init_cmd ws_panel_5_5_a_init[] = {
_INIT_DCS_CMD(0xB9, 0xFF, 0x83, 0x94),
_INIT_DCS_CMD(0xBA, 0x61, 0x03, 0x68, 0x6B, 0xB2, 0xC0),
@@ -1902,6 +1921,20 @@ static const struct drm_display_mode ws_panel_7_a_mode = {
.height_mm = 154,
};
static const struct drm_display_mode ws_panel_7_c_mode = {
.clock = 51700,
.hdisplay = 1024,
.hsync_start = 1024 + 160,
.hsync_end = 1024 + 160 + 10,
.htotal = 1024 + 160 + 10 + 160,
.vdisplay = 600,
.vsync_start = 600 + 12,
.vsync_end = 600 + 12 + 1,
.vtotal = 600 + 12 + 1 + 23,
.width_mm = 154,
.height_mm = 85,
};
static const struct drm_display_mode ws_panel_5_5_a_mode = {
.clock = 65000,
.hdisplay = 720,
@@ -2201,6 +2234,15 @@ static const struct ws_panel_desc ws_panel_7_inch_a_desc = {
.format = MIPI_DSI_FMT_RGB888,
};
static const struct ws_panel_desc ws_panel_7_inch_c_desc = {
.init = ws_panel_7_c_init,
.mode = &ws_panel_7_c_mode,
.mode_flags = MIPI_DSI_MODE_VIDEO_HSE | MIPI_DSI_MODE_VIDEO |
MIPI_DSI_MODE_LPM | MIPI_DSI_CLOCK_NON_CONTINUOUS,
.lanes = 2,
.format = MIPI_DSI_FMT_RGB888,
};
static const struct ws_panel_desc ws_panel_5_5_inch_a_desc = {
.init = ws_panel_5_5_a_init,
.mode = &ws_panel_5_5_a_mode,
@@ -2258,6 +2300,7 @@ static const struct of_device_id ws_panel_of_match[] = {
{ .compatible = "waveshare,8.0-dsi-touch-a", &ws_panel_8_inch_a_desc },
{ .compatible = "waveshare,7.0-dsi-touch-a", &ws_panel_7_inch_a_desc },
{ .compatible = "waveshare,7.0-dsi-touch-b", &ws_panel_7_inch_a_desc },
{ .compatible = "waveshare,7.0-dsi-touch-c", &ws_panel_7_inch_c_desc },
{ .compatible = "waveshare,5.5-dsi-touch-a",
&ws_panel_5_5_inch_a_desc },
{ .compatible = "waveshare,5.0-dsi-touch-a", &ws_panel_5_inch_a_desc },