This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM3352:使用 linuxfb 平台运行 QT 应用程序时触摸屏出现问题

Guru**** 1091410 points
Other Parts Discussed in Thread: AM3352, TMDSSK3358
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1184741/am3352-issues-with-touchscreen-when-running-qt-applications-using-linuxfb-platform

器件型号:AM3352
主题中讨论的其他器件: TMDSSK3358
您好!
我们尝试在基于 AM3352的定制板上运行 QT 应用程序、并使用 linuxfb 平台来执行 QT 应用程序。
通过此主题(e2e.ti.com/.../am3352-am3352--failed-to-create-wl_display-no-such-file-or-directory)、我们确认 AM3352没有 GPU 块。 因此、似乎无法在其他平台(如 eglfs、wayland 等)中运行 QT 应用程序(需要初始化图形驱动程序)。
使用 linuxfb 平台时,我们可以启动 QT 应用程序,但我们遇到了触摸界面问题。
触摸输入在屏幕边缘附近无法正常工作。 当我们触摸边缘时、输入无法识别、或者选择了具有一些偏移的不同区域。
同时、如果我们使用鼠标、我们可以在屏幕的所有区域正确单击按钮。 所以,我们相信 QT 应用程序可以按预期工作,而问题在于 linuxfb 平台。
我们能够在使用 evtest 工具和 ts_calibrate 工具时收到正确的响应、因此触摸屏界面在驱动器级别正常工作。
请就以下问题发表意见:
1)是否可以在没有 GPU 块的情况下使用 eglf 平台。如果是、您能否指向一些详细说明步骤的文档。
2) 2)是否可以将"linuxfb"以外的其他平台用于我们的定制 AM3352电路板。 我们的应用不需要硬件加速。  
3) 3)是否有任何方法可以解决触摸屏问题。
更多信息:

更多信息:
AM3352BZCZ SoC
512MB Samsung K4B4G1646B DDR3 RAM

SDK 版本:08_02_00_24
内核版本:5.10.100
U-Boot 版本:U-boot-2021.01
RFS:tisdk-default-image-am335x-evm

完整内核日志:

U-Boot SPL 2021.01-00003-gebb601d2e2-dirty (Oct 04 2022 - 12:12:52 +0530)
Trying to boot from MMC1


U-Boot 2021.01-00003-gebb601d2e2-dirty (Oct 04 2022 - 12:12:52 +0530)

CPU  : AM335X-GP rev 2.1
Model: Custom AM335x Custom
DRAM:  512 MiB
WDT:   Started with servicing (60s timeout)
NAND:  0 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from FAT... *** Warning - bad CRC, using default environment

<ethaddr> not set. Validating first E-fuse MAC
Net:   eth2: ethernet@4a100000
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
Failed to load 'boot.scr'
366 bytes read in 2 ms (178.7 KiB/s)
Loaded env from uEnv.txt
Importing environment from mmc0 ...
Running uenvcmd ...
4997696 bytes read in 849 ms (5.6 MiB/s)
62038 bytes read in 16 ms (3.7 MiB/s)
## Booting kernel from Legacy Image at 82000000 ...
   Image Name:   Linux-5.10.100-g7a7a3af903
   Created:      2022-12-08   6:18:46 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4997632 Bytes = 4.8 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Kernel Image
   Loading Device Tree to 8ffed000, end 8ffff255 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.10.100-g7a7a3af903 (vishwambhark@31197-427773) (arm-none-linux-gnueabihf-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025, GNU ld (GNU Tool2
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Baxter AK98 
[    0.000000] Memory policy: Data cache writeback
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 48 MiB at 0x84800000
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000080000000-0x0000000087efffff]
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080000000-0x0000000087efffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x0000000087efffff]
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] AM335X ES2.1 (neon)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32226
[    0.000000] Kernel command line: console=ttyO0,115200n8 noinitrd rw rootfstype=ext3 root=/dev/mmcblk0p2 rootwait mem=128M
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 62976K/130048K available (10240K kernel code, 695K rwdata, 3408K rodata, 1024K init, 280K bss, 17920K reserved, 49152K cma-reserved, 0K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] IRQ: Found an INTC at 0x(ptrval) (revision 5.0) with 128 interrupts
[    0.000000] random: get_random_bytes called from start_kernel+0x30c/0x4c8 with crng_init=0
[    0.000000] TI gptimer clocksource: always-on /ocp/interconnect@44c00000/segment@200000/target-module@31000
[    0.000009] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.000028] clocksource: dmtimer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000349] TI gptimer clockevent: 24000000 Hz at /ocp/interconnect@48000000/segment@0/target-module@40000
[    0.001265] Console: colour dummy device 80x30
[    0.001306] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
[    0.001314] This ensures that you still see kernel messages. Please
[    0.001320] update your kernel commandline.
[    0.001376] Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)
[    0.090422] pid_max: default: 32768 minimum: 301
[    0.090582] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.090599] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.091485] CPU: Testing write buffer coherency: ok
[    0.091567] CPU0: Spectre v2: using BPIALL workaround
[    0.092444] Setting up static identity map for 0x80100000 - 0x80100060
[    0.092590] rcu: Hierarchical SRCU implementation.
[    0.092686] EFI services will not be available.
[    0.093053] devtmpfs: initialized
[    0.102611] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    0.102875] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.102903] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.106344] pinctrl core: initialized pinctrl subsystem
[    0.107355] DMI not present or invalid.
[    0.107837] NET: Registered protocol family 16
[    0.110115] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.127690] l3-aon-clkctrl:0000:0: failed to disable
[    0.128910] thermal_sys: Registered thermal governor 'fair_share'
[    0.128920] thermal_sys: Registered thermal governor 'bang_bang'
[    0.128935] thermal_sys: Registered thermal governor 'step_wise'
[    0.128942] thermal_sys: Registered thermal governor 'user_space'
[    0.129284] cpuidle: using governor ladder
[    0.129317] cpuidle: using governor menu
[    0.705143] No ATAGs?
[    0.705175] hw-breakpoint: debug architecture 0x4 unsupported.
[    0.728083] iommu: Default domain type: Translated 
[    0.730069] SCSI subsystem initialized
[    0.730770] mc: Linux media interface: v0.10
[    0.730822] videodev: Linux video capture interface: v2.00
[    0.730936] pps_core: LinuxPPS API ver. 1 registered
[    0.730945] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.730969] PTP clock support registered
[    0.731032] EDAC MC: Ver: 3.0.0
[    0.732235] Advanced Linux Sound Architecture Driver Initialized.
[    0.733628] clocksource: Switched to clocksource dmtimer
[    0.741274] NET: Registered protocol family 2
[    0.741458] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.742355] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.742390] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.742410] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.742428] TCP: Hash tables configured (established 1024 bind 1024)
[    0.742549] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.742572] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.742698] NET: Registered protocol family 1
[    0.743268] RPC: Registered named UNIX socket transport module.
[    0.743283] RPC: Registered udp transport module.
[    0.743290] RPC: Registered tcp transport module.
[    0.743297] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.743316] PCI: CLS 0 bytes, default 64
[    0.744436] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
[    0.745684] Initialise system trusted keyrings
[    0.746069] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    0.749681] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.750498] NFS: Registering the id_resolver key type
[    0.750552] Key type id_resolver registered
[    0.750562] Key type id_legacy registered
[    0.750656] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.750669] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    0.750710] ntfs: driver 2.1.32 [Flags: R/O].
[    0.751338] Key type asymmetric registered
[    0.751357] Asymmetric key parser 'x509' registered
[    0.751416] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244)
[    0.751428] io scheduler mq-deadline registered
[    0.751437] io scheduler kyber registered
[    1.075089] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
[    1.178327] debugfs: Directory '49000000.dma' with parent 'dmaengine' already present!
[    1.178378] edma 49000000.dma: TI EDMA DMA engine driver
[    1.190501] pinctrl-single 44e10800.pinmux: 142 pins, size 568
[    1.194571] pwm-backlight backlight: supply power not found, using dummy regulator
[    1.243464] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
[    1.248314] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 20, base_baud = 3000000) is a 8250
[    1.927975] printk: console [ttyS0] enabled
[    1.935498] omap_rng 48310000.rng: Random Number Generator ver. 20
[    1.943721] random: fast init done
[    1.947428] random: crng init done
[    1.968243] panel-simple panel: supply power not found, using dummy regulator
[    1.975944] panel-simple panel: Specify missing connector_type
[    1.995456] brd: module loaded
[    2.005902] loop: module loaded
[    2.073670] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
[    2.083291] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver TI TLK10X 10/100 Mbps PHY
[    2.093282] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
[    2.099760] cpsw 4a100000.ethernet: ALE Table size 1024
[    2.105178] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
[    2.112410] cpsw 4a100000.ethernet: Detected MACID = 98:f0:7b:12:f6:85
[    2.121375] i2c /dev entries driver
[    2.128391] cpuidle: enable-method property 'ti,am3352' found operations
[    2.136064] sdhci: Secure Digital Host Controller Interface driver
[    2.142280] sdhci: Copyright(c) Pierre Ossman
[    2.147877] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.155431] sdhci-omap 48060000.mmc: supply vqmmc not found, using dummy regulator
[    2.164572] ledtrig-cpu: registered to indicate activity on CPUs
[    2.174315] sdhci-omap 481d8000.mmc: supply vqmmc not found, using dummy regulator
[    2.197385] davinci-mcasp 4803c000.mcasp: IRQ common not found
[    2.225309] NET: Registered protocol family 10
[    2.234233] Segment Routing with IPv6
[    2.238005] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    2.259762] NET: Registered protocol family 17
[    2.269546] Key type dns_resolver registered
[    2.281698] mmc0: SDHCI controller on 48060000.mmc [48060000.mmc] using External DMA
[    2.290366] omap_voltage_late_init: Voltage driver support not added
[    2.301826] Loading compiled-in X.509 certificates
[    2.331511] OMAP GPIO hardware version 0.1
[    2.337822] mmc0: new high speed SDXC card at address 59b4
[    2.344897] mmcblk0: mmc0:59b4 SD64G 59.4 GiB 
[    2.349434] mmc1: SDHCI controller on 481d8000.mmc [481d8000.mmc] using External DMA
[    2.360110]  mmcblk0: p1 p2
[    2.374787] tps65217-pmic: Failed to locate of_node [id: -1]
[    2.398978] tps65217-bl: Failed to locate of_node [id: -1]
[    2.408938] tps65217 0-0024: TPS65217 ID 0xe version 1.2
[    2.414973] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 100 kHz
[    2.425957] mmc1: new high speed MMC card at address 0001
[    2.441925] omap_reset_deassert: timedout waiting for gfx:0
[    2.448084] mmcblk1: mmc1:0001 Q2J54A 3.64 GiB 
[    2.453009] mmcblk1boot0: mmc1:0001 Q2J54A partition 1 2.00 MiB
[    2.459358] mmcblk1boot1: mmc1:0001 Q2J54A partition 2 2.00 MiB
[    2.465456] ti-sysc: probe of 5600fe00.target-module failed with error -110
[    2.474042] mmcblk1rpmb: mmc1:0001 Q2J54A partition 3 512 KiB, chardev (243:0)
[    2.483340] [drm] Initialized tilcdc 1.0.0 20121205 for 4830e000.lcdc on minor 0
[    2.493462]  mmcblk1: p1 p2 p3 < p5 >
[    2.551114] Console: switching to colour frame buffer device 100x37
[    2.571845] tilcdc 4830e000.lcdc: [drm] fb0: tilcdcdrmfb frame buffer device
[    2.581368] ALSA device list:
[    2.584688]   No soundcards found.
[    2.590180] EXT4-fs (mmcblk0p2): mounting ext3 file system using the ext4 subsystem
[    2.664845] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    2.673137] VFS: Mounted root (ext3 filesystem) on device 179:2.
[    2.687750] devtmpfs: mounted
[    2.692662] Freeing unused kernel memory: 1024K
[    2.697933] Run /sbin/init as init process
[    3.057068] systemd[1]: System time before build time, advancing clock.
[    3.110657] systemd[1]: systemd 244 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR -SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN)
[    3.133440] systemd[1]: Detected architecture arm.

Welcome to Arago 2021.09!

[    3.175153] systemd[1]: Set hostname to <am335x-evm>.
[    3.980567] systemd[1]: system-getty.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
[    3.993248] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
[    4.006761] systemd[1]: Created slice system-getty.slice.
[  OK  ] Created slice system-getty.slice.
[    4.049121] systemd[1]: Created slice system-serial\x2dgetty.slice.
[  OK  ] Created slice system-serial\x2dgetty.slice.
[    4.086037] systemd[1]: Created slice User and Session Slice.
[  OK  ] Created slice User and Session Slice.
[    4.125456] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Started Dispatch Password …ts to Console Directory Watch.
[    4.165206] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Started Forward Password R…uests to Wall Directory Watch.
[    4.204625] systemd[1]: Reached target Paths.
[  OK  ] Reached target Paths.
[    4.244507] systemd[1]: Reached target Remote File Systems.
[  OK  ] Reached target Remote File Systems.
[    4.284110] systemd[1]: Reached target Slices.
[  OK  ] Reached target Slices.
[    4.324528] systemd[1]: Reached target Swap.
[  OK  ] Reached target Swap.
[    4.384791] systemd[1]: Listening on RPCbind Server Activation Socket.
[  OK  ] Listening on RPCbind Server Activation Socket.
[    4.424104] systemd[1]: Reached target RPC Port Mapper.
[  OK  ] Reached target RPC Port Mapper.
[    4.483109] systemd[1]: Listening on Process Core Dump Socket.
[  OK  ] Listening on Process Core Dump Socket.
[    4.524657] systemd[1]: Listening on initctl Compatibility Named Pipe.
[  OK  ] Listening on initctl Compatibility Named Pipe.
[    4.620606] systemd[1]: Condition check resulted in Journal Audit Socket being skipped.
[    4.631604] systemd[1]: Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket (/dev/log).
[    4.676677] systemd[1]: Listening on Journal Socket.
[  OK  ] Listening on Journal Socket.
[    4.715834] systemd[1]: Listening on Network Service Netlink Socket.
[  OK  ] Listening on Network Service Netlink Socket.
[    4.756635] systemd[1]: Listening on udev Control Socket.
[  OK  ] Listening on udev Control Socket.
[    4.795801] systemd[1]: Listening on udev Kernel Socket.
[  OK  ] Listening on udev Kernel Socket.
[    4.835121] systemd[1]: Condition check resulted in Huge Pages File System being skipped.
[    4.853153] systemd[1]: Mounting POSIX Message Queue File System...
         Mounting POSIX Message Queue File System...
[    4.913041] systemd[1]: Mounting Kernel Debug File System...
         Mounting Kernel Debug File System...
[    4.986008] systemd[1]: Mounting Temporary Directory (/tmp)...
         Mounting Temporary Directory (/tmp)...
[    5.005317] systemd[1]: Condition check resulted in Create list of static device nodes for the current kernel being skipped.
[    5.027053] systemd[1]: Starting Start psplash boot splash screen...
         Starting Start psplash boot splash screen...
[    5.084742] systemd[1]: Starting RPC Bind...
         Starting RPC Bind...
[    5.124388] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
[    5.177894] systemd[1]: Starting Journal Service...
         Starting Journal Service...
[    5.234923] systemd[1]: Starting Load Kernel Modules...
         Starting Load Kernel Modules...
[    5.276558] systemd[1]: Starting Remount Root and Kernel File Systems...
[    5.300557] cryptodev: loading out-of-tree module taints kernel.
         Starting Remount Root and Kernel File Systems   5.327575] cryptodev: driver 1.10 loaded.
[0m...
[    5.351112] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[    5.370959] systemd[1]: Starting udev Coldplug all Devices...
         Starting udev Coldplug all Devices...
[    5.487305] systemd[1]: Started Start psplash boot splash screen.
[  OK  ] Started Start psplash boot splash screen.
[    5.544904] systemd[1]: Started RPC Bind.
[  OK  ] Started RPC Bind.
[    5.565602] systemd[1]: Mounted POSIX Message Queue File System.
[  OK  ] Mounted POSIX Message Queue File System.
[    5.595762] systemd[1]: Mounted Kernel Debug File System.
[  OK  ] Mounted Kernel Debug File System.
[    5.615358] systemd[1]: Mounted Temporary Directory (/tmp).
[  OK  ] Mounted Temporary Directory (/tmp).
[    5.648769] systemd[1]: Started Load Kernel Modules.
[  OK  ] Started Load Kernel Modules.
[    5.705173] systemd[1]: Started Remount Root and Kernel File Systems.
[  OK  ] Started Remount Root and Kernel File Systems.
[    5.736485] systemd[1]: Condition check resulted in FUSE Control File System being skipped.
[    5.777986] systemd[1]: Mounting Kernel Configuration File System...
         Mounting Kernel Configuration File System...
[    5.850304] systemd[1]: Started Start psplash-systemd progress communication helper.
[  OK  ] Started Start psplash-syst…progress communication helper.
[    5.907320] systemd[1]: Condition check resulted in Rebuild Hardware Database being skipped.
[    5.926177] systemd[1]: Starting Apply Kernel Variables...
         Starting Apply Kernel Variables...
[    5.941689] systemd[1]: Condition check resulted in Create System Users being skipped.
[    5.978800] systemd[1]: Starting Create Static Device Nodes in /dev...
         Starting Create Static Device Nodes in /dev...
[    6.039626] systemd[1]: Started Journal Service.
[  OK  ] Started Journal Service.
[  OK  ] Mounted Kernel Configuration File System.
[  OK  ] Started Apply Kernel Variables.
[  OK  ] Started Create Static Device Nodes in /dev.
[  OK  ] Reached target Local File Systems (Pre).
         Mounting /media/ram...
         Mounting /var/volatile...
         Starting Flush Journal to Persistent Storage...
[    6.436727] systemd-journald[86]: Received client request to flush runtime journal.
         Starting udev Kernel Device Manager...
[  OK  ] Mounted /media/ram.
[  OK  ] Mounted /var/volatile.
[  OK  ] Started Flush Journal to Persistent Storage.
         Starting Load/Save Random Seed...
[  OK  ] Reached target Local File Systems.
         Starting Create Volatile Files and Directories...
[  OK  ] Started Load/Save Random Seed.
[  OK  ] Started Create Volatile Files and Directories.
         Starting Network Time Synchronization...
         Starting Update UTMP about System Boot/Shutdown...
[  OK  ] Started udev Kernel Device Manager.
[  OK  ] Started Update UTMP about System Boot/Shutdown.
[  OK  ] Started Network Time Synchronization.
[  OK  ] Reached target System Time Set.
[  OK  ] Reached target System Time Synchronized.
[  OK  ] Created slice system-systemd\x2dbacklight.slice.
         Starting Load/Save Screen …ness of backlight:backlight...
[    8.974960] remoteproc remoteproc0: wkup_m3 is available
[  OK  ] Started Load/Save Screen B…htness of backlight:backlight.
[  OK  ] Started udev Coldplug all Devices.
[    9.632115] omap_rtc 44e3e000.rtc: already running
[    9.637525] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
         Starting udev Wait for Complete Device Initialization...
[    9.735135] omap_rtc 44e3e000.rtc: registered as rtc0
[    9.780679] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01T00:14:26 UTC (946685666)
[   10.403249] remoteproc remoteproc0: powering up wkup_m3
[   10.503286] remoteproc remoteproc0: Booting fw image am335x-pm-firmware.elf, size 243276
[   10.599376] remoteproc remoteproc0: remote processor wkup_m3 is now up
[   10.599409] wkup_m3_ipc 44e11324.wkup_m3_ipc: CM3 Firmware Version = 0x192
[   10.901389] am335x-phy-driver 47401300.usb-phy: supply vcc not found, using dummy regulator
[   10.976851] usbcore: registered new interface driver usbfs
[   10.982447] usbcore: registered new interface driver hub
[   11.007951] usbcore: registered new device driver usb
[   11.025519] am335x-phy-driver 47401b00.usb-phy: supply vcc not found, using dummy regulator
[   11.141520] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
[   11.292062] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
[   11.354072] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[   11.362401] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   11.553787] usb usb1: Product: MUSB HDRC host driver
[   11.558804] usb usb1: Manufacturer: Linux 5.10.100-g7a7a3af903 musb-hcd
[   11.686647] usb usb1: SerialNumber: musb-hdrc.0
[   11.730832] hub 1-0:1.0: USB hub found
[   11.784095] hub 1-0:1.0: 1 port detected
[   11.900944] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
[   12.021954] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
[   12.124293] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[   12.194153] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   12.201436] usb usb2: Product: MUSB HDRC host driver
[   12.350318] usb usb2: Manufacturer: Linux 5.10.100-g7a7a3af903 musb-hcd
[   12.434649] usb usb2: SerialNumber: musb-hdrc.1
[   12.484989] hub 2-0:1.0: USB hub found
[   12.530082] hub 2-0:1.0: 1 port detected
[   12.905831] CAN device driver interface
[   13.045018] c_can_platform 481cc000.can: c_can_platform device registered (regs=93453c1c, irq=39)
[   14.401192] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
[   14.475231] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
[   14.517353] omap-sham 53100000.sham: will run requests pump with realtime priority
[   14.553862] omap-aes 53500000.aes: will run requests pump with realtime priority
[   15.066025] PM: bootloader does not support rtc-only!
[ ***  ] A start job is running for udev Wai…ice Initialization (18s / 3min 5s)
[  OK  ] Started udev Wait for Complete Device Initialization.
[  OK  ] Created slice system-systemd\x2dfsck.slice.
[  OK  ] Reached target Hardware activated USB gadget.
[  OK  ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
[  OK  ] Started Hardware RNG Entropy Gatherer Daemon.
[  OK  ] Reached target System Initialization.
[  OK  ] Started Daily rotation of log files.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Timers.
[  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Listening on dropbear.socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Basic System.
[  OK  ] Started Job spooling tools.
[  OK  ] Started Periodic Command Scheduler.
[  OK  ] Started D-Bus System Message Bus.
         Starting Print notice about GPLv3 packages...
         Starting IPv6 Packet Filtering Framework...
         Starting IPv4 Packet Filtering Framework...
         Starting Reboot and dump vmcore via kexec...
         Starting rc.pvr.service...
         Starting File System Check on /dev/mmcblk0p1...
         Starting File System Check on /dev/mmcblk1p2...
         Starting File System Check on /dev/mmcblk1p5...
         Starting Login Service...
[  OK  ] Started IPv6 Packet Filtering Framework.
[  OK  ] Started IPv4 Packet Filtering Framework.
[  OK  ] Started Reboot and dump vmcore via kexec.
[  OK  ] Started rc.pvr.service.
[  OK  ] Started File System Check on /dev/mmcblk1p5.
[  OK  ] Reached target Network (Pre).
         Mounting /run/media/mmcblk1p5...
         Starting Network Service...
         Starting weston.service...
[FAILED] Failed to mount /run/media/mmcblk1p5.
See 'systemctl status run-media-mmcblk1p5.mount' for details.
[  OK  ] Started File System Check on /dev/mmcblk0p1.
[  OK  ] Started File System Check on /dev/mmcblk1p2.
         Mounting /run/media/mmcblk0p1...
         Mounting /run/media/mmcblk1p2...
[  OK  ] Started weston.service.
         Starting Matrix GUI...
         Starting telnetd.service...
[  OK  ] Mounted /run/media/mmcblk0p1.
[  OK  ] Mounted /run/media/mmcblk1p2.
[  OK  ] Started Matrix GUI.
[  OK  ] Started telnetd.service.
[  OK  ] Started Network Service.
         Starting Wait for Network to be Configured...
[   28.918181] cpsw 4a100000.ethernet: initializing cpsw version 1.12 (0)
         Starting Network Name Resolution...
[   29.085255] TI TLK10X 10/100 Mbps PHY 4a101000.mdio:01: attached PHY driver [TI TLK10X 10/100 Mbps PHY] (mii_bus:phy_addr=4a101000.mdio:01, irq=POLL)
[  OK  ] Started Login Service.
[  OK  ] Started Network Name Resolution.
[  OK  ] Reached target Network.
[  OK  ] Reached target Host and Network Name Lookups.
         Starting Avahi mDNS/DNS-SD Stack...
         Starting Enable and configure wl18xx bluetooth stack...
[  OK  ] Started NFS status monitor for NFSv2/3 locking..
         Starting Simple Network Ma…ent Protocol (SNMP) Daemon....
         Starting Permit User Sessions...
[  OK  ] Started Enable and configure wl18xx bluetooth stack.
[  OK  ] Started Permit User Sessions.
[  OK  ] Started Avahi mDNS/DNS-SD Stack.
[  OK  ] Started Getty on tty1.
[  OK  ] Started Serial Getty on ttyS0.
[  OK  ] Started Serial Getty on ttyS3.
[  OK  ] Reached target Login Prompts.
         Starting Synchronize System and HW clocks...
[  OK  ] Created slice system-systemd\x2dcoredump.slice.
[  OK  ] Started Process Core Dump (PID 809/UID 0).
[  OK  ] Started Simple Network Man…ement Protocol (SNMP) Daemon..
[   33.123821] vmmcsd_fixed: disabling
[  OK  ] Started Synchronize System and HW clocks.
***************************************************************
***************************************************************
NOTICE: This file system contains the following GPLv3 packages:
        autoconf
        bash-dev
        bash
        bc
        binutils
        cifs-utils
        coreutils-stdbuf
        coreutils
        cpio
        cpp-symlinks
        cpp
        dosfstools
        elfutils
        g++-symlinks
        g++
        gawk
        gcc-symlinks
        gcc
        gdb
        gdbserver
        gettext
        glmark2
        gstreamer1.0-libav
        gzip
        hidapi
        less
        libasm1
        libbfd
        libdw1
        libelf1
        libgdbm-compat4
        libgdbm-dev
        libgdbm6
        libgettextlib
        libgettextsrc
        libgmp10
        libidn2-0
        libmpc3
        libmpfr6
        libreadline-dev
        libreadline8
        libunistring2
        m4-dev
        m4
        make
        nettle
        parted
        pdm-anomaly-detection
        tar
        which

If you do not wish to distribute GPLv3 components please remove
the above packages prior to distribution.  This can be done using
the opkg remove command.  i.e.:
    opkg remove <package>
Where <package> is the name printed in the list above

NOTE: If the package is a dependency of another package you
      will be notified of the dependent packages.  You should
      use the --force-removal-of-dependent-packages option to
      also remove the dependent packages as well
***************************************************************
***************************************************************
[  OK  ] Started Print notice about GPLv3 packages.

 _____                    _____           _         _   
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
              |___|                    |___|            

Arago Project http://arago-project.org am335x-evm ttyS0
am335x-evm login: [  150.199663] cryptd: max_cpu_qlen set to 1000
[  150.554785] Initializing XFRM netlink socket

am335x-evm login: root

DTS 文件:

/*
 * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */
/dts-v1/;

#include "am33xx.dtsi"
#include "am335x-custom-pinmux.dtsi"

/ {
	model = "Custom Board";
	compatible = "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx";

    memory@80000000 {
        device_type = "memory";
        reg = <0x80000000 0x10000000>; /* 512 MB */
        
    }; /*memory@80000000*/

    chosen {
        stdout-path = &uart0;
    
    }; /*chosen*/

	/*Regulator DTS configs*/
    vmmcsd_fixed: fixedregulator0 {
        compatible = "regulator-fixed";
        regulator-name = "vmmcsd_fixed";
        regulator-min-microvolt = <3300000>;
        regulator-max-microvolt = <3300000>;
        
    }; /*vmmcsd_fixed*/
        
    /*Sound Card DTS configs*/
	sound {
		compatible = "simple-audio-card";
		simple-audio-card,name = "Sound";
		simple-audio-card,format = "i2s";
		simple-audio-card,bitclock-master = <&sound_master>;
		simple-audio-card,frame-master = <&sound_master>;

		simple-audio-card,codec {
			sound-dai = <&amp>;
		};

		sound_master: simple-audio-card,cpu {
			sound-dai = <&mcasp1>;
			bitclock-master;
			frame-master;
			system-clock-frequency = <24576000>;
			system-clock-direction-out;
		};
	};
	
	backlight: backlight {
		compatible = "pwm-backlight";
		pwms = <&ecap0 0 50000 0>;
		brightness-levels = <0 51 53 56 62 75 101 152 255>;
		default-brightness-level = <8>;
	};
	
	/*LCD Panel DTS Configs*/	
	panel {
		compatible = "sharp,lq121s1lg88";

		pinctrl-names = "default";
		pinctrl-0 = <&lcdc0_pins_default>;
		backlight = <&backlight>;

		port {
			panel_0: endpoint@0 {
				remote-endpoint = <&lcdc_0>;
			};
		};
	};


}; /*root node */

/*LCDC DTS configs*/

&lcdc {
	status = "okay";

	port {
		lcdc_0: endpoint@0 {
			remote-endpoint = <&panel_0>;
		};
	};
};

/*UARTO DTS configs*/
&uart0 {
        pinctrl-names = "default";
        pinctrl-0 = <&uart0_pins_default>;
        status = "okay";
};

/*SD DTS configs*/
&mmc1 {
		pinctrl-names = "default";
		status = "okay";
};

/*eMMC DTS configs*/
&mmc2 {
		pinctrl-names = "default";
		bus-width = <8>;
		status = "okay";
};


/*I2C0 DTS configs*/
&i2c0 {
	pinctrl-names = "default";
	pinctrl-0 = <&myi2c0_pins_default>;
	status = "okay";
	
	tps: tps@24 {
		reg = <0x24>;
	};
	
	amp: amp@6c {
		#sound-dai-cells = <0>;
		compatible = "nxp,tfa9879";
		reg = <0x6c>;
	};	
};

/*CAN DTS configuration*/
&dcan0 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&mydcan0_pins_default>;
};

/*User LED DTS configs*/
&gpio2 {
	pinctrl-names = "default";
	pinctrl-0 = <&mygpio2_pins_default>;
	status = "okay";	
};

/*Ethernet DTS configs*/
&mac {
	pinctrl-names = "default";
	status = "okay";
	slaves = <1>;
};

&davinci_mdio {
	pinctrl-names = "default";
	status = "okay";

	ethphy0: ethernet-phy@1 {
		reg = <1>;
	};
};

&cpsw_emac0 {
	phy-handle = <&ethphy0>;
	phy-mode = "rmii";
};

/*USB Host DTS configs*/
&usb {
status = "okay";
};

&usb_ctrl_mod {
status = "okay";
};

&usb0_phy {
status = "okay";
};

&usb0 {
status = "okay";
dr_mode = "host";
};

/*McASP DTS configs*/
&mcasp1 {
	
	compatible = "ti,am33xx-mcasp-audio";
	#sound-dai-cells = <0>;
	pinctrl-names = "default";
	pinctrl-0 = <&mcasp_pins_default>;

	status = "okay";

	op-mode = <0>;          /* MCASP_IIS_MODE */
	tdm-slots = <2>;
	/* 4 serializers */
	num-serializer = <4>;
	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
		1 0 1 0
	>;
};

/*ADC Voltage Monitoring and Touchscreen DTS configs*/
&tscadc{

        compatible = "ti,am3359-tscadc";
        status = "okay";
        tsc {
            ti,wires = <5>;
            ti,x-plate-resistance = <200>;
            ti,coordinate-readouts = <5>;
            ti,wire-config = <0x00 0x11 0x22 0x33>;
            ti,charge-delay = <0x400>;
        };

        adc {
            ti,adc-channels = <5 6 7>;
        };
};

/*PWM DTS configs*/
&epwmss0 {
	status = "okay";
};	
	
&ecap0{
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&myecap0_pins_default>;
};

/*Volatge regulator DTS configs*/
/include/ "tps65217.dtsi"

&tps {

	interrupts = <7>; /* NMI */
	interrupt-parent = <&intc>;

	ti,pmic-shutdown-controller;

	charger {
		status = "okay";
	};

	regulators {
		dcdc1_reg: regulator@0 {
			regulator-name = "Z1V5PMIC";
			regulator-always-on;
		};

		dcdc2_reg: regulator@1 {
			/* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
			regulator-name = "Z1V1PMIC2";
			regulator-min-microvolt = <925000>;
			regulator-max-microvolt = <1351500>;
			regulator-boot-on;
			regulator-always-on;
		};

		dcdc3_reg: regulator@2 {
			/* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
			regulator-name = "Z1V1PMIC1";
			regulator-min-microvolt = <925000>;
			regulator-max-microvolt = <1150000>;
			regulator-boot-on;
			regulator-always-on;
		};

		ldo1_reg: regulator@3 {
			regulator-name = "Z1V8PMIC1";
			regulator-always-on;
		};

		ldo2_reg: regulator@4 {
			regulator-name = "Z3V3PMIC2";
			regulator-always-on;
		};

		ldo3_reg: regulator@5 {
			regulator-name = "Z1V8PMIC2";
			regulator-always-on;
		};

		ldo4_reg: regulator@6 {
			regulator-name = "Z3V3PMIC1";
			regulator-always-on;
		};
	};
};

DTS pinmux 文件:

/* This file was auto-generated by TI PinMux on 14/09/2022 at 12:44:06. */
/* This file should only be used as a reference. Some pins/peripherals, */
/* depending on your use case, may need additional configuration. */


&am33xx_pinmux {

	/*pinmux for mcasp1 interface - sound card*/
	mcasp_pins_default: mcasp_pins_default {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x918, PIN_OUTPUT | MUX_MODE4) /* (J17) gmii1_rxdv.mcasp1_aclkx */
			AM33XX_IOPAD(0x91c, PIN_OUTPUT | MUX_MODE4) /* (J18) gmii1_txd3.mcasp1_fsx */
			AM33XX_IOPAD(0x920, PIN_OUTPUT | MUX_MODE4) /* (K15) gmii1_txd2.mcasp1_axr0 */
			AM33XX_IOPAD(0x908, PIN_OUTPUT | MUX_MODE4) /* (H16) gmii1_col.mcasp1_axr2 */
		>;
	};
		
	/*pinmux for mmc0 interface - sd card*/
	mmc0_pins_default: mmc0_pins_default {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x900, PIN_INPUT | MUX_MODE0) /* (G17) mmc0_clk.mmc0_clk */
			AM33XX_IOPAD(0x904, PIN_INPUT | MUX_MODE0) /* (G18) mmc0_cmd.mmc0_cmd */
			AM33XX_IOPAD(0x8fc, PIN_INPUT | MUX_MODE0) /* (G16) mmc0_dat0.mmc0_dat0 */
			AM33XX_IOPAD(0x8f8, PIN_INPUT | MUX_MODE0) /* (G15) mmc0_dat1.mmc0_dat1 */
			AM33XX_IOPAD(0x8f4, PIN_INPUT | MUX_MODE0) /* (F18) mmc0_dat2.mmc0_dat2 */
			AM33XX_IOPAD(0x8f0, PIN_INPUT | MUX_MODE0) /* (F17) mmc0_dat3.mmc0_dat3 */
		>;
	};
	
	/*pinmux for mmc1 interface - eMMC*/
	mmc1_pins_default: mmc1_pins_default {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x880, PIN_INPUT | MUX_MODE2) /* (U9) gpmc_csn1.mmc1_clk */
			AM33XX_IOPAD(0x884, PIN_INPUT | MUX_MODE2) /* (V9) gpmc_csn2.mmc1_cmd */
			AM33XX_IOPAD(0x800, PIN_INPUT | MUX_MODE1) /* (U7) gpmc_ad0.mmc1_dat0 */
			AM33XX_IOPAD(0x804, PIN_INPUT | MUX_MODE1) /* (V7) gpmc_ad1.mmc1_dat1 */
			AM33XX_IOPAD(0x808, PIN_INPUT | MUX_MODE1) /* (R8) gpmc_ad2.mmc1_dat2 */
			AM33XX_IOPAD(0x80c, PIN_INPUT | MUX_MODE1) /* (T8) gpmc_ad3.mmc1_dat3 */
			AM33XX_IOPAD(0x810, PIN_INPUT | MUX_MODE1) /* (U8) gpmc_ad4.mmc1_dat4 */
			AM33XX_IOPAD(0x814, PIN_INPUT | MUX_MODE1) /* (V8) gpmc_ad5.mmc1_dat5 */
			AM33XX_IOPAD(0x818, PIN_INPUT | MUX_MODE1) /* (R9) gpmc_ad6.mmc1_dat6 */
			AM33XX_IOPAD(0x81c, PIN_INPUT | MUX_MODE1) /* (T9) gpmc_ad7.mmc1_dat7 */
		>;
	};

	/*pinmux for uart0 interface - Console UART*/
	uart0_pins_default: uart0_pins_default {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x970, PIN_INPUT | MUX_MODE0) /* (E15) uart0_rxd.uart0_rxd */
			AM33XX_IOPAD(0x974, PIN_OUTPUT | MUX_MODE0) /* (E16) uart0_txd.uart0_txd */
		>;
	};

	/*pinmux for i2c0 interface */
	myi2c0_pins_default: myi2c0_pins_default {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x98c, PIN_INPUT_PULLUP | MUX_MODE0) /* (C16) I2C0_SCL.I2C0_SCL */
			AM33XX_IOPAD(0x988, PIN_INPUT_PULLUP | MUX_MODE0) /* (C17) I2C0_SDA.I2C0_SDA */
		>;	
	};
	
	/*pinmux for can1 interface */
    /*CAN DTS configuration*/
    mydcan0_pins_default: mydcan0_pins_default {
        pinctrl-single,pins = <
            AM33XX_IOPAD(0x97c, PIN_INPUT | MUX_MODE2) /* (D17) uart1_rtsn.dcan0_rx */
            AM33XX_IOPAD(0x978, PIN_OUTPUT | MUX_MODE2) /* (D18) uart1_ctsn.dcan0_tx */
        >;
    };	

	/*pinmux for gpio pins - user leds*/
	mygpio2_pins_default: mygpio2_pins_default {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x890, PIN_INPUT | MUX_MODE7) /* (R7) gpmc_advn_ale.gpio2[2] */
			AM33XX_IOPAD(0x894, PIN_INPUT | MUX_MODE7) /* (T7) gpmc_oen_ren.gpio2[3] */
			AM33XX_IOPAD(0x898, PIN_INPUT | MUX_MODE7) /* (U6) gpmc_wen.gpio2[4] */
			AM33XX_IOPAD(0x89c, PIN_INPUT | MUX_MODE7) /* (T6) gpmc_be0n_cle.gpio2[5] */
		>;
	};
	
	/*pinmux for PWM*/
	myecap0_pins_default: myecap0_pins_default {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x964, PIN_OUTPUT | MUX_MODE0) /* (C18) eCAP0_in_PWM0_out.eCAP0_in_PWM0_out */
		>;
	};
	
	/*pinmux for LCD*/
	lcdc0_pins_default: lcdc0_pins_default {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x8e0, PIN_OUTPUT | MUX_MODE0) /* (U5) lcd_vsync.lcd_vsync */
			AM33XX_IOPAD(0x8e4, PIN_OUTPUT | MUX_MODE0) /* (R5) lcd_hsync.lcd_hsync */
			AM33XX_IOPAD(0x8e8, PIN_OUTPUT | MUX_MODE0) /* (V5) lcd_pclk.lcd_pclk */
			AM33XX_IOPAD(0x8ec, PIN_OUTPUT | MUX_MODE0) /* (R6) lcd_ac_bias_en.lcd_ac_bias_en */
			AM33XX_IOPAD(0x8a0, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* (R1) lcd_data0.lcd_data0 */
			AM33XX_IOPAD(0x8a4, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* (R2) lcd_data1.lcd_data1 */
			AM33XX_IOPAD(0x8a8, PIN_OUTPUT_PULLUP | MUX_MODE0) /* (R3) lcd_data2.lcd_data2 */
			AM33XX_IOPAD(0x8ac, PIN_OUTPUT_PULLUP | MUX_MODE0) /* (R4) lcd_data3.lcd_data3 */
			AM33XX_IOPAD(0x8b0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* (T1) lcd_data4.lcd_data4 */
			AM33XX_IOPAD(0x8b4, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* (T2) lcd_data5.lcd_data5 */
			AM33XX_IOPAD(0x8b8, PIN_OUTPUT_PULLUP | MUX_MODE0) /* (T3) lcd_data6.lcd_data6 */
			AM33XX_IOPAD(0x8bc, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* (T4) lcd_data7.lcd_data7 */
			AM33XX_IOPAD(0x8c0, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* (U1) lcd_data8.lcd_data8 */
			AM33XX_IOPAD(0x8c4, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* (U2) lcd_data9.lcd_data9 */
			AM33XX_IOPAD(0x8c8, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* (U3) lcd_data10.lcd_data10 */
			AM33XX_IOPAD(0x8cc, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* (U4) lcd_data11.lcd_data11 */
			AM33XX_IOPAD(0x8d0, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* (V2) lcd_data12.lcd_data12 */
			AM33XX_IOPAD(0x8d4, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* (V3) lcd_data13.lcd_data13 */
			AM33XX_IOPAD(0x8d8, PIN_OUTPUT_PULLUP | MUX_MODE0) /* (V4) lcd_data14.lcd_data14 */
			AM33XX_IOPAD(0x8dc, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* (T5) lcd_data15.lcd_data15 */
			AM33XX_IOPAD(0x83c, PIN_OUTPUT | MUX_MODE1) /* (U13) gpmc_ad15.lcd_data16 */
			AM33XX_IOPAD(0x838, PIN_OUTPUT | MUX_MODE1) /* (V13) gpmc_ad14.lcd_data17 */
		>;
	};

};

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    1)是否可以在没有 GPU 块的情况下使用 eglf 平台。如果是、您能否指向一些详细说明步骤的文档。
    这不是 AM335x 支持的用例、我们没有通过 EGLFS 启用软件光栅化的任何文档/步骤。  
    2) 2)是否可以将"linuxfb"以外的其他平台用于我们的定制 AM3352电路板。 我们的应用不需要硬件加速。
     
    我认为这是一个特定于 GUI 的问题、有多种 GUI 选项可供选择。 在 TI、我们不开发、维护和支持 GUI 框架。 我建议您咨询 Qt 社区: https://doc.qt.io/qt-5/configure-linux-device.html 
    3) 3)是否有任何方法可以解决触摸屏问题。
     
    我建议访问 Qt 社区 :https://doc.qt.io/qt-6/inputs-linux-device.html。 我们没有开发 linuxfb 平台插件,并且基于 evtest,驱动程序配置正确,但 qt/linuxfb 没有。
    此致、
    Krunal
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    我们能够解决这个问题。
    正如您提到的、问题出在 QT/linuxfb 平台上。

    根本原因:-
    作为 Arago Root 文件系统的一部分提供的 QT 库默认使用"evdev"支持构建。 这通常足以用于现代触摸屏、但某些仅支持单触的旧电阻触摸屏可能需要您返回使用"slib "支持。 我们使用的定制板包含电阻式触控界面、因此我们面临这一问题。 更多详细信息、请参见(Doc.qt.io/.../inputs-linux-device.html)

    解决方案:-
    通过添加"slib "支持并将其部署到目标器件、从源重建 QT 库。

    我将为将来访问此页面的其他人留下交叉编译 QT Source 所遵循的程序。

    ----------------------------------
    配置和构建 TSLIB
    ----------------------------------

    步骤1:从(github.com/.../tslib)下载最新的 slib 源代码包
    步骤2:将放射源解压到合适的位置
    步骤3:从父目录(tslib-1.22)中执行命令-./autogen.sh
    步骤4:执行命令进行配置

    ./configure CC={PATH_TO_GCC_CROSS_COMPILER} \
                CXX={PATH_TO_G++_CROSS_COMPILER} \
                -host=arm-none-linux-gnueabi target=arm-none-linux-gnueabi \
                -enable-static=yes -enable-shared=yes \
                -prefix={PATH_TO_COMPILED_LIBS_IN_HOST_SYSTEM}
                
    
    


    (例如:./configure cc=$home/gcc-arm-9.2-2019.12-x86_64-arm-no-linux-gnueabihf/bin/arm-no-linux-gnueabihf-gcc=$home/gcc-arm-9.2-2019.12-x86_64-arm-no-linux-gnue=linux-use-none=linux-gnue/gnue=linux-gnue/gnue-target=linux-gnue/gnue=linux-forde-none=linux-gnue/gnue/gnue/gnue=linux-gnue/gnue/gnue=linux-target=linux-gnue/gnue/gnuf-none=linux-target=linux-gnue/gnue/gnue/gnue/gnue/gnue/gnue/gnuf-none=linux-target=linux-target=linux-target=linux-

    步骤5:执行 make
    步骤6:执行 make install
    步骤7:如果在构建过程中没有错误、所有构建的库都将安装到在"前缀"中配置的位置
    步骤8:要确保库已正确交叉编译、请执行以下命令:file{location_TO_LIB}

    (示例:文件$HOME/TMDSSK3358_ws/ts_lib/tslib_arm/libts.so.0.10.4)
    (预期输出:$HOME/TMDSSK3358_ws/ts_lib/tslib_arm/libts.so.0.10.4:elf 32位 LSB 共享对象、ARM、EABI 5版本1 (SYSV)、动态链接、带有 debug_info、未被剥离)


    --------------------------------------------------
    配置和构建 QT Source 以添加 TSLIB 支持
    --------------------------------------------------

    步骤1:下载 QT 源(download.qt.io/.../qt-Everywhere)-src-5.13.1.tar.xz
    步骤2:在文件夹"qt-Everywhere src-5.13.1"中提取并创建构建目录
    步骤3:配置 QT 源。 我们使用以下命令进行配置。

    ./configure -platform linux-g++ -release -device linux-beagleboard-g++ \
    -sysroot $HOME/TMDSSK3358_ws/SDK/linux-devkit/sysroots/armv7at2hf-neon-linux-gnueabi/home \ # sysroot refers to the path of toolchain sysroot directory or target root file system
    -prefix $HOME/TMDSSK3358_ws/QT_Libs \ # prefix refers to the path, where the compiled QT libs will be stored
    -hostprefix $HOME/TMDSSK3358_ws/QT_Host \ # hostprefix refers to the path, where 'qmake' and its dependendent files will be stored. Its required for creating a kit in QT Creator.
    -device-option CROSS_COMPILE=$HOME/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf- \ #$cross_compile refers to path where linero cross compiler toolchain is stored.
    -opensource -confirm-license \
    -nomake tests -nomake examples \
    -no-egl -no-eglfs \
    -no-use-gold-linker \
    -no-cups -no-iconv \
    -nomake examples -nomake tools -nomake tests \
    -skip qtlocation -skip qtpurchasing -skip qtwayland \
    -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview \
    -skip qtwebglplugin -skip qtandroidextras \
    -skip qtgamepad -skip qtmacextras -skip qtwinextras \
    -skip qtsensors -skip qtconnectivity \
    -no-xcb -no-xcb-xlib \
    -no-sse2 -no-glib\
    -reduce-exports \
    -make libs \
    -qt-zlib -qt-libpng \
    -qt-libjpeg \
    -shared \
    -tslib \
    -linuxfb \
    -verbose \
    -L HOME/TMDSSK3358_ws/ts_lib/tslib_arm/lib \ # refers to the path where we compiled the tslib libraries in the previous section
    -I HOME/TMDSSK3358_ws/ts_lib/tslib_arm/include # refers to the path where we compiled the tslib include files in the previous section

    步骤4:如果配置正确无误、配置摘要中的 slib 支持将标记为"yes"
    步骤5:运行 make 并进行安装
    步骤6:如果在构建过程中未发生错误、编译后的 QT 库及其相关文件将存储在$sysroot\$target 中提到的路径中
    步骤7:将它们部署到目标硬件。

    ------------------------------------------
    构建 slib IPK 打包程序
    ------------------------------------------
    步骤1:按照此处提供的步骤(software-dl.ti.com/.../Overview_Building_the_SDK.html) 使用 Yocto 项目构建所需的 slib 软件包
    步骤2:执行 bitbake 命令时、发出以下命令、该命令将仅构建"slib "软件包。
    machine=amm335x bitbake slib
    步骤3:IPK 将位于 tisdk/build/Arago-tmp-extern-arm-glibc/deploy/ipk 中。
    步骤4:将其复制到目标器件、然后使用命令"opkg install ipk-name.ipk"进行安装
    步骤5:安装后、执行命令"ts_calibr"。 这将打开校准应用程序。


    --------------------------------------------------
    在 Target 中设置环境
    --------------------------------------------------

    导出以下变量以删除 evdev 支持并使用 tslib 支持

    导出 TSLIB_TSEVENTTYPE='input'
    导出 TSLIB_CALIBFILE='/run/media/mmcblk0p1/pointercal
    导出 TSLIB_CONFILE='/etc/ts.conf
    导出 TSLIB_CONSOLEDEVICE='none'
    导出 TSLIB_FBDEVICE='/dev/fb0
    导出 TSLIB_PLUGINDIR='/usr/lib/ts
    导出 TSLIB_TSDEVICE='/dev/input/event0
    导出 QT_QPA_general_plugins=tslib:/dev/input/event0
    导出 QT_QPA_platform=linuxfb
    导出 QT_QPA_FB_TSLIB=1
    导出 QT_QPA_EGLFS_TSLIB=1
    导出 QT_QPA_FB_DISABLE_INPUT=1
    导出 QT_QPA_platform_plugin_path=/home/QT/QT5_Target/plugins/platforms
    导出 LD_library_path="/home/QT/QT5_Target/lib:$LD_library_path
    导出 QT_PLUGIN_PATH=/home/QT/QT5_Target/plugins