板子: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
佬们,请帮我看看,为啥我的屏幕顶部有一部分区域是无法触摸的,点击屏幕 没有反应,点击其它区域倒是有反应
设备树文件
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文件提取出来的,填上去依然没有用
};
离线
补充一下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: -- -- -- -- -- -- -- --
离线
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)
离线
最后如同楼上的老哥说的一样,重新写一下GT911的寄存器就行了,参考这个https://wiki.sipeed.com/soft/Lichee/zh/Nano-Doc-Backup/driver/touchscreen.html
离线