openharmony移植之编写电阻触摸屏驱动

之前有写过一篇关于Gt911触摸的文章,今天写一篇关于如何在openharmony上调试电阻屏触摸驱动,
首先需要修改如下两个文件,将我们的驱动文件加入驱动编译框架中,

diff --git a/drivers/adapter/khdf/linux/model/input/Kconfig b/drivers/adapter/khdf/linux/model/input/Kconfig
index 7257f0b098..838263383a 100755
--- a/drivers/adapter/khdf/linux/model/input/Kconfig
+++ b/drivers/adapter/khdf/linux/model/input/Kconfig
@@ -18,3 +18,10 @@ config DRIVERS_HDF_TP_2P35_FT6236
     depends on DRIVERS_HDF_INPUT
     help
       Answer Y to enable HDF TP 2P35 FT6236 driver.
+
+config DRIVERS_HDF_TP_4P_T113
+    bool "Enable HDF tp 4P T113 driver"
+    default n
+    depends on DRIVERS_HDF_INPUT
+    help
+      Answer Y to enable HDF TP 4P T113 driver.
diff --git a/drivers/adapter/khdf/linux/model/input/Makefile b/drivers/adapter/khdf/linux/model/input/Makefile
index 024bc5e2d1..73c0758cb3 100644
--- a/drivers/adapter/khdf/linux/model/input/Makefile
+++ b/drivers/adapter/khdf/linux/model/input/Makefile
@@ -27,6 +27,8 @@ obj-$(CONFIG_DRIVERS_HDF_TP_5P5_GT911) += \
               $(INPUT_ROOT_DIR)/touchscreen/touch_gt911.o
 obj-$(CONFIG_DRIVERS_HDF_TP_2P35_FT6236) += \
               $(INPUT_ROOT_DIR)/touchscreen/touch_ft6336.o
+obj-$(CONFIG_DRIVERS_HDF_TP_4P_T113) += \
+             $(INPUT_ROOT_DIR)/touchscreen/touch_t113.o

 ccflags-y += -Iinclude/../drivers/hdf/framework/model/input/driver \
              -Iinclude/../drivers/hdf/framework/model/input/driver/input_bus_ops \
diff --git a/kernel/linux/config/linux-5.4/arch/arm/configs/t113_nand_linux_small_defconfig b/kernel/linux/config/linux-5.4/arch/arm/configs/t113_nand_linux_small_defconfig
index 5516967977..51f92549e6 100644
--- a/kernel/linux/config/linux-5.4/arch/arm/configs/t113_nand_linux_small_defconfig
+++ b/kernel/linux/config/linux-5.4/arch/arm/configs/t113_nand_linux_small_defconfig
@@ -263,6 +263,7 @@ CONFIG_DRIVERS_HDF_PLATFORM_I2C=y
 CONFIG_DRIVERS_HDF_INPUT=y
 CONFIG_DRIVERS_HDF_TP_5P5_GT911=y
 # CONFIG_DRIVERS_HDF_TP_2P35_FT6236 is not set
+CONFIG_DRIVERS_HDF_TP_4P_T113=y
 # CONFIG_DRIVERS_HDF_WIFI is not set
 # CONFIG_DRIVERS_HDF_BT is not set
 # CONFIG_DRIVERS_HDF_SENSOR is not set

然后可以使用hb build -f编译测试下,有没有编译我们新加入的文件。加入的文件在drivers/framework/model/input/driver/touchscreen/touch_t113.c,然后就可以开始编写电阻触摸屏驱动了。
首先需要添加驱动入口

struct HdfDriverEntry g_touchT113ChipEntry = {
    .moduleVersion = 1,
    .moduleName = "HDF_TOUCH_T113",
    .Init = HdfT113ChipInit,
};

HDF_INIT(g_touchT113ChipEntry);

然后对应的在文件vendor/xingyun/t113_nand/hdf_config/device_info/device_info.hcs中添加如下内容。

diff --git a/vendor/xingyun/t113_nand/hdf_config/device_info/device_info.hcs b/vendor/xingyun/t113_nand/hdf_config/device_info/device_info.hcs
index 7acc319ff2..f91710d77e 100755
--- a/vendor/xingyun/t113_nand/hdf_config/device_info/device_info.hcs
+++ b/vendor/xingyun/t113_nand/hdf_config/device_info/device_info.hcs
@@ -83,6 +83,15 @@ root {
                     serviceName = "hdf_touch_gt911_service";
                     deviceMatchAttr = "zsj_gt911_5p5";
                 }
+               device1 :: deviceNode {
+                    policy = 0;
+                    priority = 130;
+                    preload = 0;
+                    permission = 0660;
+                    moduleName = "HDF_TOUCH_T113";
+                    serviceName = "hdf_touch_t113_service";
+                    deviceMatchAttr = "mc_t113_4p4";
+                }
             }
         }

然后我们可以编译验证下,是否能成功执行我们的,可以

[D/devmgr_service] DevmgrServiceUpdateStatus host:input_host 1 device:hdf_input_event1 1 status:1
[    5.006949] [W/driver_loader] failed to load node, property is null, match attr is: mc_t113_4p4
[    5.016821] [I/touch_t113] HdfT113ChipInit: enter
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值