官术网_书友最值得收藏!

5.4.5 攝像頭的驅動程序

MSM的攝像頭系統構成的方式為經典的Camera驅動+Sensor驅動方式。其驅動程序是基于Video for Linux2的攝像頭驅動程序。

除了v4l2的共用部分以外,msm的主要文件是在drivers/media/video/msm/目錄中。包含了msm_v4l2.c,msm_camera.c,s5k3e2fx.c,msm_vfe8x_proc.c等文件。

msm_camera.c是公用的庫函數,創建出/dev/msm_camera中的各個設備文件:

    # ls -l /dev/msm_camera
    crw-rw---- system   system   249,   2 2010-01-13 18:39 frame0
    crw-rw---- system   system   249,   1 2010-01-13 18:39 config0
    crw-rw---- system   system   249,   0 2010-01-13 18:39 control0

這里包含了3個自定義的字符設備:frame0為幀數據設備,config0為配置設備,control0為控制設備。

include/media目錄中的msm_camera.h,是MSM攝像頭相關的頭文件,其中定義了各種額外的ioctl命令。

msm_v4l2.c是v4l2驅動程序的實現文件,實現了標準的Video for Linux 2的驅動程序,它實際上是在調用msm_camera.c中內容的基礎上實現的。

s5k3e2fx是攝像頭傳感器的驅動程序,platform_driver的名稱為msm_camera_s5k3e2fx,這個名稱和board-mahimahi.c中定義的platform_device相匹配。

s5k3e2fx是連接在i2c總線上的,其地址為0-0010,在sys文件系統中,可以看到如下信息:

    # cat /sys/bus/i2c/devices/0-0010/name
    s5k3e2fx
主站蜘蛛池模板: 广灵县| 凉城县| 凯里市| 科技| 大城县| 丰镇市| 萝北县| 清流县| 太仓市| 进贤县| 铁力市| 班玛县| 株洲市| 介休市| 三原县| 三明市| 巴林右旗| 深泽县| 长顺县| 阜阳市| 高陵县| 封丘县| 大石桥市| 九台市| 南皮县| 资兴市| 花莲市| 虹口区| 丹江口市| 会东县| 启东市| 永川市| 平远县| 神木县| 海原县| 海阳市| 咸宁市| 清丰县| 古丈县| 普陀区| 磴口县|