Skip to content

Commit 2038ffb

Browse files
committed
feat(display): eadtec Open Source‌ HMI for 7 inches panel driver
Signed-off-by: lzunspp <bli@edatec.cn>
1 parent 79dc190 commit 2038ffb

7 files changed

Lines changed: 888 additions & 0 deletions

File tree

arch/arm/boot/dts/overlays/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,7 @@ 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 \
340341
vc4-kms-dsi-generic.dtbo \
341342
vc4-kms-dsi-ili79600-10-1inch.dtbo \
342343
vc4-kms-dsi-ili9881-5inch.dtbo \

arch/arm/boot/dts/overlays/README

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

57925792

5793+
Name: vc4-kms-dsi-edatec-panel-070c
5794+
Info: Enable the edatec DSI 7" screen.
5795+
support ed-dispr-070c.
5796+
support ed-dispr5-070c.
5797+
support ed-dispr4-070c.
5798+
Load: dtoverlay=vc4-kms-dsi-edatec-panel-070c,<param>=<val>
5799+
Params: i2c1 Use i2c1
5800+
interrupt GPIO pin for interrupt signal(default 2)
5801+
cm0 the default DSI1 and i2c_csi_dsi
5802+
pi4 the default DSI1 and i2c_csi_dsi
5803+
cm4 the default DSI1 and i2c_csi_dsi
5804+
pi5 the default DSI1 and i2c_csi_dsi
5805+
cm5 the default DSI0 and i2c_csi_dsi0
5806+
5807+
57935808
Name: vc4-kms-dsi-generic
57945809
Info: Enable a generic DSI display under KMS.
57955810
Default timings are for a 840x480 RGB888 panel.
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
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 = "rzw,t70p383rk-v2";
18+
19+
gpio-controller;
20+
#gpio-cells = <2>;
21+
22+
port {
23+
panel_in: endpoint {
24+
remote-endpoint = <&dsi_out>;
25+
};
26+
};
27+
};
28+
29+
gt911: gt911@14 {
30+
compatible = "goodix,gt911";
31+
reg = <0x14>;
32+
pinctrl-names = "default";
33+
pinctrl-0 = <&gt911_pins>;
34+
35+
reset-gpios = <&reg_display 3 0>;
36+
interrupt-parent = <&gpio>;
37+
interrupts = <2 2>;
38+
irq-gpios = <&gpio 2 0>;
39+
};
40+
};
41+
};
42+
43+
fragment@1 {
44+
target = <&dsi1>;
45+
__overlay__ {
46+
status = "okay";
47+
port {
48+
dsi_out: endpoint {
49+
remote-endpoint = <&panel_in>;
50+
};
51+
};
52+
};
53+
};
54+
55+
fragment@2 {
56+
target = <&i2c0if>;
57+
__overlay__ {
58+
status = "okay";
59+
};
60+
};
61+
62+
fragment@3 {
63+
target = <&i2c0mux>;
64+
__overlay__ {
65+
status = "okay";
66+
};
67+
};
68+
69+
fragment@4 {
70+
target = <&i2c_arm>;
71+
__dormant__ {
72+
status = "okay";
73+
};
74+
};
75+
76+
fragment@5 {
77+
target = <&gpio>;
78+
__overlay__ {
79+
gt911_pins: gt911_pins {
80+
brcm,pins = <2>;
81+
brcm,function = <0>;
82+
brcm,pull = <2>;
83+
};
84+
};
85+
};
86+
87+
fragment@6 {
88+
target = <&reg_display>;
89+
__dormant__ {
90+
compatible = "rzw,t70p383rk-lite";
91+
};
92+
};
93+
94+
__overrides__ {
95+
i2c1 = <&i2c_frag>, "target:0=",<&i2c1>,
96+
<0>,"-2-3+4";
97+
interrupt = <&gt911_pins>,"brcm,pins:0",
98+
<&gt911>,"interrupts:0",
99+
<&gt911>,"irq-gpios:4";
100+
101+
pi4 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi>;
102+
cm4 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi>;
103+
pi5 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi>;
104+
cm5 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi0>;
105+
cm0 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi>,<0>, "+6";
106+
};
107+
};
Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
# CONFIG_LOCALVERSION_AUTO is not set
2+
CONFIG_SYSVIPC=y
3+
CONFIG_NO_HZ_IDLE=y
4+
CONFIG_HIGH_RES_TIMERS=y
5+
CONFIG_PREEMPT_VOLUNTARY=y
6+
CONFIG_BSD_PROCESS_ACCT=y
7+
CONFIG_BSD_PROCESS_ACCT_V3=y
8+
CONFIG_LOG_BUF_SHIFT=18
9+
CONFIG_CFS_BANDWIDTH=y
10+
CONFIG_CGROUP_FREEZER=y
11+
CONFIG_CGROUP_DEVICE=y
12+
CONFIG_CGROUP_CPUACCT=y
13+
CONFIG_CGROUP_PERF=y
14+
CONFIG_NAMESPACES=y
15+
CONFIG_SCHED_AUTOGROUP=y
16+
CONFIG_RELAY=y
17+
CONFIG_BLK_DEV_INITRD=y
18+
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
19+
CONFIG_EXPERT=y
20+
CONFIG_KALLSYMS_ALL=y
21+
CONFIG_PROFILING=y
22+
CONFIG_KEXEC=y
23+
CONFIG_ARCH_MULTI_V6=y
24+
CONFIG_ARCH_BCM=y
25+
CONFIG_ARCH_BCM2835=y
26+
CONFIG_CPU_FREQ=y
27+
CONFIG_CPU_FREQ_STAT=y
28+
CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE=y
29+
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
30+
CONFIG_CPU_FREQ_GOV_USERSPACE=y
31+
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
32+
CONFIG_CPUFREQ_DT=y
33+
CONFIG_ARM_RASPBERRYPI_CPUFREQ=y
34+
CONFIG_VFP=y
35+
# CONFIG_SUSPEND is not set
36+
CONFIG_PM=y
37+
CONFIG_JUMP_LABEL=y
38+
CONFIG_MODULES=y
39+
CONFIG_MODULE_UNLOAD=y
40+
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
41+
# CONFIG_COMPAT_BRK is not set
42+
CONFIG_KSM=y
43+
CONFIG_CMA=y
44+
CONFIG_NET=y
45+
CONFIG_PACKET=y
46+
CONFIG_UNIX=y
47+
CONFIG_INET=y
48+
CONFIG_IP_PNP=y
49+
CONFIG_IP_PNP_DHCP=y
50+
CONFIG_NETWORK_SECMARK=y
51+
CONFIG_NETFILTER=y
52+
CONFIG_BT=y
53+
CONFIG_BT_HCIUART=m
54+
CONFIG_BT_HCIUART_BCM=y
55+
CONFIG_CFG80211=y
56+
CONFIG_MAC80211=y
57+
CONFIG_DEVTMPFS=y
58+
CONFIG_DEVTMPFS_MOUNT=y
59+
# CONFIG_STANDALONE is not set
60+
CONFIG_RASPBERRYPI_FIRMWARE=y
61+
CONFIG_SCSI=y
62+
CONFIG_BLK_DEV_SD=y
63+
CONFIG_SCSI_CONSTANTS=y
64+
CONFIG_SCSI_SCAN_ASYNC=y
65+
CONFIG_NETDEVICES=y
66+
CONFIG_BCMGENET=y
67+
CONFIG_USB_LAN78XX=y
68+
CONFIG_USB_USBNET=y
69+
CONFIG_USB_NET_SMSC95XX=y
70+
CONFIG_BRCMFMAC=m
71+
CONFIG_ZD1211RW=y
72+
CONFIG_INPUT_EVDEV=y
73+
# CONFIG_LEGACY_PTYS is not set
74+
CONFIG_SERIAL_8250=y
75+
CONFIG_SERIAL_8250_CONSOLE=y
76+
CONFIG_SERIAL_8250_EXTENDED=y
77+
CONFIG_SERIAL_8250_SHARE_IRQ=y
78+
CONFIG_SERIAL_8250_BCM2835AUX=y
79+
CONFIG_SERIAL_AMBA_PL011=y
80+
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
81+
CONFIG_SERIAL_DEV_BUS=y
82+
CONFIG_TTY_PRINTK=y
83+
CONFIG_I2C_CHARDEV=y
84+
CONFIG_I2C_BCM2835=y
85+
CONFIG_SPI=y
86+
CONFIG_SPI_BCM2835=y
87+
CONFIG_SPI_BCM2835AUX=y
88+
CONFIG_GPIO_SYSFS=y
89+
CONFIG_SENSORS_RASPBERRYPI_HWMON=m
90+
CONFIG_THERMAL=y
91+
CONFIG_BCM2711_THERMAL=y
92+
CONFIG_BCM2835_THERMAL=y
93+
CONFIG_WATCHDOG=y
94+
CONFIG_BCM2835_WDT=y
95+
CONFIG_REGULATOR=y
96+
CONFIG_REGULATOR_FIXED_VOLTAGE=y
97+
CONFIG_REGULATOR_GPIO=y
98+
CONFIG_MEDIA_SUPPORT=y
99+
CONFIG_DRM=y
100+
CONFIG_DRM_SIMPLEDRM=y
101+
CONFIG_DRM_PANEL_EDATEC_7INCH=m
102+
CONFIG_DRM_V3D=y
103+
CONFIG_DRM_VC4=y
104+
CONFIG_FB=y
105+
CONFIG_BACKLIGHT_CLASS_DEVICE=m
106+
CONFIG_SOUND=y
107+
CONFIG_SND=y
108+
CONFIG_SND_SOC=y
109+
CONFIG_SND_BCM2835_SOC_I2S=y
110+
CONFIG_USB=y
111+
CONFIG_USB_OTG=y
112+
CONFIG_USB_STORAGE=y
113+
CONFIG_USB_DWC2=y
114+
CONFIG_NOP_USB_XCEIV=y
115+
CONFIG_USB_GADGET=y
116+
CONFIG_USB_ETH=m
117+
CONFIG_USB_ETH_EEM=y
118+
CONFIG_USB_G_SERIAL=m
119+
CONFIG_MMC=y
120+
CONFIG_MMC_SDHCI=y
121+
CONFIG_MMC_SDHCI_PLTFM=y
122+
CONFIG_MMC_SDHCI_IPROC=y
123+
CONFIG_MMC_BCM2835=y
124+
CONFIG_NEW_LEDS=y
125+
CONFIG_LEDS_CLASS=y
126+
CONFIG_LEDS_GPIO=y
127+
CONFIG_LEDS_TRIGGERS=y
128+
CONFIG_LEDS_TRIGGER_TIMER=y
129+
CONFIG_LEDS_TRIGGER_ONESHOT=y
130+
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
131+
CONFIG_LEDS_TRIGGER_CPU=y
132+
CONFIG_LEDS_TRIGGER_GPIO=y
133+
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
134+
CONFIG_LEDS_TRIGGER_TRANSIENT=y
135+
CONFIG_LEDS_TRIGGER_CAMERA=y
136+
CONFIG_DMADEVICES=y
137+
CONFIG_DMA_BCM2835=y
138+
CONFIG_STAGING=y
139+
CONFIG_SND_BCM2835=m
140+
CONFIG_VIDEO_BCM2835=m
141+
CONFIG_CLK_RASPBERRYPI=y
142+
CONFIG_MAILBOX=y
143+
CONFIG_BCM2835_MBOX=y
144+
# CONFIG_IOMMU_SUPPORT is not set
145+
CONFIG_RASPBERRYPI_POWER=y
146+
CONFIG_PWM=y
147+
CONFIG_PWM_BCM2835=y
148+
CONFIG_EXT2_FS=y
149+
CONFIG_EXT2_FS_XATTR=y
150+
CONFIG_EXT2_FS_POSIX_ACL=y
151+
CONFIG_EXT4_FS=y
152+
CONFIG_EXT4_FS_POSIX_ACL=y
153+
CONFIG_FANOTIFY=y
154+
CONFIG_MSDOS_FS=y
155+
CONFIG_VFAT_FS=y
156+
CONFIG_TMPFS=y
157+
CONFIG_TMPFS_POSIX_ACL=y
158+
# CONFIG_MISC_FILESYSTEMS is not set
159+
CONFIG_NFS_FS=y
160+
CONFIG_ROOT_NFS=y
161+
CONFIG_NFSD=y
162+
CONFIG_NLS_CODEPAGE_437=y
163+
CONFIG_NLS_ASCII=y
164+
CONFIG_NLS_ISO8859_1=y
165+
CONFIG_NLS_UTF8=y
166+
# CONFIG_XZ_DEC_ARM is not set
167+
# CONFIG_XZ_DEC_ARMTHUMB is not set
168+
CONFIG_DMA_CMA=y
169+
CONFIG_CMA_SIZE_MBYTES=32
170+
CONFIG_PRINTK_TIME=y
171+
CONFIG_BOOT_PRINTK_DELAY=y
172+
CONFIG_DYNAMIC_DEBUG=y
173+
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
174+
CONFIG_DEBUG_FS=y
175+
CONFIG_KGDB=y
176+
CONFIG_KGDB_KDB=y
177+
CONFIG_DEBUG_MEMORY_INIT=y
178+
CONFIG_FUNCTION_PROFILER=y
179+
CONFIG_STACK_TRACER=y
180+
CONFIG_SCHED_TRACER=y
181+
CONFIG_STRICT_DEVMEM=y
182+
CONFIG_TEST_KSTRTOX=y

drivers/gpu/drm/panel/Kconfig

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1221,4 +1221,18 @@ config DRM_PANEL_XINPENG_XPP055C272
12211221
Say Y here if you want to enable support for the Xinpeng
12221222
XPP055C272 controller for 720x1280 LCD panels with MIPI/RGB/SPI
12231223
system interfaces.
1224+
1225+
config DRM_PANEL_EDATEC_7INCH
1226+
tristate "EDATEC 7INCH TFT LCD panel driver"
1227+
depends on OF
1228+
depends on DRM_MIPI_DSI
1229+
depends on BACKLIGHT_CLASS_DEVICE
1230+
help
1231+
Say Y here if you want to enable support for the EDATEC 7-inch industrial
1232+
display panels, such as those found on the ED-HMI2120-070C and
1233+
ED-HMI3010-070C series panel PCs.
1234+
1235+
These panels feature a 7-inch TFT LCD with 1024x600 resolution, 24-bit
1236+
color, capacitive multi-touch, and a MIPI DSI interface. Some variants
1237+
may include an LED backlight that can be controlled via PWM.
12241238
endmenu

drivers/gpu/drm/panel/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,3 +122,4 @@ obj-$(CONFIG_DRM_PANEL_WAVESHARE_TOUCHSCREEN) += panel-waveshare-dsi.o
122122
obj-$(CONFIG_DRM_PANEL_WAVESHARE_TOUCHSCREEN_V2) += panel-waveshare-dsi-v2.o
123123
obj-$(CONFIG_DRM_PANEL_WIDECHIPS_WS2401) += panel-widechips-ws2401.o
124124
obj-$(CONFIG_DRM_PANEL_XINPENG_XPP055C272) += panel-xinpeng-xpp055c272.o
125+
obj-$(CONFIG_DRM_PANEL_EDATEC_7INCH) += panel-edatec-dsi.o

0 commit comments

Comments
 (0)