Skip to content

Commit 19a2939

Browse files
FrankLeeEDApelwell
authored andcommitted
arm64: dts: overlays: add edatec 101c and 070c DSI panel overlays
Add overlays for edatec 10inch (101c) and 7inch (070c) DSI panels. Update Makefile to build these new overlays and README to document their usage. Signed-off-by: FrankLeeEDA <Fli@edatec.cn>
1 parent 694e77a commit 19a2939

4 files changed

Lines changed: 260 additions & 0 deletions

File tree

arch/arm/boot/dts/overlays/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,8 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
337337
vc4-kms-dpi-hyperpixel4sq.dtbo \
338338
vc4-kms-dpi-panel.dtbo \
339339
vc4-kms-dsi-7inch.dtbo \
340+
vc4-kms-dsi-edatec-panel-070c.dtbo \
341+
vc4-kms-dsi-edatec-panel-101c.dtbo \
340342
vc4-kms-dsi-generic.dtbo \
341343
vc4-kms-dsi-ili79600-10-1inch.dtbo \
342344
vc4-kms-dsi-ili9881-5inch.dtbo \

arch/arm/boot/dts/overlays/README

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5791,6 +5791,29 @@ Params: sizex Touchscreen size x (default 800)
57915791
the default DSI1 and i2c_csi_dsi).
57925792

57935793

5794+
Name: vc4-kms-dsi-edatec-panel-070c
5795+
Info: Enable the edatec DSI 7" screen.
5796+
support ed-dispr-070c.
5797+
support ed-dispr5-070c.
5798+
support ed-dispr4-070c.
5799+
Load: dtoverlay=vc4-kms-dsi-edatec-panel-070c,<param>=<val>
5800+
Params: interrupt GPIO pin for interrupt signal(default 16)
5801+
i2c1 Use i2c-1
5802+
i2c4 Use i2c-4 (specialized for CM5)
5803+
5804+
5805+
Name: vc4-kms-dsi-edatec-panel-101c
5806+
Info: Enable the edatec DSI 10" screen.
5807+
support ed-dispr-101c.
5808+
support ed-dispr5-101c.
5809+
support ed-dispr4-101c.
5810+
Load: dtoverlay=vc4-kms-dsi-edatec-panel-101c,<param>=<val>
5811+
Params: rotation Display rotation {0,90,180,270} (default 270)
5812+
interrupt GPIO pin for interrupt signal(default 16)
5813+
i2c1 Use i2c-1
5814+
i2c4 Use i2c-4 (specialized for CM5)
5815+
5816+
57945817
Name: vc4-kms-dsi-generic
57955818
Info: Enable a generic DSI display under KMS.
57965819
Default timings are for a 840x480 RGB888 panel.
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
/dts-v1/;
2+
/plugin/;
3+
4+
/ {
5+
compatible = "brcm,bcm2835";
6+
7+
i2c_frag: fragment@0 {
8+
target = <&i2c_csi_dsi>;
9+
__overlay__ {
10+
#gpio-cells = <2>;
11+
#address-cells = <1>;
12+
#size-cells = <0>;
13+
status = "okay";
14+
15+
reg_display: reg_display@27 {
16+
reg = <0x27>;
17+
compatible = "edatec,disp-regulator";
18+
19+
gpio-controller;
20+
#gpio-cells = <2>;
21+
};
22+
23+
gt911: gt911@14 {
24+
compatible = "goodix,gt911";
25+
reg = <0x14>;
26+
pinctrl-names = "default";
27+
pinctrl-0 = <&gt911_pins>;
28+
29+
reset-gpios = <&reg_display 3 0>;
30+
interrupt-parent = <&gpio>;
31+
interrupts = <16 2>;
32+
irq-gpios = <&gpio 16 0>;
33+
};
34+
};
35+
};
36+
37+
fragment@1 {
38+
target = <&dsi1>;
39+
__overlay__ {
40+
status = "okay";
41+
port {
42+
dsi_out: endpoint {
43+
remote-endpoint = <&panel_in>;
44+
};
45+
};
46+
47+
panel: panel@0 {
48+
reg = <0>;
49+
compatible = "panel-dsi";
50+
backlight = <&reg_display>;
51+
52+
width-mm = <154>;
53+
height-mm = <86>;
54+
dsi-color-format = "RGB888";
55+
mode = "MODE_VIDEO","MODE_VIDEO_SYNC_PULSE";
56+
57+
timing: panel-timing {
58+
clock-frequency = <41000000>;
59+
hactive = <1024>;
60+
hfront-porch = <40>;
61+
hsync-len = <10>;
62+
hback-porch = <40>;
63+
vactive = <600>;
64+
vfront-porch = <4>;
65+
vsync-len = <2>;
66+
vback-porch = <4>;
67+
};
68+
69+
port {
70+
panel_in: endpoint {
71+
data-lanes = <1 2>;
72+
remote-endpoint = <&dsi_out>;
73+
};
74+
};
75+
};
76+
};
77+
};
78+
79+
fragment@2 {
80+
target = <&i2c0if>;
81+
__overlay__ {
82+
status = "okay";
83+
};
84+
};
85+
86+
fragment@3 {
87+
target = <&i2c0mux>;
88+
__overlay__ {
89+
status = "okay";
90+
};
91+
};
92+
93+
fragment@4 {
94+
target = <&i2c1>;
95+
__dormant__ {
96+
status = "okay";
97+
};
98+
};
99+
100+
fragment@5 {
101+
target = <&gpio>;
102+
__overlay__ {
103+
gt911_pins: gt911_pins {
104+
brcm,pins = <16>;
105+
brcm,function = <0>;
106+
brcm,pull = <2>;
107+
};
108+
};
109+
};
110+
111+
__overrides__ {
112+
i2c1 = <&i2c_frag>, "target:0=",<&i2c1>,
113+
<0>,"-2-3+4";
114+
i2c4 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi0>;
115+
interrupt = <&gt911_pins>,"brcm,pins:0",
116+
<&gt911>,"interrupts:0",
117+
<&gt911>,"irq-gpios:4";
118+
};
119+
};
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
/dts-v1/;
2+
/plugin/;
3+
4+
#include <dt-bindings/gpio/gpio.h>
5+
6+
/ {
7+
compatible = "brcm,bcm2835";
8+
9+
fragment@0 {
10+
target-path = "/";
11+
__overlay__ {
12+
vdd_lcd: fixedregulator_lcd {
13+
compatible = "regulator-fixed";
14+
regulator-name = "vdd_lcd";
15+
16+
gpios = <&reg_display 4 GPIO_ACTIVE_HIGH>;
17+
startup-delay-us = <5000>;
18+
enable-active-high;
19+
};
20+
};
21+
};
22+
23+
fragment@1 {
24+
target = <&dsi1>;
25+
__overlay__{
26+
status = "okay";
27+
#address-cells = <1>;
28+
#size-cells = <0>;
29+
port {
30+
dsi_out_port:endpoint {
31+
remote-endpoint = <&panel_dsi_port>;
32+
};
33+
};
34+
35+
ili9881c:ili9881c@0 {
36+
compatible = "rzw,t101p136cq";
37+
status = "okay";
38+
reg = <0>;
39+
40+
reset-gpios = <&reg_display 2 GPIO_ACTIVE_LOW>;
41+
backlight = <&reg_display>;
42+
power-supply = <&vdd_lcd>;
43+
rotation = <270>;
44+
45+
port {
46+
panel_dsi_port: endpoint {
47+
remote-endpoint = <&dsi_out_port>;
48+
};
49+
};
50+
};
51+
};
52+
};
53+
54+
fragment@2 {
55+
target = <&i2c0if>;
56+
__overlay__ {
57+
status = "okay";
58+
};
59+
};
60+
61+
fragment@3 {
62+
target = <&i2c0mux>;
63+
__overlay__ {
64+
status = "okay";
65+
};
66+
};
67+
68+
fragment@4 {
69+
target = <&gpio>;
70+
__overlay__ {
71+
gt928_pins: gt928_pins {
72+
brcm,pins = <16>;
73+
brcm,function = <0>;
74+
brcm,pull = <2>;
75+
};
76+
};
77+
};
78+
79+
i2c_frag: fragment@5 {
80+
target = <&i2c_csi_dsi>;
81+
__overlay__ {
82+
#address-cells = <1>;
83+
#size-cells = <0>;
84+
status = "okay";
85+
86+
reg_display: reg_display@27 {
87+
compatible = "edatec,disp-regulator";
88+
reg = <0x27>;
89+
gpio-controller;
90+
#gpio-cells = <2>;
91+
};
92+
93+
gt928:gt928@14 {
94+
compatible = "goodix,gt928";
95+
reg = <0x14>;
96+
pinctrl-names = "default";
97+
pinctrl-0 = <&gt928_pins>;
98+
99+
reset-gpios = <&reg_display 3 GPIO_ACTIVE_HIGH>;
100+
interrupt-parent = <&gpio>;
101+
interrupts = <16 2>;
102+
irq-gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
103+
};
104+
};
105+
};
106+
107+
__overrides__ {
108+
i2c1 = <&i2c_frag>, "target:0=",<&i2c1>,
109+
<0>, "-3-4+5";
110+
i2c4 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi0>;
111+
interrupt = <&gt928_pins>, "brcm,pins:0",
112+
<&gt928>, "interrupts:0",
113+
<&gt928>, "irq-gpios:4";
114+
rotation = <&ili9881c>, "rotation:0";
115+
};
116+
};

0 commit comments

Comments
 (0)