• 大小: 658KB
    文件类型: .rar
    金币: 2
    下载: 2 次
    发布日期: 2021-04-11
  • 语言: 其他
  • 标签: ilitek  tp  mtk  allwin  

资源简介

包内是对Linux平台下的ilitek驱动。适用于mtk,allwin,rockchip,amlogic等不同平台下的ilitek触摸屏驱动,内含区分不同平台的配置说明文档.通过宏来区分不同的平台。

资源截图

代码片段和文件信息

/*
 * ILITEK Touch IC driver
 *
 * Copyright (C) 2011 ILI Technology Corporation.
 *
 * Author: Jijie Wang 
 * 
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program; if not write to the Free Software
 * Foundation Inc. 51 Franklin Street Fifth Floor Boston
 * MA 02110-1301 USA.
 * 
 */

#include “ilitek_ts.h“
char ilitek_driver_information[] = {DERVER_VERSION_MAJOR DERVER_VERSION_MINOR CUSTOMER_ID MODULE_ID PLATFORM_ID PLATFORM_MODULE ENGINEER_ID};
int ilitek_log_level_value = ILITEK_DEFAULT_LOG_LEVEL;
static bool ilitek_repeat_start = true;
static bool ilitek_exit_report = false;


#if ILITEK_PLAT == ILITEK_PLAT_MTK
extern struct tpd_device *tpd;
#ifdef ILITEK_ENABLE_DMA
static unsigned char *I2CDMABuf_va = NULL;
static dma_addr_t I2CDMABuf_pa = 0;
#endif
#endif

#ifdef ILITEK_TUNING_MESSAGE
static struct sock * ilitek_netlink_sock;
bool ilitek_debug_flag = false;
static void ilitek_udp_reply(int pidint seqvoid *payloadint size)
{
struct sk_buff *skb;
struct nlmsghdr *nlh;
int len = NLMSG_SPACE(size);
void *data;
int ret;

tp_log_debug(“udp_reply\n“);
skb = alloc_skb(len GFP_ATOMIC);
if (!skb) {
tp_log_info(“alloc skb error\n“);
return;
}
//tp_log_info(“ilitek udp_reply\n“);
#if LINUX_VERSION_CODE >= KERNEL_VERSION(380)
nlh= nlmsg_put(skb pid seq 0 size 0);
#else
nlh= NLMSG_PUT(skb pid seq 0 size);
#endif
nlh->nlmsg_flags = 0;
data=NLMSG_DATA(nlh);
memcpy(data payload size);
#if LINUX_VERSION_CODE >= KERNEL_VERSION(380)
NETlink_CB(skb).portid = 0;   /* from kernel */
#else
NETlink_CB(skb).pid = 0;  /* from kernel */
#endif
NETlink_CB(skb).dst_group = 0;  /* unicast */
ret=netlink_unicast(ilitek_netlink_sock skb pid MSG_DONTWAIT);
if (ret <0) {
tp_log_err(“ilitek send failed\n“);
return;
}
return;
#if LINUX_VERSION_CODE < KERNEL_VERSION(380)
nlmsg_failure: /* Used by NLMSG_PUT */
if (skb) {
kfree_skb(skb);
}
#endif
}

/* Receive messages from netlink socket. */
static u_int ilitek_pid = 100 ilitek_seq = 23/* sid*/;
static void udp_receive(struct sk_buff  *skb)
{
   int count = 0 ret = 0 i = 0;
uint8_t * data;
struct nlmsghdr *nlh;
nlh = (struct nlmsghdr *)skb->data;
ilitek_pid  = 100;//NETlink_CREDS(skb)->pid;
//uid  = NETlink_CREDS(skb)->uid;
//sid  = NETlink_CB(skb).sid;
ilitek_seq  = 23;//nlh->nlmsg

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        349  2017-09-08 11:11  ilitek_limv5_1_0\ilitek.dts

     文件     725064  2017-09-14 18:13  ilitek_limv5_1_0\ILITEK_LINUX_I2C_DRIVER_CHS_V0.0.6.pdf

     文件      72322  2017-09-13 11:05  ilitek_limv5_1_0\ilitek_main.c

     文件      11732  2017-09-13 11:05  ilitek_limv5_1_0\ilitek_platform_init.c

     文件      79225  2017-09-15 17:01  ilitek_limv5_1_0\ilitek_tool.c

     文件      14336  2017-09-13 11:05  ilitek_limv5_1_0\ilitek_ts.h

     文件      28527  2017-09-15 17:00  ilitek_limv5_1_0\ilitek_update.c

     文件         91  2017-09-08 11:11  ilitek_limv5_1_0\Makefile

     文件        121  2017-09-08 11:11  ilitek_limv5_1_0\Makefile_build_ko

     文件        381  2017-09-15 09:38  ilitek_limv5_1_0\Makefile_mtk

     目录          0  2017-09-15 10:02  ilitek_limv5_1_0

----------- ---------  ---------- -----  ----

               932148                    11


评论

共有 条评论