Skip to content

Commit

Permalink
arch/arm/boot/dts/overlays : Add Waveshare DSI-TOUCH series panels De…
Browse files Browse the repository at this point in the history
…vice Tree support.

Add the device tree for the Waveshare DSI-TOUCH series panels.

Signed-off-by: Waveshare_Team <[email protected]>
  • Loading branch information
Waveshare_Team committed Dec 30, 2024
1 parent b70b5e8 commit 80007d6
Show file tree
Hide file tree
Showing 3 changed files with 112 additions and 0 deletions.
1 change: 1 addition & 0 deletions arch/arm/boot/dts/overlays/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
vc4-kms-dsi-lt070me05000-v2.dtbo \
vc4-kms-dsi-waveshare-800x480.dtbo \
vc4-kms-dsi-waveshare-panel.dtbo \
vc4-kms-dsi-waveshare-panel-v2.dtbo \
vc4-kms-kippah-7inch.dtbo \
vc4-kms-v3d.dtbo \
vc4-kms-v3d-pi4.dtbo \
Expand Down
19 changes: 19 additions & 0 deletions arch/arm/boot/dts/overlays/README
Original file line number Diff line number Diff line change
Expand Up @@ -5411,6 +5411,25 @@ Params: 2_8_inch 2.8" 480x640
the default DSI1 and i2c_csi_dsi).


Name: vc4-kms-dsi-waveshare-panel-v2
Info: Enable the Waveshare DSI-TOUCH series screen
Requires vc4-kms-v3d to be loaded.
Load: dtoverlay=vc4-kms-dsi-waveshare-panel-v2,<param>
Params: 5_0_inch_a 5.0" 720x1280 2lane
5_5_inch_a 5.5" 720x1280 2lane
7_0_inch_b 7.0" B 720x1280 2lane
8_0_inch_a 8.0" 800x1280 2lane
8_0_inch_a_4lane 8.0" 800x1280 4lane
10_1_inch_a 10.1" 800x1280 2lane
10_1_inch_a_4lane 10.1" 800x1280 4lane
disable_touch Disable the touch controller
invx Touchscreen inverted x axis
invy Touchscreen inverted y axis
swapxy Touchscreen swapped x y axis
dsi0 Use DSI0 and i2c_csi_dsi0 (rather than
the default DSI1 and i2c_csi_dsi).


Name: vc4-kms-kippah-7inch
Info: This overlay is now deprecated - see vc4-kms-dpi-panel,kippah-7inch
Load: <Deprecated>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
/*
* vc4-kms-dsi-waveshare-panel-v2-overlay.dts
*/

/dts-v1/;
/plugin/;

#include <dt-bindings/gpio/gpio.h>

/ {
compatible = "brcm,bcm2835";

i2c_frag: fragment@0 {
target = <&i2c_csi_dsi>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";

display_mcu: display_mcu@45 {
compatible = "waveshare,touchscreen-panel-regulator";
reg = <0x45>;
gpio-controller;
#gpio-cells = <2>;
};

touch: goodix@5d {
compatible = "goodix,gt9271";
reg = <0x5d>;
reset-gpio = <&display_mcu 9 GPIO_ACTIVE_HIGH>;
};
};
};

dsi_frag: fragment@1 {
target = <&dsi1>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";

port {
dsi_out: endpoint {
remote-endpoint = <&panel_in>;
};
};

dsi_panel: dsi_panel@0 {
reg = <0>;
compatible = "waveshare,10.1-dsi-touch-a";
reset-gpio = <&display_mcu 1 GPIO_ACTIVE_HIGH>;
backlight = <&display_mcu>;

port {
panel_in: endpoint {
remote-endpoint = <&dsi_out>;
};
};
};
};
};

fragment@2 {
target = <&i2c0if>;
__overlay__ {
status = "okay";
};
};

fragment@3 {
target = <&i2c0mux>;
__overlay__ {
status = "okay";
};
};

__overrides__ {
5_0_inch_a = <&dsi_panel>, "compatible=waveshare,5.0-dsi-touch-a";
5_5_inch_a = <&dsi_panel>, "compatible=waveshare,5.5-dsi-touch-a";
7_0_inch_b = <&dsi_panel>, "compatible=waveshare,7.0-dsi-touch-b";
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";
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";
disable_touch = <&touch>, "status=disabled";
invx = <&touch>,"touchscreen-inverted-x?";
invy = <&touch>,"touchscreen-inverted-y?";
swapxy = <&touch>,"touchscreen-swapped-x-y?";
dsi0 = <&dsi_frag>, "target:0=",<&dsi0>,
<&i2c_frag>, "target:0=",<&i2c_csi_dsi0>;
};
};

0 comments on commit 80007d6

Please sign in to comment.