diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README index 3076ead83fe8d..6356b356221d4 100644 --- a/arch/arm/boot/dts/overlays/README +++ b/arch/arm/boot/dts/overlays/README @@ -5937,6 +5937,7 @@ Params: 2_8_inch 2.8" 480x640 4_0_inchC 4.0" 720x720 5_0_inch 5.0" 720x1280 6_25_inch 6.25" 720x1560 + 6_25_inchB 6.25" B 720x1560 8_8_inch 8.8" 480x1920 7_0_inchC 7.0" C 1024x600 7_0_inchH 7.0" H 1280x720 diff --git a/arch/arm/boot/dts/overlays/vc4-kms-dsi-waveshare-panel-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-dsi-waveshare-panel-overlay.dts index c9faf02c907f6..7af0f3763fc40 100644 --- a/arch/arm/boot/dts/overlays/vc4-kms-dsi-waveshare-panel-overlay.dts +++ b/arch/arm/boot/dts/overlays/vc4-kms-dsi-waveshare-panel-overlay.dts @@ -125,6 +125,9 @@ 6_25_inch = <&panel>, "compatible=waveshare,6.25inch-panel", <&touch>, "touchscreen-inverted-x?", <&touch>, "touchscreen-inverted-y?"; + 6_25_inchB = <&panel>, "compatible=waveshare,6.25inch-b-panel", + <&touch>, "touchscreen-inverted-x?", + <&touch>, "touchscreen-inverted-y?"; 8_8_inch = <&panel>, "compatible=waveshare,8.8inch-panel"; 13_3_inch_4lane = <&panel>, "compatible=waveshare,13.3inch-4lane-panel", <&touch2>, "status=okay"; diff --git a/drivers/gpu/drm/panel/panel-waveshare-dsi.c b/drivers/gpu/drm/panel/panel-waveshare-dsi.c index 711b4c36c62f4..02e1bd9fa15a2 100644 --- a/drivers/gpu/drm/panel/panel-waveshare-dsi.c +++ b/drivers/gpu/drm/panel/panel-waveshare-dsi.c @@ -246,6 +246,27 @@ static const struct ws_panel_data ws_panel_6_25_data = { .mode_flags = MIPI_DSI_MODE_VIDEO_HSE | MIPI_DSI_MODE_VIDEO | MIPI_DSI_CLOCK_NON_CONTINUOUS, }; +/* 6.25inch B 720x1560 + * https://www.waveshare.com/6.25inch-dsi-lcd-b.htm + */ +static const struct drm_display_mode ws_panel_6_25_b_mode = { + .clock = 83333, + .hdisplay = 720, + .hsync_start = 720 + 50, + .hsync_end = 720 + 50 + 50, + .htotal = 720 + 50 + 50 + 50, + .vdisplay = 1560, + .vsync_start = 1560 + 9, + .vsync_end = 1560 + 9 + 9, + .vtotal = 1560 + 9 + 9 + 9, +}; + +static const struct ws_panel_data ws_panel_6_25_b_data = { + .mode = &ws_panel_6_25_b_mode, + .lanes = 2, + .mode_flags = MIPI_DSI_MODE_VIDEO_HSE | MIPI_DSI_MODE_VIDEO | MIPI_DSI_CLOCK_NON_CONTINUOUS, +}; + /* 8.8inch 480x1920 * https://www.waveshare.com/8.8inch-dsi-lcd.htm */ @@ -599,6 +620,9 @@ static const struct of_device_id ws_panel_of_ids[] = { }, { .compatible = "waveshare,6.25inch-panel", .data = &ws_panel_6_25_data, + }, { + .compatible = "waveshare,6.25inch-b-panel", + .data = &ws_panel_6_25_b_data, }, { .compatible = "waveshare,8.8inch-panel", .data = &ws_panel_8_8_data,