移植触屏驱动,利用buildroot编译tslib,

基于2440开发板

1. 内核修改

1.1首先更改平台设备文件

arch/arm/mach-s3c24xx/mach-lxa2440.c(由mach-mini2440.c修改而来)

  • 添加头文件ts.h,最新版的内核这个头文件更改了位置,自查下.

    
    #include <plat/ts.h>
    
  • 添加触摸设备

    /* Touchscreen device support added by anzyelay */
    static struct s3c2410_ts_mach_info lxa2440_ts_info = { 
        .delay = 10000, //延时
        .presc = 49,    //预分频
        .oversampling_shift = 2,//采样次数 2的2次方
    };
    
  • 增加将s3c_device_ts添加到设备组中选项
    主要是修改lxa2440_parse_features函数中的case ‘t’

            case 't':
                if(features->done & FEATURE_TOUCH)
                    printk(KERN_INFO "LXA2440: '%c' ignored, "
                    "touchscreen not compiled in\n", f);
                else {
                    features->optional[features->count++] = 
                            &s3c_device_ts;
                }
                features->done |= FEATURE_TOUCH;
                break;
    
  • 修改lxa2440_features_str,将s3c_device_ts添加到设备组中

    static char lxa2440_features_str[12] __initdata = "4t";

    或者在启动参数中加入lxa2440=4t,新版内核就是通过lxa2440_features_str字符组来支持从启动参数处更改,
    此处添加后,在lxa2440_init中会调用lxa2440_parse_features(&features, lxa2440_features_str);,最终将其添加到设备数组中去

  • 初始触摸设备
    在lxa2440_init中添加触摸设备的初始化信息.

    s3c24xx_udc_set_platdata(&lxa2440_udc_cfg);
    s3c24xx_mci_set_platdata(&lxa2440_mmc_cfg);
    s3c_nand_set_platdata(&lxa2440_nand_info);
    s3c_i2c0_set_platdata(NULL);
    s3c24xx_ts_set_platdata(&lxa2440_ts_info);//初始化触摸设备

1.2 修改编译配置,增加触摸驱动

Device Drivers  ---> 
    Input device support  ---> 
        [*]   Touchscreens  ---> 
            <*>   Samsung S3C2410/generic touchscreen input driver

1.3 编译下载

下载成功后可以看到ls /dev/input/event0
cat一下,手点下屏幕看看是否有输出信息,有就说明移植成功了.

2 使用buildroot编译tslib

执行make menuconfig

Target packages  --->
    Graphic libraries and applications (graphic/text)  --->
        [*] Qt5  ---> 
            [*]     Enable Tslib support 

或者qt–>Mouse drivers —>tslib
编译成功后下载到开发板或nfs mount过去执行ts_calibration校正看看是否可以.
这个就是这么傻瓜式操作了.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值