From 24e6eb72434a3aea0fa66c2b8be5b7cf8325a04c Mon Sep 17 00:00:00 2001 From: Yu Dukai <646689853@qq.com> Date: Wed, 21 Oct 2026 12:10:58 +0800 Subject: [PATCH 1/3] dt-bindings: display: panel: waveshare: Use valid compatible strings A compatible string takes the form "vendor,model" and may only contain a single comma, so "waveshare,9.0-dsi-touch-b,4lane" and the other 4-lane entries are not valid. Replace them with the "-4lane" suffix already used by the 8.0" and 10.1" a variants. The missing Waveshare 10.1-DSI-TOUCH-E entry is added at the same time. Signed-off-by: Yu Dukai <646689853@qq.com> --- .../bindings/display/panel/waveshare,dsi-touch.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Documentation/devicetree/bindings/display/panel/waveshare,dsi-touch.yaml b/Documentation/devicetree/bindings/display/panel/waveshare,dsi-touch.yaml index b5579ac35b4205..ad956962766408 100644 --- a/Documentation/devicetree/bindings/display/panel/waveshare,dsi-touch.yaml +++ b/Documentation/devicetree/bindings/display/panel/waveshare,dsi-touch.yaml @@ -31,12 +31,13 @@ properties: - waveshare,8.0-dsi-touch-a-4lane - waveshare,8.8-dsi-touch-a - waveshare,9.0-dsi-touch-b - - waveshare,9.0-dsi-touch-b,4lane + - waveshare,9.0-dsi-touch-b-4lane - waveshare,10.1-dsi-touch-a - waveshare,10.1-dsi-touch-a-4lane - waveshare,10.1-dsi-touch-b - - waveshare,10.1-dsi-touch-b,4lane - - waveshare,12.3-dsi-touch-a,4lane + - waveshare,10.1-dsi-touch-b-4lane + - waveshare,10.1-dsi-touch-e-4lane + - waveshare,12.3-dsi-touch-a-4lane reg: description: DSI virtual channel From 02d0cb6248081a42f6ffffdfa320ac59f762f5b0 Mon Sep 17 00:00:00 2001 From: Yu Dukai <646689853@qq.com> Date: Wed, 21 Oct 2026 12:11:00 +0800 Subject: [PATCH 2/3] drm/panel: waveshare-dsi-v2: Use valid compatible strings for 4-lane panels Use a single comma in the compatible strings of the 4-lane panels, as required by the DT specification and as already done for the 8.0" and 10.1" a variants. The old strings are not retained as aliases, since a panel is selected through the overlay parameter rather than the compatible string. Signed-off-by: Yu Dukai <646689853@qq.com> --- drivers/gpu/drm/panel/panel-waveshare-dsi-v2.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-waveshare-dsi-v2.c b/drivers/gpu/drm/panel/panel-waveshare-dsi-v2.c index 746c08e42b2b14..c6cc003a353379 100644 --- a/drivers/gpu/drm/panel/panel-waveshare-dsi-v2.c +++ b/drivers/gpu/drm/panel/panel-waveshare-dsi-v2.c @@ -2544,19 +2544,19 @@ static const struct ws_panel_desc ws_panel_3_4_inch_c_desc = { }; static const struct of_device_id ws_panel_of_match[] = { - { .compatible = "waveshare,12.3-dsi-touch-a,4lane", + { .compatible = "waveshare,12.3-dsi-touch-a-4lane", &ws_panel_12_3_inch_a_4lane_desc }, { .compatible = "waveshare,10.1-dsi-touch-a-4lane", &ws_panel_10_1_inch_a_4lane_desc }, { .compatible = "waveshare,10.1-dsi-touch-a", &ws_panel_10_1_inch_a_desc }, - { .compatible = "waveshare,10.1-dsi-touch-b,4lane", + { .compatible = "waveshare,10.1-dsi-touch-b-4lane", &ws_panel_10_1_inch_b_4lane_desc }, { .compatible = "waveshare,10.1-dsi-touch-b", &ws_panel_10_1_inch_b_desc }, - { .compatible = "waveshare,10.1-dsi-touch-e,4lane", + { .compatible = "waveshare,10.1-dsi-touch-e-4lane", &ws_panel_10_1_inch_e_4lane_desc }, - { .compatible = "waveshare,9.0-dsi-touch-b,4lane", + { .compatible = "waveshare,9.0-dsi-touch-b-4lane", &ws_panel_9_inch_b_4lane_desc }, { .compatible = "waveshare,9.0-dsi-touch-b", &ws_panel_9_inch_b_desc }, { .compatible = "waveshare,8.8-dsi-touch-a", From 5d29b53910f0fbf600e7e410bf5f48426b6bb239 Mon Sep 17 00:00:00 2001 From: Yu Dukai <646689853@qq.com> Date: Wed, 21 Oct 2026 12:11:00 +0800 Subject: [PATCH 3/3] ARM: dts: overlays: waveshare-panel-v2: Use valid compatible strings Update the overlay parameters for the 4-lane panels to the "-4lane" form used by the driver and the binding now. The parameter names are left unchanged, so existing configurations keep working. Signed-off-by: Yu Dukai <646689853@qq.com> --- .../overlays/vc4-kms-dsi-waveshare-panel-v2-overlay.dts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/arm/boot/dts/overlays/vc4-kms-dsi-waveshare-panel-v2-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-dsi-waveshare-panel-v2-overlay.dts index 58c26bbe24a771..7f3efd5d81b0a7 100644 --- a/arch/arm/boot/dts/overlays/vc4-kms-dsi-waveshare-panel-v2-overlay.dts +++ b/arch/arm/boot/dts/overlays/vc4-kms-dsi-waveshare-panel-v2-overlay.dts @@ -96,16 +96,16 @@ <&display_mcu>, "pre-power-on?"; 9_0_inch_b = <&dsi_panel>, "compatible=waveshare,9.0-dsi-touch-b", <&touch>, "touchscreen-inverted-x"; - 9_0_inch_b_4lane = <&dsi_panel>, "compatible=waveshare,9.0-dsi-touch-b,4lane", + 9_0_inch_b_4lane = <&dsi_panel>, "compatible=waveshare,9.0-dsi-touch-b-4lane", <&touch>, "touchscreen-inverted-x"; 10_1_inch_a = <&dsi_panel>, "compatible=waveshare,10.1-dsi-touch-a"; 10_1_inch_a_4lane = <&dsi_panel>, "compatible=waveshare,10.1-dsi-touch-a-4lane"; 10_1_inch_b = <&dsi_panel>, "compatible=waveshare,10.1-dsi-touch-b", <&touch>, "touchscreen-inverted-y"; - 10_1_inch_b_4lane = <&dsi_panel>, "compatible=waveshare,10.1-dsi-touch-b,4lane", + 10_1_inch_b_4lane = <&dsi_panel>, "compatible=waveshare,10.1-dsi-touch-b-4lane", <&touch>, "touchscreen-inverted-y"; - 10_1_inch_e_4lane = <&dsi_panel>, "compatible=waveshare,10.1-dsi-touch-e,4lane"; - 12_3_inch_a_4lane = <&dsi_panel>, "compatible=waveshare,12.3-dsi-touch-a,4lane", + 10_1_inch_e_4lane = <&dsi_panel>, "compatible=waveshare,10.1-dsi-touch-e-4lane"; + 12_3_inch_a_4lane = <&dsi_panel>, "compatible=waveshare,12.3-dsi-touch-a-4lane", <&touch>, "touchscreen-swapped-x-y", <&touch>, "touchscreen-inverted-y"; disable_touch = <&touch>, "status=disabled";