Skip to content

Commit 55570b5

Browse files
Waveshare_Teampelwell
Waveshare_Team
authored andcommitted
arch/arm/boot/dts/overlays : Add Waveshare DSI-TOUCH series panels Device Tree support
Add the device tree for the Waveshare DSI-TOUCH series panels. Signed-off-by: Waveshare_Team <[email protected]>
1 parent d737439 commit 55570b5

File tree

3 files changed

+115
-0
lines changed

3 files changed

+115
-0
lines changed

arch/arm/boot/dts/overlays/Makefile

+1
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
336336
vc4-kms-dsi-lt070me05000-v2.dtbo \
337337
vc4-kms-dsi-waveshare-800x480.dtbo \
338338
vc4-kms-dsi-waveshare-panel.dtbo \
339+
vc4-kms-dsi-waveshare-panel-v2.dtbo \
339340
vc4-kms-kippah-7inch.dtbo \
340341
vc4-kms-v3d.dtbo \
341342
vc4-kms-v3d-pi4.dtbo \

arch/arm/boot/dts/overlays/README

+20
Original file line numberDiff line numberDiff line change
@@ -5567,6 +5567,26 @@ Params: 2_8_inch 2.8" 480x640
55675567
the default DSI1 and i2c_csi_dsi).
55685568

55695569

5570+
Name: vc4-kms-dsi-waveshare-panel-v2
5571+
Info: Enable the Waveshare DSI-TOUCH series screen
5572+
Requires vc4-kms-v3d to be loaded.
5573+
Load: dtoverlay=vc4-kms-dsi-waveshare-panel-v2,<param>
5574+
Params: 5_0_inch_a 5.0" 720x1280 2lane
5575+
5_5_inch_a 5.5" 720x1280 2lane
5576+
7_0_inch_a 7.0" A 720x1280 2lane
5577+
7_0_inch_b 7.0" B 720x1280 2lane
5578+
8_0_inch_a 8.0" 800x1280 2lane
5579+
8_0_inch_a_4lane 8.0" 800x1280 4lane
5580+
10_1_inch_a 10.1" 800x1280 2lane
5581+
10_1_inch_a_4lane 10.1" 800x1280 4lane
5582+
disable_touch Disable the touch controller
5583+
invx Touchscreen inverted x axis
5584+
invy Touchscreen inverted y axis
5585+
swapxy Touchscreen swapped x y axis
5586+
dsi0 Use DSI0 and i2c_csi_dsi0 (rather than
5587+
the default DSI1 and i2c_csi_dsi).
5588+
5589+
55705590
Name: vc4-kms-kippah-7inch
55715591
Info: This overlay is now deprecated - see vc4-kms-dpi-panel,kippah-7inch
55725592
Load: <Deprecated>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
/*
2+
* vc4-kms-dsi-waveshare-panel-v2-overlay.dts
3+
*/
4+
5+
/dts-v1/;
6+
/plugin/;
7+
8+
#include <dt-bindings/gpio/gpio.h>
9+
10+
/ {
11+
compatible = "brcm,bcm2835";
12+
13+
i2c_frag: fragment@0 {
14+
target = <&i2c_csi_dsi>;
15+
__overlay__ {
16+
#address-cells = <1>;
17+
#size-cells = <0>;
18+
status = "okay";
19+
20+
display_mcu: display_mcu@45 {
21+
compatible = "waveshare,touchscreen-panel-regulator";
22+
reg = <0x45>;
23+
gpio-controller;
24+
#gpio-cells = <2>;
25+
enable-gpio = <&display_mcu 2 GPIO_ACTIVE_HIGH>;
26+
};
27+
28+
touch: goodix@5d {
29+
compatible = "goodix,gt9271";
30+
reg = <0x5d>;
31+
reset-gpio = <&display_mcu 9 GPIO_ACTIVE_HIGH>;
32+
};
33+
};
34+
};
35+
36+
dsi_frag: fragment@1 {
37+
target = <&dsi1>;
38+
__overlay__ {
39+
#address-cells = <1>;
40+
#size-cells = <0>;
41+
status = "okay";
42+
43+
port {
44+
dsi_out: endpoint {
45+
remote-endpoint = <&panel_in>;
46+
};
47+
};
48+
49+
dsi_panel: dsi_panel@0 {
50+
reg = <0>;
51+
compatible = "waveshare,10.1-dsi-touch-a";
52+
reset-gpio = <&display_mcu 1 GPIO_ACTIVE_HIGH>;
53+
backlight = <&display_mcu>;
54+
55+
port {
56+
panel_in: endpoint {
57+
remote-endpoint = <&dsi_out>;
58+
};
59+
};
60+
};
61+
};
62+
};
63+
64+
fragment@2 {
65+
target = <&i2c0if>;
66+
__overlay__ {
67+
status = "okay";
68+
};
69+
};
70+
71+
fragment@3 {
72+
target = <&i2c0mux>;
73+
__overlay__ {
74+
status = "okay";
75+
};
76+
};
77+
78+
__overrides__ {
79+
5_0_inch_a = <&dsi_panel>, "compatible=waveshare,5.0-dsi-touch-a";
80+
5_5_inch_a = <&dsi_panel>, "compatible=waveshare,5.5-dsi-touch-a";
81+
7_0_inch_a = <&dsi_panel>, "compatible=waveshare,7.0-dsi-touch-a";
82+
7_0_inch_b = <&dsi_panel>, "compatible=waveshare,7.0-dsi-touch-b";
83+
8_0_inch_a = <&dsi_panel>, "compatible=waveshare,8.0-dsi-touch-a";
84+
8_0_inch_a_4lane = <&dsi_panel>, "compatible=waveshare,8.0-dsi-touch-a-4lane";
85+
10_1_inch_a = <&dsi_panel>, "compatible=waveshare,10.1-dsi-touch-a";
86+
10_1_inch_a_4lane = <&dsi_panel>, "compatible=waveshare,10.1-dsi-touch-a-4lane";
87+
disable_touch = <&touch>, "status=disabled";
88+
invx = <&touch>,"touchscreen-inverted-x?";
89+
invy = <&touch>,"touchscreen-inverted-y?";
90+
swapxy = <&touch>,"touchscreen-swapped-x-y?";
91+
dsi0 = <&dsi_frag>, "target:0=",<&dsi0>,
92+
<&i2c_frag>, "target:0=",<&i2c_csi_dsi0>;
93+
};
94+
};

0 commit comments

Comments
 (0)