全志 Fex文件

也是刚接触全志平台,网上搜到一些内容,然后简单总结一下

这个网站上有详细的介绍Fex

                 http://linux-sunxi.org/Fex_Guide#FEX_Description

也可以转到

                  http://linux-sunxi.org  了解全志的sunxi

一些翻译和概括:
        

fex目录:
    lichee/tool/pack/chips/sun8iw11p1/config/a40-p1/sys_config.fex

fex是Allwinner的设备树,用于配置gpio和一些配置,然后fex文件不是像dts一样用于解析的,而是fex
编译器编译的。

然后后面英文有备注全志跟其他mtk和高通平台不一样,不依赖dts和dsti:
    
   注意:主线Linux内核不使用FEX / script.bin,而是依靠设备树模型(.dtb文件)


--------------------
总结起来就是:

        驱动 = driver code + fex配置

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

然后看下代码,这个硬件资源是怎么联系driver代码的呢,我这里看下TP的节点ctp_power_ldo在driver中怎么用的。

Fex文件:

grep搜了一下,然后就明白怎么回事了

     全志把ctp, gsensor, compass, lsensor, gsensor这些input设备统一起来,在driver/input写了一个sw-device.c驱动,

fex里面的compatible和driver里面的compatible匹配后,调用probe,然后把设备节点的引用统一放到数组里面。            


       而input设备节点的解析是在init-input.c里面,解析的方法与别的平台dsti解析一样,of函数找到节点。解析存放在init-input.h的

头文件中对应的设备结构体device_config_info的实例中。

驱动文件中:

         定义结构体,然后直接使用  (有一个驱动模块中ctp_config_info互相怎么联系起来的问题)

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

         driver连接硬件资源大概就这样,mtk和qcom解析硬件资源直接就在厂商驱动中通过dsti解析节点,全志中间加了一层用于解析,解析的节点来自fex文件。基本是一样,还是设备节点,还是of api解析。

         暂时不知道为啥这样做,不清楚软件这样做的好处是啥。

            

猜你喜欢

转载自blog.csdn.net/John_chaos/article/details/108830160
今日推荐