20251120给荣品RD-RK3588开发板跑Rockchip的原厂Android14系统时适配8寸屏的CTP【解决编译问题】
2025/11/19 20:14
缘起:经过反复测试,终于把 荣品RD-RK3588开发板 自带的8寸屏的CTP触摸屏调试通了。
Android13的内核linux-5.10
Android13的内核linux-6.1。版本升级之后,
终于把全部的USB接口都点亮USB接口的鼠标了!
当你把荣品RD-RK3588开发板重新适配一把,就相当于从头做了一个项目:【荣品RD-RK3588开发板】。
当然,开发板的功能都是好的,你免除了调试的过程,也就没有解决相关硬件出错的经验/机会了!
结论:荣品的FAE工程师是真的很忙。
代码写的非常写意/潇洒!
【整个DTS,TAB和空格按键都是混用的!^有些时候看着很难受的!^】
DTS中的代码排版真的让人看得很难受!
0、默认编译的Android14是找不到CTP的!在内核dmesg信息中甚至没有出错信息!
Microsoft Windows [版本 10.0.19045.6216]
(c) Microsoft Corporation。保留所有权利。
C:\Users\QQ>adb shell
rk3588_u:/ $ su
rk3588_u:/ #
rk3588_u:/ # getevent
add device 1: /dev/input/event4
name: "rockchip-hdmi0 rockchip-hdmi0"
add device 2: /dev/input/event6
name: "Logitech USB Optical Mouse"
add device 3: /dev/input/event0
name: "rk805 pwrkey"
add device 4: /dev/input/event1
name: "rockchip,hdmiin rockchip,hdmiin"
add device 5: /dev/input/event2
name: "bt-powerkey"
add device 6: /dev/input/event3
name: "adc-keys"
add device 7: /dev/input/event5
name: "rockchip-hdmi1 rockchip-hdmi1"
^C
130|rk3588_u:/ #
Microsoft Windows [版本 10.0.19045.6216]
(c) Microsoft Corporation。保留所有权利。
C:\Users\QQ>adb shell
rk3588_u:/ $ su
rk3588_u:/ #
rk3588_u:/ # getevent -p
add device 1: /dev/input/event4
name: "rockchip-hdmi0 rockchip-hdmi0"
events:
SW (0005): 0006
input props:
<none>
add device 2: /dev/input/event6
name: "Logitech USB Optical Mouse"
events:
KEY (0001): 0110 0111 0112
REL (0002): 0000 0001 0008 000b
MSC (0004): 0004
input props:
<none>
add device 3: /dev/input/event0
name: "rk805 pwrkey"
events:
KEY (0001): 0074
input props:
<none>
add device 4: /dev/input/event1
name: "rockchip,hdmiin rockchip,hdmiin"
events:
SW (0005): 0006
input props:
<none>
add device 5: /dev/input/event2
name: "bt-powerkey"
events:
KEY (0001): 0074
input props:
<none>
add device 6: /dev/input/event3
name: "adc-keys"
events:
KEY (0001): 0072 0073 008b 009e
input props:
<none>
add device 7: /dev/input/event5
name: "rockchip-hdmi1 rockchip-hdmi1"
events:
SW (0005): 0006
input props:
<none>
rk3588_u:/ #
rk3588_u:/ # getevent
add device 1: /dev/input/event4
name: "rockchip-hdmi0 rockchip-hdmi0"
add device 2: /dev/input/event6
name: "Logitech USB Optical Mouse"
add device 3: /dev/input/event0
name: "rk805 pwrkey"
add device 4: /dev/input/event1
name: "rockchip,hdmiin rockchip,hdmiin"
add device 5: /dev/input/event2
name: "bt-powerkey"
add device 6: /dev/input/event3
name: "adc-keys"
add device 7: /dev/input/event5
name: "rockchip-hdmi1 rockchip-hdmi1"
1|rk3588_u:/ #
1|rk3588_u:/ # dmesg | grep gt9
1|rk3588_u:/ #
1|rk3588_u:/ #
2、配置config文件:
Z:\14TB\RD-RK3588\rk3576u_RD-RK3588\kernel-6.1\arch\arm64\configs\rockchip_defconfig
CONFIG_TOUCHSCREEN_GSL3673=y
CONFIG_TOUCHSCREEN_GSL3673_800X1280=y
CONFIG_TOUCHSCREEN_GSLX680_PAD=y
CONFIG_TOUCHSCREEN_GT1X=y
CONFIG_TOUCHSCREEN_ILI210X=y
CONFIG_TOUCHSCREEN_ELAN5515=y
CONFIG_TOUCHSCREEN_GT9XX=y
CONFIG_TOUCHSCREEN_WACOM_W9013=y
CONFIG_TOUCHSCREEN_PARADE=y
CONFIG_TOUCHSCREEN_PARADE_DEVICETREE_SUPPORT=y
CONFIG_TOUCHSCREEN_PARADE_I2C=y
CONFIG_TOUCHSCREEN_PARADE_MT_B=y
CONFIG_TOUCHSCREEN_PARADE_LOADER=y


3、
Z:\14TB\RD-RK3588\rk3576u_RD-RK3588\kernel-6.1\drivers\input\touchscreen\Kconfig
Android13:
config TOUCHSCREEN_GT9XX
tristate "gt9xx touchscreen support"
depends on I2C
help
Say Y here if you have a touchscreen using gt9xx,
or something similar enough.
If unsure, say N.
To compile this driver as a module, choose M here: the
module will be called gt9xx.
Android14自带:【可以不用修改的】
config TOUCHSCREEN_GT9XX
tristate "Goodix gt9xx support for rockchip platform"
depends on I2C && ARCH_ROCKCHIP
help
Say Y here if you have a touchscreen interface using the gt9xx
on Rockchip platform, and your board-specific initialization
code includes that in its table of IIC devices.
If unsure, say N.


4、
Z:\14TB\RD-RK3588\rk3576u_RD-RK3588\kernel-6.1\drivers\input\touchscreen\Makefile
obj-(CONFIG_TOUCHSCREEN_GT1X) += gt1x/ obj-(CONFIG_TOUCHSCREEN_GT9XX) += gt9xx/
obj-$(CONFIG_TOUCHSCREEN_HIDEEP) += hideep.o

5、
Z:\14TB\RD-RK3588\rk3576u_RD-RK3588\kernel-6.1\drivers\input\touchscreen\gt9xx\gt9xx.c


6、
Z:\14TB\RD-RK3588\rk3576u_RD-RK3588\kernel-6.1\.config
CONFIG_TOUCHSCREEN_FT5726=y
CONFIG_TOUCHSCREEN_FUJITSU is not set
CONFIG_TOUCHSCREEN_GOODIX is not set
CONFIG_TOUCHSCREEN_GSL3673=y
CONFIG_TOUCHSCREEN_GSL3673_800X1280=y
CONFIG_TOUCHSCREEN_GSLX680_PAD=y
CONFIG_TOUCHSCREEN_GT1X=y
CONFIG_TOUCHSCREEN_GT9XX=y
CONFIG_TOUCHSCREEN_HIDEEP is not set
CONFIG_TOUCHSCREEN_HYCON_HY46XX is not set

CC drivers/input/sensors/gyro/l3g4200d.o
CC drivers/input/sensors/gyro/l3g20d.o
CC drivers/input/sensors/gyro/ewtsa.o
CC drivers/usb/gadget/udc/core.o
AR drivers/usb/serial/built-in.a
CC drivers/net/usb/cdc_subset.o
AR drivers/usb/host/built-in.a
CC drivers/net/usb/zaurus.o
CC net/mac80211/eht.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_custom_gpio.o
CC drivers/usb/typec/altmodes/displayport.o
CC drivers/gpu/drm/drm_crtc_helper.o
CC drivers/gpu/arm/bifrost/backend/gpu/mali_kbase_pm_policy.o
CC drivers/usb/typec/tcpm/tcpm.o
drivers/input/touchscreen/gt9xx/gt9xx.c:2946:30: error: use of undeclared identifier 'goodix_ts_early_suspend'; did you mean 'goodix_ts_suspend'?
ts->early_suspend.suspend = goodix_ts_early_suspend;
^~~~~~~~~~~~~~~~~~~~~~~
goodix_ts_suspend
drivers/input/touchscreen/gt9xx/gt9xx.c:2775:13: note: 'goodix_ts_suspend' declared here
static void goodix_ts_suspend(struct goodix_ts_data *ts)
^
drivers/input/touchscreen/gt9xx/gt9xx.c:2947:29: error: use of undeclared identifier 'goodix_ts_late_resume'; did you mean 'goodix_ts_resume'?
ts->early_suspend.resume = goodix_ts_late_resume;
^~~~~~~~~~~~~~~~~~~~~
goodix_ts_resume
drivers/input/touchscreen/gt9xx/gt9xx.c:2820:13: note: 'goodix_ts_resume' declared here
static void goodix_ts_resume(struct goodix_ts_data *ts)
^
CC drivers/usb/storage/jumpshot.o
drivers/input/touchscreen/gt9xx/gt9xx.c:3211:19: error: incompatible function pointer types initializing 'void (*)(struct i2c_client *)' with an expression of type 'int (struct i2c_client *)' [-Wincompatible-function-pointer-types]
.remove = goodix_ts_remove,
^~~~~~~~~~~~~~~~
3 errors generated.
make[6]: *** [scripts/Makefile.build:250: drivers/input/touchscreen/gt9xx/gt9xx.o] Error 1
make[5]: *** [scripts/Makefile.build:500: drivers/input/touchscreen/gt9xx] Error 2
make[4]: *** [scripts/Makefile.build:500: drivers/input/touchscreen] Error 2
make[4]: *** Waiting for unfinished jobs....
CC drivers/gpu/arm/bifrost/backend/gpu/mali_kbase_time.o
CC drivers/usb/roles/class.o
CC drivers/input/sensors/gyro/mpu6500_gyro.o
CC drivers/usb/gadget/udc/trace.o
CC drivers/input/sensors/gyro/mpu6880_gyro.o
CC drivers/net/usb/mcs7830.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/bcmevent.o
CC drivers/net/usb/usbnet.o
CC drivers/input/sensors/gyro/lsm330_gyro.o
AR drivers/usb/typec/altmodes/built-in.a
CC drivers/usb/storage/karma.o
CC drivers/usb/storage/onetouch.o
CC net/mac80211/pm.o
AR drivers/usb/roles/built-in.a
CC drivers/input/sensors/gyro/icm4260x_gyro.o
CC drivers/gpu/arm/bifrost/backend/gpu/mali_kbase_l2_mmu_config.o
AR drivers/usb/gadget/udc/built-in.a
CC drivers/usb/gadget/function/f_acm.o
CC drivers/gpu/drm/drm_encoder_slave.o
CC net/mac80211/rc80211_minstrel_ht.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/hndpmu.o
CC drivers/usb/gadget/function/u_serial.o
CC drivers/gpu/arm/bifrost/backend/gpu/mali_kbase_clk_rate_trace_mgr.o
CC drivers/usb/typec/tcpm/fusb302.o
CC drivers/usb/typec/tcpm/tcpci.o
CC drivers/usb/typec/tcpm/tcpci_husb311.o
CC drivers/usb/storage/sddr09.o
CC drivers/net/usb/int51x1.o
AR drivers/input/sensors/gyro/built-in.a
CC drivers/input/sensors/lsensor/cm3217.o
CC drivers/input/sensors/lsensor/cm3218.o
CC drivers/gpu/drm/drm_flip_work.o
CC drivers/usb/gadget/function/u_ether.o
CC drivers/gpu/arm/bifrost/backend/gpu/mali_kbase_devfreq.o
CC drivers/input/sensors/lsensor/ls_ucs14620.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/linux_osl.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wldev_common.o
CC drivers/input/sensors/lsensor/ls_stk3410.o
CC drivers/input/sensors/psensor/ps_stk3410.o
CC drivers/net/usb/kalmia.o
CC drivers/net/usb/ipheth.o
CC drivers/usb/storage/sddr55.o
CC drivers/gpu/drm/drm_probe_helper.o
CC drivers/usb/storage/shuttle_usbat.o
AR drivers/usb/typec/tcpm/built-in.a
AR drivers/usb/typec/mux/built-in.a
CC drivers/usb/typec/class.o
CC drivers/gpu/arm/bifrost/mmu/mali_kbase_mmu.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_android.o
CC drivers/input/sensors/psensor/ps_ucs14620.o
CC drivers/usb/gadget/function/f_ncm.o
CC drivers/net/usb/sierra_net.o
CC drivers/usb/gadget/function/f_rndis.o
CC drivers/usb/typec/mux.o
CC drivers/usb/gadget/function/rndis.o
AR drivers/input/sensors/lsensor/built-in.a
CC drivers/usb/gadget/function/f_mass_storage.o
CC drivers/input/sensors/hall/mh248.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_debug_linux.o
CC drivers/gpu/arm/bifrost/mmu/mali_kbase_mmu_hw_direct.o
AR net/mac80211/built-in.a
AR net/built-in.a
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_debug.o
CC drivers/usb/gadget/function/storage_common.o
AR drivers/usb/storage/built-in.a
CC drivers/usb/gadget/function/f_fs.o
AR drivers/input/sensors/psensor/built-in.a
CC drivers/usb/gadget/function/f_uvc.o
CC drivers/gpu/drm/drm_plane_helper.o
AR drivers/input/sensors/hall/built-in.a
CC drivers/input/sensors/sensor-i2c.o
CC drivers/usb/typec/bus.o
CC drivers/net/usb/cx82310_eth.o
CC drivers/usb/typec/pd.o
CC drivers/usb/typec/retimer.o
CC drivers/input/sensors/sensor-dev.o
CC drivers/gpu/drm/drm_atomic_helper.o
CC drivers/gpu/drm/drm_kms_helper_common.o
AR drivers/usb/gadget/legacy/built-in.a
CC drivers/usb/gadget/function/uvc_queue.o
CC drivers/usb/gadget/function/uvc_v4l2.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_mschdbg.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_dbg_ring.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/hnd_pktq.o
CC drivers/usb/gadget/usbstring.o
CC drivers/usb/gadget/config.o
CC drivers/usb/gadget/epautoconf.o
CC drivers/gpu/arm/bifrost/mmu/mali_kbase_mmu_mode_aarch64.o
CC drivers/net/usb/cdc_ncm.o
AR drivers/usb/typec/built-in.a
CC drivers/net/usb/qmi_wwan.o
CC drivers/net/usb/cdc_mbim.o
CC drivers/net/usb/r8153_ecm.o
CC drivers/gpu/drm/drm_simple_kms_helper.o
CC drivers/usb/gadget/composite.o
CC drivers/usb/gadget/functions.o
CC drivers/gpu/drm/drm_modeset_helper.o
CC drivers/gpu/drm/drm_gem_atomic_helper.o
CC drivers/usb/gadget/function/uvc_video.o
CC drivers/gpu/drm/drm_gem_framebuffer_helper.o
CC drivers/rtc/lib.o
CC drivers/gpu/arm/bifrost/mmu/backend/mali_kbase_mmu_csf.o
CC drivers/usb/gadget/configfs.o
CC drivers/rtc/class.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/hnd_pktpool.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/linux_pkt.o
AR drivers/input/sensors/built-in.a
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/frag.o
make[3]: *** [scripts/Makefile.build:500: drivers/input] Error 2
make[3]: *** Waiting for unfinished jobs....
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_linux_exportfs.o
CC drivers/usb/gadget/function/uvc_configfs.o
CC drivers/rtc/interface.o
AR drivers/net/usb/built-in.a
CC drivers/gpu/drm/drm_atomic_state_helper.o
CC drivers/gpu/drm/drm_damage_helper.o
CC drivers/usb/gadget/function/f_midi.o
CC drivers/usb/gadget/function/f_accessory.o
CC drivers/usb/gadget/function/f_audio_source.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_linux_pktdump.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/linuxerrmap.o
CC drivers/gpu/arm/bifrost/tl/mali_kbase_timeline.o
CC drivers/rtc/nvmem.o
CC drivers/gpu/arm/bifrost/tl/mali_kbase_timeline_io.o
CC drivers/gpu/arm/bifrost/tl/mali_kbase_tlstream.o
CC drivers/gpu/drm/drm_format_helper.o
CC drivers/rtc/dev.o
CC drivers/rtc/proc.o
CC drivers/usb/gadget/u_f.o
CC drivers/gpu/drm/drm_self_refresh_helper.o
CC drivers/rtc/sysfs.o
CC drivers/rtc/rtc-hym8563.o
CC drivers/gpu/drm/drm_rect.o
CC drivers/rtc/rtc-rk808.o
CC drivers/gpu/drm/bridge/panel.o
CC drivers/gpu/drm/drm_mipi_dsi.o
CC drivers/gpu/arm/bifrost/tl/mali_kbase_tracepoints.o
AR drivers/usb/gadget/function/built-in.a
CC drivers/gpu/arm/bifrost/tl/backend/mali_kbase_timeline_csf.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_linux_tx.o
CC drivers/gpu/arm/bifrost/hwcnt/mali_kbase_hwcnt.o
AR drivers/usb/gadget/built-in.a
AR drivers/usb/built-in.a
CC drivers/gpu/arm/bifrost/hwcnt/mali_kbase_hwcnt_gpu.o
CC drivers/gpu/arm/bifrost/hwcnt/mali_kbase_hwcnt_types.o
CC drivers/gpu/arm/bifrost/hwcnt/mali_kbase_hwcnt_virtualizer.o
CC drivers/gpu/arm/bifrost/hwcnt/mali_kbase_hwcnt_watchdog_if_timer.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_linux_rx.o
CC drivers/gpu/arm/bifrost/hwcnt/backend/mali_kbase_hwcnt_backend_csf.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/fwpkg_utils.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.o
AR drivers/rtc/built-in.a
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_ccode.o
CC drivers/gpu/arm/bifrost/hwcnt/backend/mali_kbase_hwcnt_backend_csf_if_fw.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_event.o
AR drivers/gpu/drm/built-in.a
CC drivers/gpu/arm/bifrost/gpu/mali_kbase_gpu.o
CC drivers/gpu/arm/bifrost/gpu/backend/mali_kbase_gpu_fault_csf.o
CC drivers/gpu/arm/bifrost/hw_access/mali_kbase_hw_access.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_android_ext.o
CC drivers/gpu/arm/bifrost/hw_access/regmap/mali_kbase_regmap_csf.o
CC drivers/gpu/arm/bifrost/hw_access/backend/mali_kbase_hw_access_real_hw.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_iapsta.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_escan.o
CC drivers/gpu/arm/bifrost/thirdparty/mali_kbase_mmap.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_timer.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_iw.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_cfg80211.o
CC drivers/gpu/arm/bifrost/platform/rk/mali_kbase_config_rk.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_cfgscan.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_cfgp2p.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_linux_mon.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_cfg_btcoex.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_util.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_firmware_cfg.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_trace_buffer.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_cfgvendor.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_cfg80211.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_scheduler.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_cfgvif.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_kcpu.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_tiler_heap.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_roam.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_pcie.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_pcie_linux.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_timeout.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_tl_reader.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_heap_context_alloc.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/pcie_core.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_reset_gpu.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_csg.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_csg_debugfs.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_flowring.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_msgbuf.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_kcpu_debugfs.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_sync.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_sync_debugfs.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_linux_lb.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_kcpu_fence_debugfs.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_protected_memory.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_tiler_heap_debugfs.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_cpu_queue.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_rtt.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_log_dump.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_pktlog.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_gpio.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_static_buf.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_cpu_queue_debugfs.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_event.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_firmware_log.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_firmware_core_dump.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_tiler_heap_reclaim.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_mcu_shared_reg.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_csf_firmware.o
CC drivers/gpu/arm/bifrost/csf/mali_kbase_debug_csf_fault.o
CC drivers/gpu/arm/bifrost/csf/ipa_control/mali_kbase_csf_ipa_control.o
CC drivers/gpu/arm/bifrost/ipa/mali_kbase_ipa_simple.o
CC drivers/gpu/arm/bifrost/ipa/mali_kbase_ipa.o
CC drivers/gpu/arm/bifrost/ipa/mali_kbase_ipa_debugfs.o
CC drivers/gpu/arm/bifrost/ipa/backend/mali_kbase_ipa_counter_csf.o
CC drivers/gpu/arm/bifrost/ipa/backend/mali_kbase_ipa_counter_common_csf.o
LD [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/bcmdhd.o
AR drivers/net/wireless/rockchip_wlan/built-in.a
AR drivers/net/wireless/built-in.a
AR drivers/net/built-in.a
AR drivers/gpu/arm/bifrost/built-in.a
AR drivers/gpu/arm/built-in.a
AR drivers/gpu/built-in.a
make[2]: *** [scripts/Makefile.build:500: drivers] Error 2
make[1]: *** [Makefile:2058: .] Error 2
make: *** [arch/arm64/Makefile:240: rk3588-evb7-v11.img] Error 2
failed to build some targets (05:06 (mm:ss))
Build kernel failed!
rootroot@rootroot-X99-Turbo:~/14TB/RD-RK3588/rk3576u_RD-RK3588$

Z:\14TB\RD-RK3588\rk3576u_RD-RK3588\kernel-6.1\drivers\input\touchscreen\gt9xx\gt9xx.c
static int gtp_register_powermanger(struct goodix_ts_data *ts)
{
#if defined(CONFIG_FB)
ts->notifier.notifier_call = gtp_fb_notifier_callback;
fb_register_client(&ts->notifier);
#elif defined(CONFIG_HAS_EARLYSUSPEND)
ts->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN + 1;
ts->early_suspend.suspend = goodix_ts_early_suspend;
ts->early_suspend.resume = goodix_ts_late_resume;
register_early_suspend(&ts->early_suspend);
#endif
return 0;
}

7、
由于在linux-5.10内核【Android13】下没有报错,根据程序的含义/代码走向,感觉需要打开:CONFIG_FB!!!!

Y:\MID_MX_RK3588_android13-20250818\kernel-5.10\.config
Frame buffer Devices
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
CONFIG_FB=y
CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_MODE_HELPERS is not set
CONFIG_FB_TILEBLITTING is not set




Y:\MID_MX_RK3588_android13-20250818\kernel-5.10\.config
Debug options
CONFIG_MALI_BIFROST_DEBUG=y
CONFIG_MALI_BIFROST_FENCE_DEBUG=y
CONFIG_MALI_BIFROST_SYSTEM_TRACE=y
Instrumentation options
CONFIG_MALI_PRFCNT_SET_PRIMARY=y
CONFIG_MALI_BIFROST_PRFCNT_SET_SECONDARY is not set
CONFIG_MALI_PRFCNT_SET_TERTIARY is not set
CONFIG_MALI_PRFCNT_SET_SELECT_VIA_DEBUG_FS is not set
CONFIG_MALI_JOB_DUMP is not set
Workarounds
CONFIG_MALI_HW_ERRATA_1485982_NOT_AFFECTED is not set
CONFIG_MALI_HW_ERRATA_1485982_USE_CLOCK_ALTERNATIVE is not set
CONFIG_MALI_ARBITRATION is not set
Frame buffer Devices
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
CONFIG_FB=y
CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_MODE_HELPERS is not set
CONFIG_FB_TILEBLITTING is not set
Frame buffer hardware drivers
CONFIG_FB_CIRRUS is not set
CONFIG_FB_PM2 is not set
CONFIG_FB_ARMCLCD is not set
CONFIG_FB_CYBER2000 is not set
CONFIG_FB_ASILIANT is not set
CONFIG_FB_IMSTT is not set
CONFIG_FB_OPENCORES is not set
CONFIG_FB_S1D13XXX is not set
CONFIG_FB_NVIDIA is not set
CONFIG_FB_RIVA is not set
CONFIG_FB_I740 is not set
CONFIG_FB_MATROX is not set
CONFIG_FB_RADEON is not set
CONFIG_FB_ATY128 is not set
CONFIG_FB_ATY is not set
CONFIG_FB_S3 is not set
CONFIG_FB_SAVAGE is not set
CONFIG_FB_SIS is not set
CONFIG_FB_NEOMAGIC is not set
CONFIG_FB_KYRO is not set
CONFIG_FB_3DFX is not set
CONFIG_FB_VOODOO1 is not set
CONFIG_FB_VT8623 is not set
CONFIG_FB_TRIDENT is not set
CONFIG_FB_ARK is not set
CONFIG_FB_PM3 is not set
CONFIG_FB_CARMINE is not set
CONFIG_FB_SMSCUFX is not set
CONFIG_FB_UDL is not set
CONFIG_FB_IBM_GXT4500 is not set
CONFIG_FB_VIRTUAL is not set
CONFIG_FB_METRONOME is not set
CONFIG_FB_MB862XX is not set
CONFIG_FB_SIMPLE is not set
CONFIG_FB_SSD1307 is not set
CONFIG_FB_SM712 is not set
end of Frame buffer Devices
Backlight & LCD device support
CONFIG_LCD_CLASS_DEVICE is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_KTD253 is not set
CONFIG_BACKLIGHT_PWM=y
CONFIG_BACKLIGHT_QCOM_WLED is not set
CONFIG_BACKLIGHT_ADP8860 is not set
CONFIG_BACKLIGHT_ADP8870 is not set
CONFIG_BACKLIGHT_LM3630A is not set
CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X is not set
CONFIG_BACKLIGHT_GPIO is not set
CONFIG_BACKLIGHT_LV5207LP is not set
CONFIG_BACKLIGHT_BD6107 is not set
CONFIG_BACKLIGHT_ARCXCNN is not set
CONFIG_BACKLIGHT_LED is not set
end of Backlight & LCD device support



Z:\14TB\RD-RK3588\rk3576u_RD-RK3588\kernel-6.1\arch\arm64\configs\rockchip_defconfig
CONFIG_MALI_BIFROST_DEBUG=y
CONFIG_FB=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
8、
CC drivers/input/touchscreen/focaltech_touch_ft5726/focaltech_flash.o
CC drivers/gpu/arm/mali400/mali/common/mali_kernel_core.o
CC net/mac80211/ocb.o
AR drivers/input/touchscreen/gt1x/built-in.a
CC drivers/gpu/drm/drm_atomic_uapi.o
CC drivers/input/sensors/accel/lsm330_acc.o
CC drivers/gpu/arm/midgard/mali_kbase_gator_api.o
CC drivers/usb/dwc2/hcd_queue.o
CC drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.o
CC drivers/input/touchscreen/parade/pt_core.o
CC drivers/input/touchscreen/gsl3673.o
CC drivers/gpu/arm/mali400/mali/linux/mali_kernel_linux.o
drivers/input/touchscreen/gt9xx/gt9xx.c:3211:19: error: incompatible function pointer types initializing 'void (*)(struct i2c_client *)' with an expression of type 'int (struct i2c_client *)' [-Wincompatible-function-pointer-types]
.remove = goodix_ts_remove,
^~~~~~~~~~~~~~~~
1 error generated.
make[6]: *** [scripts/Makefile.build:250: drivers/input/touchscreen/gt9xx/gt9xx.o] Error 1
make[5]: *** [scripts/Makefile.build:500: drivers/input/touchscreen/gt9xx] Error 2
make[5]: *** Waiting for unfinished jobs....
CC drivers/gpu/arm/mali400/mali/common/mali_session.o
CC drivers/input/touchscreen/focaltech_touch_ft5726/focaltech_flash/focaltech_upgrade_ft5726_003.o
CC drivers/input/touchscreen/parade/pt_mt_common.o
CC drivers/input/sensors/accel/bma2xx.o
CC drivers/input/sensors/accel/da223_cust.o
CC drivers/gpu/arm/bifrost/mali_kbase_softjobs.o
CC drivers/gpu/drm/drm_managed.o
CC drivers/usb/dwc2/hcd_ddma.o
CC drivers/net/ethernet/stmicro/stmmac/dwmac4_lib.o
CC drivers/gpu/drm/drm_vblank_work.o
CC drivers/gpu/arm/midgard/mali_kbase_debug_mem_view.o




Z:\14TB\RD-RK3588\rk3576u_RD-RK3588\kernel-6.1\drivers\input\touchscreen\gt9xx\gt9xx.c
/*******************************************************
Function:
Goodix touchscreen driver release function.
Input:
client: i2c device struct.
Output:
Executive outcomes. 0---succeed.
*******************************************************/
static int goodix_ts_remove(struct i2c_client *client)
{
struct goodix_ts_data *ts = i2c_get_clientdata(client);
GTP_DEBUG_FUNC();
gtp_unregister_powermanger(ts);
#if GTP_CREATE_WR_NODE
uninit_wr_node();
#endif
#if GTP_ESD_PROTECT
destroy_workqueue(gtp_esd_check_workqueue);
#endif
if (ts) {
if (ts->use_irq) {
GTP_GPIO_AS_INPUT(gtp_int_gpio);
GTP_GPIO_FREE(gtp_int_gpio);
free_irq(client->irq, ts);
} else {
hrtimer_cancel(&ts->timer);
}
}
GTP_INFO("GTP driver removing...");
i2c_set_clientdata(client, NULL);
input_unregister_device(ts->input_dev);
kfree(ts);
return 0;
}
修改为:
/*******************************************************
Function:
Goodix touchscreen driver release function.
Input:
client: i2c device struct.
Output:
Executive outcomes. 0---succeed.
*******************************************************/
static void goodix_ts_remove(struct i2c_client *client)
{
struct goodix_ts_data *ts = i2c_get_clientdata(client);
GTP_DEBUG_FUNC();
gtp_unregister_powermanger(ts);
#if GTP_CREATE_WR_NODE
uninit_wr_node();
#endif
#if GTP_ESD_PROTECT
destroy_workqueue(gtp_esd_check_workqueue);
#endif
if (ts) {
if (ts->use_irq) {
GTP_GPIO_AS_INPUT(gtp_int_gpio);
GTP_GPIO_FREE(gtp_int_gpio);
free_irq(client->irq, ts);
} else {
hrtimer_cancel(&ts->timer);
}
}
GTP_INFO("GTP driver removing...");
i2c_set_clientdata(client, NULL);
input_unregister_device(ts->input_dev);
kfree(ts);
return;
}

9、
CC drivers/usb/class/cdc-acm.o
CC drivers/input/touchscreen/gt1x/gt1x_tools.o
CC drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.o
CC drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.o
CC drivers/usb/host/ehci-hcd.o
CC drivers/i2c/i2c-core-base.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_debug_linux.o
CC drivers/usb/core/of.o
drivers/input/touchscreen/gt9xx/gt9xx_update.c:88:5: error: unknown type name 'mm_segment_t'
mm_segment_t old_fs;
^
drivers/input/touchscreen/gt9xx/gt9xx_update.c:954:25: error: call to undeclared function 'get_fs'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
update_msg.old_fs = get_fs();
^
drivers/input/touchscreen/gt9xx/gt9xx_update.c:954:25: note: did you mean 'sget_fc'?
./include/linux/fs.h:2649:21: note: 'sget_fc' declared here
struct super_block *sget_fc(struct fs_context *fc,
^
drivers/input/touchscreen/gt9xx/gt9xx_update.c:955:5: error: call to undeclared function 'set_fs'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
set_fs(KERNEL_DS);
^
drivers/input/touchscreen/gt9xx/gt9xx_update.c:955:12: error: use of undeclared identifier 'KERNEL_DS'; did you mean 'KERNFS_NS'?
set_fs(KERNEL_DS);
^~~~~~~~~
KERNFS_NS
./include/linux/kernfs.h:108:2: note: 'KERNFS_NS' declared here
KERNFS_NS = 0x0020,
^
CC drivers/net/usb/plusb.o
drivers/input/touchscreen/gt9xx/gt9xx_update.c:2465:13: error: call to undeclared function 'set_fs'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
set_fs(update_msg.old_fs);
^
5 errors generated.
make[6]: *** [scripts/Makefile.build:250: drivers/input/touchscreen/gt9xx/gt9xx_update.o] Error 1
make[6]: *** Waiting for unfinished jobs....
CC drivers/input/sensors/sensor-dev.o
CC drivers/usb/storage/uas.o
CC drivers/input/touchscreen/focaltech_touch_ft5726/focaltech_ex_mode.o
make[5]: *** [scripts/Makefile.build:500: drivers/input/touchscreen/gt9xx] Error 2
make[5]: *** Waiting for unfinished jobs....
CC drivers/input/touchscreen/focaltech_touch_ft5726/focaltech_gesture.o
CC drivers/usb/class/usblp.o
CC drivers/input/touchscreen/gt1x/gt1x.o
CC drivers/usb/serial/usb-serial.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_debug.o
CC drivers/usb/dwc2/hcd_ddma.o
CC drivers/net/ethernet/stmicro/stmmac/dwxgmac2_descs.o
CC [M] drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_mschdbg.o



Z:\14TB\RD-RK3588\rk3576u_RD-RK3588\kernel-6.1\drivers\input\touchscreen\gt9xx\gt9xx_update.c
typedef struct
{
u8 force_update;
u8 fw_flag;
struct file *file;
struct file *cfg_file;
st_fw_head ic_fw_msg;
//mm_segment_t old_fs;
u32 fw_total_len;
u32 fw_burned_len;
}st_update_msg;

#else
{
GTP_ERROR("NULL file for firmware update");
return FAIL;
}
#endif
}
//update_msg.old_fs = get_fs();
//set_fs(KERNEL_DS);
update_msg.file->f_op->llseek(update_msg.file, 0, SEEK_SET);
update_msg.fw_total_len = update_msg.file->f_op->llseek(update_msg.file, 0, SEEK_END);
if (update_msg.fw_total_len < (FW_HEAD_LENGTH + FW_SECTION_LENGTH*4+FW_DSP_ISP_LENGTH+FW_DSP_LENGTH+FW_BOOT_LENGTH))
{
GTP_ERROR("INVALID bin file(size: %d), update aborted.", update_msg.fw_total_len);
return FAIL;
}
update_msg.fw_total_len -= FW_HEAD_LENGTH;

file_fail:
if (update_msg.file && !IS_ERR(update_msg.file))
{
if (update_msg.old_fs)
{
//set_fs(update_msg.old_fs);
}
filp_close(update_msg.file, NULL);
}

CC drivers/net/usb/r8152.o
CC drivers/media/i2c/aw8601.o
CC drivers/usb/dwc2/hcd_ddma.o
CC drivers/usb/host/ohci-hcd.o
drivers/input/touchscreen/gt9xx/gt9xx_update.c:2463:24: error: no member named 'old_fs' in 'st_update_msg'
if (update_msg.old_fs)
~~~~~~~~~~ ^
1 error generated.
make[6]: *** [scripts/Makefile.build:250: drivers/input/touchscreen/gt9xx/gt9xx_update.o] Error 1
make[5]: *** [scripts/Makefile.build:500: drivers/input/touchscreen/gt9xx] Error 2
make[5]: *** Waiting for unfinished jobs....
CC drivers/input/sensors/accel/bma2xx.o
CC drivers/ptp/ptp_clock.o
CC drivers/input/sensors/accel/da223_cust.o
CC drivers/input/touchscreen/focaltech_touch_ft5726/focaltech_flash/focaltech_upgrade_ft5726_003.o
CC drivers/ptp/ptp_chardev.o
CC drivers/usb/class/cdc-acm.o


10、确认CTP正常了!
重新编译之后。
我这里了是重新加,完整编译的结果:
Microsoft Windows [版本 10.0.19045.6216]
(c) Microsoft Corporation。保留所有权利。
C:\Users\QQ>adb shell
rk3588_u:/ $ su
rk3588_u:/ #
rk3588_u:/ # dmesg | grep gt9
2.333558\] \<\<-GTP-INFO-\>\> create proc entry gt9xx_config success rk3588_u:/ # rk3588_u:/ # dmesg \| grep touch \[ 2.118687\] usbcore: registered new interface driver ums-onetouch \[ 2.119178\] \CTS-SPIDrv Chipone touch driver init, version: v3.6.3 \[ 2.119204\] \CTS-SPIDrv - Register touch driver successfully rk3588_u:/ # rk3588_u:/ # getevent add device 1: /dev/input/event1 name: "goodix-ts" add device 2: /dev/input/event5 name: "rockchip-hdmi0 rockchip-hdmi0" add device 3: /dev/input/event2 name: "rockchip,hdmiin rockchip,hdmiin" add device 4: /dev/input/event6 name: "rockchip-hdmi1 rockchip-hdmi1" add device 5: /dev/input/event0 name: "rk805 pwrkey" add device 6: /dev/input/event4 name: "adc-keys" add device 7: /dev/input/event7 name: "Logitech USB Optical Mouse" add device 8: /dev/input/event3 name: "bt-powerkey" /dev/input/event1: 0003 0039 00000000 /dev/input/event1: 0003 0035 00000351 /dev/input/event1: 0003 0036 0000051f /dev/input/event1: 0003 0030 00000010 /dev/input/event1: 0003 0032 00000010 /dev/input/event1: 0000 0000 00000000 /dev/input/event1: 0003 0039 ffffffff /dev/input/event1: 0000 0000 00000000 /dev/input/event1: 0003 0039 00000000 /dev/input/event1: 0003 0035 0000031f /dev/input/event1: 0003 0036 000001d7 /dev/input/event1: 0003 0030 00000013 /dev/input/event1: 0003 0032 00000013 /dev/input/event1: 0000 0000 00000000 /dev/input/event1: 0003 0039 ffffffff /dev/input/event1: 0000 0000 00000000 /dev/input/event1: 0003 0039 00000000 /dev/input/event1: 0003 0035 0000032f /dev/input/event1: 0003 0036 00000585 /dev/input/event1: 0003 0030 00000012 /dev/input/event1: 0003 0032 00000012 /dev/input/event1: 0000 0000 00000000 /dev/input/event1: 0003 0039 ffffffff /dev/input/event1: 0000 0000 00000000 \^C 130\|rk3588_u:/ # \^C 130\|rk3588_u:/ #   Microsoft Windows \[版本 10.0.19045.6216
(c) Microsoft Corporation。保留所有权利。
C:\Users\QQ>adb shell
rk3588_u:/ $ su
rk3588_u:/ #
rk3588_u:/ # getevent -p
add device 1: /dev/input/event1
name: "goodix-ts"
events:
KEY (0001): 0066 0074 008b 009e
ABS (0003): 002f : value 0, min 0, max 15, fuzz 0, flat 0, resolution 0
0030 : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0
0032 : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0
0035 : value 0, min 0, max 1200, fuzz 0, flat 0, resolution 0
0036 : value 0, min 0, max 1920, fuzz 0, flat 0, resolution 0
0039 : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0
input props:
INPUT_PROP_DIRECT
add device 2: /dev/input/event5
name: "rockchip-hdmi0 rockchip-hdmi0"
events:
SW (0005): 0006
input props:
<none>
add device 3: /dev/input/event2
name: "rockchip,hdmiin rockchip,hdmiin"
events:
SW (0005): 0006
input props:
<none>
add device 4: /dev/input/event6
name: "rockchip-hdmi1 rockchip-hdmi1"
events:
SW (0005): 0006
input props:
<none>
add device 5: /dev/input/event0
name: "rk805 pwrkey"
events:
KEY (0001): 0074
input props:
<none>
add device 6: /dev/input/event4
name: "adc-keys"
events:
KEY (0001): 0072 0073 008b 009e
input props:
<none>
add device 7: /dev/input/event7
name: "Logitech USB Optical Mouse"
events:
KEY (0001): 0110 0111 0112
REL (0002): 0000 0001 0008 000b
MSC (0004): 0004
input props:
<none>
add device 8: /dev/input/event3
name: "bt-powerkey"
events:
KEY (0001): 0074
input props:
<none>
rk3588_u:/ #

