LinuxÒÁµéÔ°ÂÛ̳'s Archiver

jojolin ·¢±íÓÚ 2006-8-7 11:00

¡¾ÇóÖú¡¿¹ØÓÚ2.6´¥ÃþÆÁÇý¶¯µÄÎÊÌâ(¼±~!!)

ÎÒ×î½üÔÚ¸ø2.6.13ÄÚºË×öÉ豸Çý¶¯,ÏÖÔÚдµ½"´¥ÃþÆÁ",ÎҲο¼µÄ·½·¨ÈçÏÂ:

       (´ó¼ÒÏÈä¯ÀÀһϰ¡,ºÇºÇ)

       ÔÚlinux2.6.14ÖÐûÓÐÌṩs3c2410µÄÇý¶¯£¬ËùÒÔÎÒÃÇҪн¨Çý¶¯Îļþ£¬ÎÒÃÇÔÚlinux2.6.14/drivers/input/touchscreenĿ¼Ï½¨Á¢ÐµÄÎļþhfrk_s3c2410_ts.cÎļþ£¬Çý¶¯ÎļþÎÒÃÇ¿ÉÒԲο¼ÀàËÆµÄ´¥ÃþÆÁÇý¶¯£¬¾ßÌåµÄÄÚÈݲο´ÍøÕ¾»òÕß¹âÅÌÌṩµÄÔ´´úÂë¡£

   Ê×ÏÈ£ºÎÒÃÇÐèÒªÐÞ¸Älinux2.6.14/drivers/input/touchscreenĿ¼ÏµÄmakefileÎļþ£¬ÔÚÎļþµÄ×îºóÌí¼Ó£º

obj-$(CONFIG_TOUCHSCREEN_S3C2410) += hfrk_s3c2410_ts.o

µÚ¶þ£ºÎÒÃÇÐèÒªÐÞ¸Älinux2.6.14/drivers/input/touchscreen/KconfigÖÐÌí¼Ó£º

     config TOUCHSCREEN_S

     tristate "Samsung S3C2410 touchscreen input driver"

     depends on ARCH_SMDK2410 && INPUT && INPUT_TOUCHSCREEN

     select SERIO

     help

     Say Y here if you have the s3c2410 touchscreen.

     If unsure, say N.

     To compile this driver as a module, choose M here: the

     module will be called s3c2410_ts.

     

config TOUCHSCREEN_S3C2410_DEBUG

     boolean "Samsung S3C2410 touchscreen debug messages"

     depends on TOUCHSCREEN_S3C2410

     help

     Select this if you want debug messages

ÐÞ¸ÄÍê³ÉÒÔºó£¬ÔÚÎÒÃÇÅäÖÃÄں˵Äʱºò£¬¾Í»áÔö¼Ó¹ØÏµs3c2410µÄ´¥ÃþÆÁÅäÖã¬ÎÒÃÇÑ¡ÔñÉÏÕâЩÅäÖþͿÉÒÔ°ÑÇý¶¯Ôö¼Ó½øÈ¥ÁË

Device drivers -¨¤

          Input device support ¨¤

                     Touchscreens ¨¤

                      <*>Samsung S3C2410 touchscreen input driver

                      []Samsung s3c2410 touchscreen debug message

µÚÈý£ºÔÚ/linux-2.6.14/arch/arm/mach-s3c2410/mach-smdk2410.c,ÖÐÔö¼ÓÈçÏÂÄÚÈÝ£º

     static struct s3c2410_ts_mach_info sbc2410_ts_cfg __initdata = {

     .delay = 10000,

     .presc = 49,

     .oversampling_shift = 2,

     };

     ÔÚsmdk2410_devices½á¹¹ÖУ¬Ìí¼Ó£º

     &s3c_device_ts,

     ÔÚsmdk2410_map_ioº¯ÊýÖÐÌí¼Ó£º

     set_s3c2410ts_info(&sbc2410_ts_cfg);

µÚËÄ£ºÔÚ/linux-2.6.14/arch/arm/mach-s3c2410/devs.hÎļþÖÐÌí¼Ó£º

     extern struct platform_device s3c_device_ts;

µÚÎ壺ÔÚarch/arm/mach-s3c2410/devs.cÎļþÖÐÌí¼ÓÈçϼ¸ÐУº

    /* Touchscreen */

    static struct s3c2410_ts_mach_info s3c2410ts_info;

    void __init set_s3c2410ts_info(struct s3c2410_ts_mach_info *hard_s3c2410ts_info)
{

memcpy(&s3c2410ts_info,hard_s3c2410ts_info,sizeof(struct s3c2410_ts_mach_info));

}

EXPORT_SYMBOL(set_s3c2410ts_info);

struct platform_device s3c_device_ts = {

.name = "s3c2410-ts",

.id = -1,

.dev = {

.platform_data = &s3c2410ts_info,

}

};

EXPORT_SYMBOL(s3c_device_ts);

¾­¹ýÕâЩÐ޸ģ¬ÎÒÃǵĴ¥ÃþÆÁÇý¶¯ÒѾ­Íê³É£¬ÎÒÃDZàÒë¾Í¿ÉÒÔÁË¡£ÎÒÃǵÄÕâ¸ö´¥ÃþÆÁÇý¶¯ÔÚÄÚºË×¢²áΪ/dev/input/mouse0¡£


      ´ó¼Ò²»ÒªÖ»¿´ÁË·½·¨Çë°ïÎÒ¿´¿´ÎÊÌâ,·¢±íÒ»ÏÂÒâ¼û     

      ok!!!µ½Ä¿Ç°ÎªÖ¹Î񵀮ô¶¯ÐÅÏ¢ÀïÒѾ­ÄÜ¿´µ½:
     s3c2410 TouchScreen successfully loaded,¶øÇÒÉ豸Îļþ/dev/input/mouse0Ò²¿ÉÒÔÉú³É.
      ÎҵĴ¥ÃþÆÁÔÚÄں˴òÓ¡ÐÅÏ¢,ÒѾ­ÄÜ¿´µ½Êý¾ÝÕýÈ·,´¥ÃþÆÁÇý¶¯Ó¦¸ÃÊǺõÄ,¿ÉÊÇÎÒ»¹²»Çå³þ2.6Äں˺ͲâÊÔ³ÌÐòµÄ½Ó¿ÚÔÚʲôµØ·½,Ô­À´µÄʲôfileoprition½á¹¹Ìåµ´È»ÎÞ´æ,´¥ÃþÆÁµÄÇý¶¯¹Òµ½ÁËBUSÉÏ[img]http://bbs.chinaunix.net/images/smilies/icon_sad.gif[/img] ......ÄÇÎÒµÄÊý¾ÝÒªÔÚʲôµØ·½²ÅÄÜ´«µÝ¸øÉϲã²âÊÔ³ÌÐòÄØ???ÔÚʲôµØ·½²ÅÄÜÓÐÏàÓ¦µÄread,write,º¯ÊýÄØ,ʲôµØ·½Ð´ÈëbuffÄØ.....???ÎÒÏÖÔڵIJâÊÔ³ÌÐòÎÞ·¨´ÓÉ豸ÎļþÖжÁÈ¡ÕýÈ·µÄÊýÖµ,Ó¦¸ÃÊÇϲãµÄÇý¶¯ÏòÉϲãµÄ²âÊÔ³ÌÐò´«µÝµÄʱºò³öÏÖÁËÎÊÌâ,¿ÉÊÇÎÒÎÞ·¨ÕÒµ½½Ó¿ÚλÖð¡:(

       Ï£Íû´ó¼Ò¸øµãÒâ¼ûŶ....
        ÔÚÏßµÈ....

Ò³: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.