展锐平台 触摸调试TP bringup

发布时间:2026/9/23 7:29:04
展锐平台 触摸调试TP bringup 前言一般lcd和tp应该是一起点亮的这里分开了详细lcd点亮方法查看上一篇lcd bringup参考修改目录STEP1把厂商给得驱动放入文件夹ker/kernel6.6/unisoc-modules/touchscreen/修改对应的Kconfig和makefile,这里是tp驱动是否被加载和编译的关键文件# # Unisoc touchscreen (NEW )configuration # config TOUCHSCREEN_ILITEK_V3_SPI tristate ILITEK V3 SPI Support help This is support ilitek v3 spi touchscreen. if you want to use ilitek v3 spi touchscreen. please say m.# Makefile for the ILITEK touchscreen driver. ifneq ($(strip $(BSP_KERNEL_VERSION)),kernel5.15) BSP_MODULES_OUT : ${COMMON_OUT_DIR}/unisoc_modules/kernel6.1/touchscreen/ilitek BSP_KERNEL_PATH : ${ROOT_DIR}/kernel6.1 KO_MODULE_OUT : $(BSP_MODULES_OUT) else KO_MODULE_NAME : ilitek KO_MODULE_OUT : $(BSP_MODULES_OUT)/$(KO_MODULE_NAME) endif ccflags-y -Wall ccflags-y -I$(srctree)/drivers/unisoc_platform/nest/touchscreen/core/ KO_MODULE_KBUILD : $(CURDIR)/Kbuild .PHONY: modules modules_install clean modules: mkdir -p $(KO_MODULE_OUT) ln -snf $(KO_MODULE_KBUILD) $(KO_MODULE_OUT)/Kbuild ln -snf $(CURDIR) $(KO_MODULE_OUT)/source $(MAKE) -C $(BSP_KERNEL_PATH) M$(KO_MODULE_OUT) src$(CURDIR) $ modules_install: $(MAKE) -C $(BSP_KERNEL_PATH) M$(KO_MODULE_OUT) $ # Remove the out directory wholly clean: #$(MAKE) -C $(BSP_KERNEL_PATH) M$(KO_MODULE_OUT) src$(CURDIR) $ rm -rf $(KO_MODULE_OUT) ########################################################################## ilitek-y : \ ilitek_v3.o \ ilitek_v3_spi.o \ ilitek_v3_qcom.o \ ilitek_v3_ic.o \ ilitek_v3_touch.o \ ilitek_v3_mp.o \ ilitek_v3_hostdl.o \ ilitek_v3_node.o obj-$(CONFIG_TOUCHSCREEN_ILITEK_V3_SPI) ilitek.omakefile建议参考同级目录的tp驱动这里ilitek-y表示生成 ilitek.o 这个目标文件时需要把这些 .o 合并进去。STEP2在此目录添加对应的dtsiker\kernel6.6\unisoc\arch\arm64\boot\dts\sprd\touchscreen// SPDX-License-Identifier: (GPL-2.0 OR MIT) /* * Unisoc TP dts file * * Copyright (C) 2020, Unisoc Inc. * */ #include dt-bindings/gpio/gpio.h spi3 { status ok; #address-cells 1; #size-cells 0; /* Novatek device tree node */ touchpanel0 { compatible tchip,ilitek; /*pinctrl*/ pinctrl-names spi_di_0,spi_di_1, spi_do_0,spi_do_1, spi_clk_0,spi_clk_1, spi_csn_0,spi_csn_1, tp_extconf0,tp_extconf1; pinctrl-0 ilitek_spi_di_0; pinctrl-1 ilitek_spi_di_1; pinctrl-2 ilitek_spi_do_0; pinctrl-3 ilitek_spi_do_1; pinctrl-4 ilitek_spi_clk_0; pinctrl-5 ilitek_spi_clk_1; pinctrl-6 ilitek_spi_csn_0; pinctrl-7 ilitek_spi_csn_1; pinctrl-8 tp_extconf0; pinctrl-9 tp_extconf1; reg 0; //Same as CS ID status ok; spi-max-frequency 25000000; touch,irq-gpio ap_gpio 19 GPIO_ACTIVE_HIGH; touch,eic-irq-gpio eic_async 18 GPIO_ACTIVE_HIGH; //touch,reset-gpio ap_gpio 29 GPIO_ACTIVE_HIGH; wakeup-source; }; }; pin_controller { ilitek_spi_di_0: tp_spi_di_default { pins UMS9360_SPI3_DI; function func3; }; ilitek_spi_di_1: tp_spi_di_active { pins UMS9360_SPI3_DI; function func1; }; ilitek_spi_do_0: tp_spi_do_default { pins UMS9360_SPI3_DO; function func3; }; ilitek_spi_do_1: tp_spi_do_active { pins UMS9360_SPI3_DO; function func1; }; ilitek_spi_clk_0: tp_spi_clk_default { pins UMS9360_SPI3_CLK; function func3; }; ilitek_spi_clk_1: tp_spi_clk_active { pins UMS9360_SPI3_CLK; function func1; }; ilitek_spi_csn_0: tp_spi_csn_default { pins UMS9360_SPI3_CSN0; function func3; }; ilitek_spi_csn_1: tp_spi_csn_active { pins UMS9360_SPI3_CSN0; function func1; }; tp_extconf0: extint0 { pins UMS9360_EXTINT2; function func1; }; tp_extconf1: gpio { pins UMS9360_EXTINT2; function func4; }; };需要注意这里的tp中断脚有ap-gpio模式和eic_async中断模式后续调试双击唤醒有用STEP3在对应的主dtsi中包含tp驱动dtsiker\kernel6.6\unisoc\arch\arm64\boot\dts\sprd\ums9360\#include ../touchscreen/ums9360-touch_ilitek_spi_1600x2400.dtsiSTEP4展锐平台tp最后跑的是\ker\kernel6.6\unisoc\drivers\unisoc_platform\nest\touchscreen这里可以通过软链接/脚本的方式把ker\kernel6.6\unisoc-modules\touchscreen\ilitek挪过来进入目录cd ker/kernel6.6/unisoc/drivers/unisoc_platform/nest/touchscreen执行ln -s ../../../../../unisoc-modules/touchscreen/ilitek ilitek然后确认即可推上服务器的时候记得把软连接也加上diff --git a/unisoc/drivers/unisoc_platform/nest/touchscreen/ilitek b/unisoc/drivers/unisoc_platform/nest/touchscreen/ilitek new file mode 120000 index 000000000..a3b5973dd --- /dev/null b/unisoc/drivers/unisoc_platform/nest/touchscreen/ilitek -0,0 1 ../../../../../unisoc-modules/touchscreen/ilitek/STEP5加入编译链unisoc/arch/arm64/configs/sprd_gki_qogirl8.fragment添加Kconfig对应的宏CONFIG_TOUCHSCREEN_ILITEK_V3_SPImunisoc/unisoc_bazels/ums9360_user.bzl unisoc/unisoc_bazels/ums9360_userdebug.bzl添加对应的ko模块drivers/unisoc_platform/nest/touchscreen/ilitek/ilitek.ko,添加对应的Kconfig和makefile/unisoc/drivers/unisoc_platform/Kconfigsource drivers/unisoc_platform/nest/touchscreen/ilitek/Kconfig/unisoc/drivers/unisoc_platform/Makefileobj-$(CONFIG_TOUCHSCREEN_ILITEK_V3_SPI) nest/touchscreen/ilitek/

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询