您尚未登录。

楼主 # 2025-06-03 15:47:44

89399074
会员
注册时间: 2022-04-14
已发帖子: 7
积分: 3

F1C200s 800*480 4.3寸电容触摸屏 屏幕顶部无法触摸

板子:LCPI F1C200S Nand Flash
屏幕: 4.3 寸 电容触摸屏 分辨率 800*480
触摸: GT911
使用的SDK是https://github.com/aodzip/buildroot-tiny200的开发板
启动log:
Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.4.99 (test@lc-es-vm) (gcc version 8.4.0 (Buildroot -g4a14fb0-dirty)) #2 Sat May 31 02:03:45 CST 2025
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] OF: fdt: Machine model: Widora MangoPi R3
[    0.000000] Memory policy: Data cache writeback
[    0.000000] cma: Reserved 16 MiB at 0x82c00000
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 15883
[    0.000000] Kernel command line: console=ttyS0,115200 rootwait init=/preinit root=/dev/mtdblock2 rootfstype=squashfs overlayfsdev=/dev/mtdblock3 net.ifnames=0 vt.global_cursor_default=0
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 37232K/64036K available (6144K kernel code, 248K rwdata, 1680K rodata, 1024K init, 225K bss, 10420K reserved, 16384K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] random: get_random_bytes called from start_kernel+0x254/0x444 with crng_init=0
[    0.000032] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.000090] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000504] Console: colour dummy device 80x30
[    0.000572] Calibrating delay loop... 430.08 BogoMIPS (lpj=2150400)
[    0.060107] pid_max: default: 32768 minimum: 301
[    0.060406] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.060436] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.061575] CPU: Testing write buffer coherency: ok
[    0.062900] Setting up static identity map for 0x80100000 - 0x80100058
[    0.063731] devtmpfs: initialized
[    0.069900] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.069939] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.072514] pinctrl core: initialized pinctrl subsystem
[    0.074046] NET: Registered protocol family 16
[    0.076109] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.077340] cpuidle: using governor menu
[    0.101020] SCSI subsystem initialized
[    0.101242] usbcore: registered new interface driver usbfs
[    0.101373] usbcore: registered new interface driver hub
[    0.101473] usbcore: registered new device driver usb
[    0.101728] mc: Linux media interface: v0.10
[    0.101802] videodev: Linux video capture interface: v2.00
[    0.101867] pps_core: LinuxPPS API ver. 1 registered
[    0.101879] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.101916] PTP clock support registered
[    0.102564] ion_parse_dt_heap_common: id 4 type 4 name cma align 1000
[    0.103122] Advanced Linux Sound Architecture Driver Initialized.
[    0.104530] clocksource: Switched to clocksource timer
[    0.105638] simple-framebuffer 83e89000.framebuffer: framebuffer at 0x83e89000, 0x177000 bytes, mapped to 0x(ptrval)
[    0.105672] simple-framebuffer 83e89000.framebuffer: format=x8r8g8b8, mode=800x480x32, linelength=3200
[    0.118616] Console: switching to colour frame buffer device 100x30
[    0.130604] simple-framebuffer 83e89000.framebuffer: fb0: simplefb registered!
[    0.148876] thermal_sys: Registered thermal governor 'step_wise'
[    0.149328] NET: Registered protocol family 2
[    0.150229] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.150280] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.150310] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.150336] TCP: Hash tables configured (established 1024 bind 1024)
[    0.150537] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.150577] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.150915] NET: Registered protocol family 1
[    0.152427] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.153514] Initialise system trusted keyrings
[    0.153944] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[    0.165986] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.166334] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    0.217859] Key type asymmetric registered
[    0.217883] Asymmetric key parser 'x509' registered
[    0.217994] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[    0.218010] io scheduler mq-deadline registered
[    0.218019] io scheduler kyber registered
[    0.226675] suniv-f1c100s-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[    0.239872] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[    0.243451] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pa not found, using dummy regulator
[    0.244263] printk: console [ttyS0] disabled
[    0.264431] 1c25400.serial: ttyS0 at MMIO 0x1c25400 (irq = 26, base_baud = 6250000) is a 16550A
[    0.730400] printk: console [ttyS0] enabled
[    0.740131] SCSI Media Changer driver v0.25
[    0.745480] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pc not found, using dummy regulator
[    0.757638] spi-nand spi0.0: GigaDevice SPI NAND was found.
[    0.763214] spi-nand spi0.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
[    0.772330] 5 fixed-partitions partitions found on MTD device spi0.0
[    0.778752] Creating 5 MTD partitions on "spi0.0":
[    0.783543] 0x000000000000-0x000000100000 : "u-boot"
[    0.793585] 0x000000100000-0x000000600000 : "kernel"
[    0.798962] random: fast init done
[    0.818728] 0x000000600000-0x000003000000 : "rom"
[    0.944080] 0x000003000000-0x000004000000 : "vendor"
[    0.996715] 0x000004000000-0x000007000000 : "overlay"
[    1.058890] random: crng init done
[    1.143114] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.149717] ehci-platform: EHCI generic platform driver
[    1.155221] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.161419] ohci-platform: OHCI generic platform driver
[    1.167037] usbcore: registered new interface driver usb-storage
[    1.173616] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[    1.186288] i2c /dev entries driver
[    1.190156] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pd not found, using dummy regulator
[    1.201986] Goodix-TS 0-0014: 0-0014 supply AVDD28 not found, using dummy regulator
[    1.209854] Goodix-TS 0-0014: 0-0014 supply VDDIO not found, using dummy regulator
[    1.217692] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pe not found, using dummy regulator
[    1.346143] Goodix-TS 0-0014: ID 911, version: 1060
[    1.352141] sun4i-csi 1cb0000.csi: Packed (RAW) format enabled.
[    1.359057] Goodix-TS 0-0014: Direct firmware load for goodix_911_cfg.bin failed with error -2
[    1.368392] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[    1.377627] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pf not found, using dummy regulator
[    1.404636] input: Goodix Capacitive TouchScreen as /devices/platform/soc/1c27000.i2c/i2c-0/0-0014/input/input0
[    1.415005] sunxi-mmc 1c0f000.mmc: initialized, max. request size: 16384 KB
[    1.423351] usbcore: registered new interface driver usbhid
[    1.429005] usbhid: USB HID core driver
[    1.433033] sunxi-cedar 1c0e000.video-codec: sunxi cedar version 0.01alpha
[    1.440189] sunxi-cedar 1c0e000.video-codec: cedar-ve the get irq is 19
[    1.450561] debugfs: Directory '1c23c00.codec' with parent 'F1C100s Audio Codec' already present!
[    1.463190] sun4i-codec 1c23c00.codec: Codec <-> 1c23c00.codec mapping ok
[    1.475616] NET: Registered protocol family 17
[    1.480165] Key type dns_resolver registered
[    1.485344] Loading compiled-in X.509 certificates
[    1.497571] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    1.511137] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    1.517875] ALSA device list:
[    1.520849]   #0: F1C100s Audio Codec
[    1.525026] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    1.533658] cfg80211: failed to load regulatory.db
[    1.545801] VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
[    1.562914] devtmpfs: mounted
[    1.568748] Freeing unused kernel memory: 1024K
[    1.573342] Run /preinit as init process
[    3.692192] overlayfs: upper fs does not support tmpfile.
[    3.697679] overlayfs: upper fs does not support xattr, falling back to index=off and metacopy=off.
Starting syslogd: OK
Starting klogd: OK
Running sysctl: OK
Populating /dev using udev: [    4.560518] udevd[92]: starting version 3.2.9
[    4.909991] udevd[93]: starting eudev-3.2.9
[    6.235436] ov2640 0-0030: Product ID error fa:fa
done
Initializing random number generator: OK
Saving random seed: OK
Starting haveged: haveged: listening socket at 3
OK
Starting network: OK
Starting uMTPrd: [    7.601824] file system registered
[    7.888625] read descriptors
[    7.891544] read strings
OK

佬们,请帮我看看,为啥我的屏幕顶部有一部分区域是无法触摸的,点击屏幕 没有反应,点击其它区域倒是有反应
 4.3寸触摸屏

设备树文件
pinctrl-names = "default";
    pinctrl-0 = <&i2c0_pd_pins>;
    status = "okay";

    ctp@5d {
        compatible = "goodix,gt911";
        reg = <0x14>;//0x5d也试过了,但是也没有用
        interrupt-parent = <&pio>;
        interrupts = <4 12 IRQ_TYPE_EDGE_FALLING>; // PE12
        irq-gpios = <&pio 4 12 GPIO_ACTIVE_HIGH>; // PE12
        reset-gpios = <&pio 0 0 GPIO_ACTIVE_HIGH>; // PA0
        touchscreen-size-x = <800>;
        touchscreen-size-y = <480>;
        touchscreen-inverted-x;
        touchscreen-inverted-y;
        goodix,cfg-data = [82 00 04 58 02 05 3D 20 22 08 28 08 5F 41 03 05 00 00 00 00 00 00 00 17 1A 1E 14 8C 2E 0E 99 9B B2 04 00 00 00 22 01 1D 00 01 00 00 00 00 00 00 00 00 00 82 B4 9E D5 F4 07 00 00 04 89 86 00 84 8F 00 7F 99 00 7B A3 00 77 AE 00 77 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 04 06 08 0A 0C 0E 10 12 14 16 18 1A 1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 04 06 08 0A 0C 0F 10 12 13 14 16 18 1C 1D 1E 1F 20 21 22 24 26 28 29 2A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 AA 01];//这里是商家给的cfg文件提取出来的,填上去依然没有用

    };

离线

楼主 #1 2025-06-03 15:56:03

89399074
会员
注册时间: 2022-04-14
已发帖子: 7
积分: 3

Re: F1C200s 800*480 4.3寸电容触摸屏 屏幕顶部无法触摸

补充一下I2C 扫描出来的结果
# i2cdetect -y -r 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

离线

#2 2025-06-03 21:22:57

nlive
会员
注册时间: 2024-08-14
已发帖子: 9
积分: 54

Re: F1C200s 800*480 4.3寸电容触摸屏 屏幕顶部无法触摸

linux写入错误导致的,CFG data错误,需要重新写入 gt11 0x8047-0x8100 186个寄存器。

参考裸机烧录例子:

https://gitee.com/dmcus/F1C200S/tree/master/sources/examples/gt911_4.3_800x480

修改  gt911_4.3.h #define GT9XX_SEND_CFG 1 。

离线

楼主 #3 2025-06-03 22:58:56

89399074
会员
注册时间: 2022-04-14
已发帖子: 7
积分: 3

Re: F1C200s 800*480 4.3寸电容触摸屏 屏幕顶部无法触摸

nlive 说:

linux写入错误导致的,CFG data错误,需要重新写入 gt11 0x8047-0x8100 186个寄存器。

参考裸机烧录例子:

https://gitee.com/dmcus/F1C200S/tree/master/sources/examples/gt911_4.3_800x480

修改  gt911_4.3.h #define GT9XX_SEND_CFG 1 。

看了下,裸机烧录超级麻烦呀,佬有没有Linux方面的 解决办法

最近编辑记录 89399074 (2025-06-04 13:20:07)

离线

#4 2025-06-04 17:05:45

nlive
会员
注册时间: 2024-08-14
已发帖子: 9
积分: 54

Re: F1C200s 800*480 4.3寸电容触摸屏 屏幕顶部无法触摸

参考寄存器数组,自己写个linux的gt911的读写程序,把 gt11 0x8047-0x8100 186个寄存器重新写入就可以了。我就是遇到烧录linux后触摸异常才做的这个裸机程序,成功恢复GT911.

有的linux系统会写入goodix,cfg-data,这个cfg data写入错了,这个数组你要看linux GT911底层驱动是怎么写入的,有的驱动写入数组的顺序或者下表不对,186个寄存器写入就错误了。

最近编辑记录 nlive (2025-06-04 17:07:13)

离线

楼主 #5 2025-06-05 09:55:41

89399074
会员
注册时间: 2022-04-14
已发帖子: 7
积分: 3

Re: F1C200s 800*480 4.3寸电容触摸屏 屏幕顶部无法触摸

最后如同楼上的老哥说的一样,重新写一下GT911的寄存器就行了,参考这个https://wiki.sipeed.com/soft/Lichee/zh/Nano-Doc-Backup/driver/touchscreen.html

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn