Skip to content

Commit c062e98

Browse files
committed
dtoverlays: Add overlay for 10.1" DSI touchscreen
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
1 parent ffb33e0 commit c062e98

File tree

3 files changed

+142
-0
lines changed

3 files changed

+142
-0
lines changed

arch/arm/boot/dts/overlays/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
338338
vc4-kms-dpi-panel.dtbo \
339339
vc4-kms-dsi-7inch.dtbo \
340340
vc4-kms-dsi-generic.dtbo \
341+
vc4-kms-dsi-ili79600-10-1inch.dtbo \
341342
vc4-kms-dsi-ili9881-5inch.dtbo \
342343
vc4-kms-dsi-ili9881-7inch.dtbo \
343344
vc4-kms-dsi-lt070me05000.dtbo \

arch/arm/boot/dts/overlays/README

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5725,6 +5725,21 @@ Params: clock-frequency Display clock frequency (Hz)
57255725
Only supported on Pi5 and CM
57265726

57275727

5728+
Name: vc4-kms-dsi-ili79600-10-1inch
5729+
Info: Enable the Raspberry Pi 10" ILI79600 based touchscreen panel.
5730+
Requires vc4-kms-v3d to be loaded.
5731+
Load: dtoverlay=vc4-kms-dsi-ili79600-10-1inch,<param>
5732+
Params: sizex Touchscreen size x (default 1200)
5733+
sizey Touchscreen size y (default 1920)
5734+
invx Touchscreen inverted x axis
5735+
invy Touchscreen inverted y axis
5736+
swapxy Touchscreen swapped x y axis
5737+
disable_touch Disables the touch screen overlay driver
5738+
rotation Display rotation {0,90,180,270} (default 0)
5739+
dsi0 Use DSI0 and i2c_csi_dsi0 (rather than
5740+
the default DSI1 and i2c_csi_dsi).
5741+
5742+
57285743
Name: vc4-kms-dsi-ili9881-5inch
57295744
Info: Enable the Raspberry Pi 5" ILI9881 based touchscreen panel.
57305745
Requires vc4-kms-v3d to be loaded.
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
/*
2+
* vc4-kms-dsi-ili79600-10-1inch-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+
{
22+
compatible = "raspberrypi,v2-touchscreen-panel-regulator";
23+
reg = <0x45>;
24+
gpio-controller;
25+
#gpio-cells = <2>;
26+
};
27+
28+
touch: ts@41 {
29+
compatible = "ilitek,ili79600a";
30+
reg = <0x41>;
31+
32+
reset-gpio = <&display_mcu 1 GPIO_ACTIVE_LOW>;
33+
34+
touchscreen-size-x = < 1200 >;
35+
touchscreen-size-y = < 1920 >;
36+
vcc-supply = <&display_reg>;
37+
38+
panel = <&dsi_panel>;
39+
};
40+
};
41+
};
42+
43+
dsi_frag: fragment@1 {
44+
target = <&dsi1>;
45+
__overlay__ {
46+
#address-cells = <1>;
47+
#size-cells = <0>;
48+
status = "okay";
49+
50+
port {
51+
dsi_out: endpoint {
52+
remote-endpoint = <&panel_in>;
53+
};
54+
};
55+
56+
dsi_panel: dsi_panel@0 {
57+
reg = <0>;
58+
compatible = "raspberrypi,dsi-10-1inch";
59+
power-supply = <&display_reg>;
60+
backlight = <&display_mcu>;
61+
62+
port {
63+
panel_in: endpoint {
64+
remote-endpoint = <&dsi_out>;
65+
};
66+
};
67+
};
68+
};
69+
};
70+
71+
fragment@2 {
72+
target = <&i2c0if>;
73+
__overlay__ {
74+
status = "okay";
75+
};
76+
};
77+
78+
fragment@3 {
79+
target = <&i2c0mux>;
80+
__overlay__ {
81+
status = "okay";
82+
};
83+
};
84+
85+
fragment@4 {
86+
target-path = "/";
87+
__overlay__ {
88+
display_reg: display_reg@1 {
89+
reg = <1>;
90+
compatible = "regulator-fixed";
91+
regulator-name = "display_reg_1";
92+
gpio = <&display_mcu 0 GPIO_ACTIVE_HIGH>;
93+
startup-delay-us = <50000>;
94+
enable-active-high;
95+
};
96+
};
97+
};
98+
99+
fragment@10 {
100+
target = <&touch>;
101+
__dormant__ {
102+
touchscreen-inverted-x;
103+
};
104+
};
105+
106+
fragment@11 {
107+
target = <&touch>;
108+
__dormant__ {
109+
touchscreen-inverted-y;
110+
};
111+
};
112+
113+
__overrides__ {
114+
sizex = <&touch>,"touchscreen-size-x:0";
115+
sizey = <&touch>,"touchscreen-size-y:0";
116+
invx = <0>, "+10";
117+
invy = <0>, "+11";
118+
swapxy = <&touch>,"touchscreen-swapped-x-y?";
119+
disable_touch = <&touch>, "status=disabled";
120+
rotation = <&dsi_panel>, "rotation:0";
121+
dsi0 = <&dsi_frag>, "target:0=",<&dsi0>,
122+
<&i2c_frag>, "target:0=",<&i2c_csi_dsi0>,
123+
<&display_reg>, "reg:0=0",
124+
<&display_reg>, "regulator-name=display_reg_0";
125+
};
126+
};

0 commit comments

Comments
 (0)