1.cust_mt6771_camera.dtsi修改

这个设备树文件主要配置相机的reset,powerdown,avdd,dvdd,dovdd,clk引脚信息,已经配置了一些相机信息,我们调试时需要根据需求进行修改

reset和powerdown引脚配置

    camera_pins_cam0_rst_0: cam0@0 {pins_cmd_dat {pinmux = <PINMUX_GPIO101__FUNC_GPIO101>;slew-rate = <1>;output-low;};};camera_pins_cam0_rst_1: cam0@1 {pins_cmd_dat {pinmux = <PINMUX_GPIO101__FUNC_GPIO101>;slew-rate = <1>;output-high;};};camera_pins_cam0_pnd_0: cam0@2 {pins_cmd_dat {pinmux = <PINMUX_GPIO97__FUNC_GPIO97>;slew-rate = <1>;output-low;};};camera_pins_cam0_pnd_1: cam0@3 {pins_cmd_dat {pinmux = <PINMUX_GPIO97__FUNC_GPIO97>;slew-rate = <1>;output-high;};};

根据原理图配置相应引脚,一般默认0为主摄像头,1为前摄像头

avdd,dvdd,dovdd引脚配置

根据硬件原理图分析引脚是GPIO供电或系统供电

(这里示例配置avdd、dvddGPIO供电,dovdd系统供电)

GPIO供电:

 camera_pins_cam0_vcama_0: cam0@vcam0 {pins_cmd_dat {pinmux = <PINMUX_GPIO17__FUNC_GPIO17>;slew-rate = <1>;output-low;};};camera_pins_cam0_vcama_1: cam0@vcam1 {pins_cmd_dat {pinmux = <PINMUX_GPIO17__FUNC_GPIO17>;slew-rate = <1>;output-high;};};camera_pins_cam0_vcamd_0: cam0@vcam2 {pins_cmd_dat {pinmux = <PINMUX_GPIO178__FUNC_GPIO178>;slew-rate = <1>;output-low;};};camera_pins_cam0_vcamd_1: cam0@vcam3 {pins_cmd_dat {pinmux = <PINMUX_GPIO178__FUNC_GPIO178>;slew-rate = <1>;output-high;};};

系统供电:

 cam0_vcamio-supply = <&mt_pmic_vcamio_ldo_reg>;

clk引脚配置

    camera_pins_cam0_mclk_off: camera_pins_cam0_mclk_off {pins_cmd_dat {pinmux = <PINMUX_GPIO99__FUNC_GPIO99>;drive-strength = <1>;};};camera_pins_cam0_mclk_2ma: camera_pins_cam0_mclk_2ma {pins_cmd_dat {pinmux = <PINMUX_GPIO99__FUNC_CMMCLK0>;drive-strength = <0>;};};camera_pins_cam0_mclk_4ma: camera_pins_cam0_mclk_4ma {pins_cmd_dat {pinmux = <PINMUX_GPIO99__FUNC_CMMCLK0>;drive-strength = <1>;};};camera_pins_cam0_mclk_6ma: camera_pins_cam0_mclk_6ma {pins_cmd_dat {pinmux = <PINMUX_GPIO99__FUNC_CMMCLK0>;drive-strength = <2>;};};camera_pins_cam0_mclk_8ma: camera_pins_cam0_mclk_8ma {pins_cmd_dat {pinmux = <PINMUX_GPIO99__FUNC_CMMCLK0>;drive-strength = <3>;};};

硬件引脚关联配置

引脚配置的数量必须和上面配置的引脚一致,dws配置文件中相关GPIO模式设置正确;

&kd_camera_hw1 {pinctrl-names = "default","cam0_rst0", "cam0_rst1","cam0_pnd0", "cam0_pnd1","cam1_rst0", "cam1_rst1","cam1_pnd0", "cam1_pnd1","cam2_rst0", "cam2_rst1","cam2_pnd0", "cam2_pnd1","cam0_ldo_vcama_0", "cam0_ldo_vcama_1","cam0_ldo_vcamd_0", "cam0_ldo_vcamd_1","cam2_ldo_vcamd_0", "cam2_ldo_vcamd_1","cam2_ldo_vcama_0", "cam2_ldo_vcama_1","cam0_mclk_off","cam0_mclk_2mA", "cam0_mclk_4mA","cam0_mclk_6mA", "cam0_mclk_8mA","cam1_mclk_off","cam1_mclk_2mA", "cam1_mclk_4mA","cam1_mclk_6mA", "cam1_mclk_8mA","cam2_mclk_off","cam2_mclk_2mA", "cam2_mclk_4mA","cam2_mclk_6mA", "cam2_mclk_8mA";pinctrl-0 = <&camera_pins_default>;pinctrl-1 = <&camera_pins_cam0_rst_0>;pinctrl-2 = <&camera_pins_cam0_rst_1>;pinctrl-3 = <&camera_pins_cam0_pnd_0>;......pinctrl-33 = <&camera_pins_cam2_mclk_4ma>;pinctrl-34 = <&camera_pins_cam2_mclk_6ma>;pinctrl-35 = <&camera_pins_cam2_mclk_8ma>;cam0_vcamio-supply = <&mt_pmic_vcamio_ldo_reg>;cam1_vcama-supply = <&mt_pmic_vcama2_ldo_reg>;cam1_vcamd-supply = <&mt_pmic_vcamd_ldo_reg>;cam1_vcamio-supply = <&mt_pmic_vcamio_ldo_reg>;cam2_vcamio-supply = <&mt_pmic_vcamio_ldo_reg>;status = "okay";
};

2.imgsensor_cfg_table.c文件配置

这个文件主要配置相机供电引脚(avdd,dvdd,dovdd)属性,根据硬件原理图判断:

GPIO控制的引脚使用宏:IMGSENSOR_HW_ID_GPIO

系统供电的引脚使用宏:IMGSENSOR_HW_ID_REGULATOR

其他引脚配置一般不变,cust_mt6771_camera.dtsi中的相机编号和这里的DEV_NO一一对应;

struct IMGSENSOR_HW_CFG imgsensor_custom_config[] = {{IMGSENSOR_SENSOR_IDX_MAIN,IMGSENSOR_I2C_DEV_0,{{IMGSENSOR_HW_PIN_MCLK,  IMGSENSOR_HW_ID_MCLK},{IMGSENSOR_HW_PIN_AVDD,  IMGSENSOR_HW_ID_GPIO},{IMGSENSOR_HW_PIN_DOVDD, IMGSENSOR_HW_ID_REGULATOR},{IMGSENSOR_HW_PIN_DVDD,  IMGSENSOR_HW_ID_GPIO},{IMGSENSOR_HW_PIN_PDN,   IMGSENSOR_HW_ID_GPIO},{IMGSENSOR_HW_PIN_RST,   IMGSENSOR_HW_ID_GPIO},{IMGSENSOR_HW_PIN_NONE,  IMGSENSOR_HW_ID_NONE},},},{IMGSENSOR_SENSOR_IDX_SUB,IMGSENSOR_I2C_DEV_1,{{IMGSENSOR_HW_PIN_MCLK,  IMGSENSOR_HW_ID_MCLK},{IMGSENSOR_HW_PIN_AVDD,  IMGSENSOR_HW_ID_REGULATOR},{IMGSENSOR_HW_PIN_DOVDD, IMGSENSOR_HW_ID_REGULATOR},{IMGSENSOR_HW_PIN_DVDD,  IMGSENSOR_HW_ID_REGULATOR},{IMGSENSOR_HW_PIN_PDN,   IMGSENSOR_HW_ID_GPIO},{IMGSENSOR_HW_PIN_RST,   IMGSENSOR_HW_ID_GPIO},{IMGSENSOR_HW_PIN_NONE, IMGSENSOR_HW_ID_NONE},},},{IMGSENSOR_SENSOR_IDX_MAIN2,IMGSENSOR_I2C_DEV_1,{......},},{IMGSENSOR_SENSOR_IDX_SUB2,IMGSENSOR_I2C_DEV_1,{......},},{IMGSENSOR_SENSOR_IDX_MAIN3,IMGSENSOR_I2C_DEV_1,{......},},{IMGSENSOR_SENSOR_IDX_NONE}
};

MTK camera设备树及相关驱动调试相关推荐

  1. Linux驱动开发中与设备树相关的6种debug方法

    整理出了6种驱动开发时与设备注册.设备树相关的调试方法,彼此间没有优先级之分,每种方法不一定是最优解,但可以作为一种debug查找问题的手段,快速定位问题原因.例如在芯片验证时,不同时钟频率下系统启动 ...

  2. 探索Linux设备树:硬件描述与驱动程序的桥梁

    目录标题 引言:Linux设备树简介 | Introduction: Linux Device Tree Overview a. 设备树的背景与发展 | Background and Developm ...

  3. 【TX2】TX2开发板系统默认串口有ttyS0(调试口)、ttyTHS1、ttyTHS2、ttyTHS3,通过修改设备树文件,可以新增三个串口

    1.简述 TX2开发板系统默认串口有ttyS0(调试口).ttyTHS1.ttyTHS2.ttyTHS3,通过修改设备树文件,可以新增三个串口. 2.设备树 设备树中关于串口部分的描述 2.1 基础配 ...

  4. MTK平台开机初始化时 camera驱动流程|MTK camera调试常见几十种问题处理方法

    转载:https://www.jianshu.com/p/75ab1d82bbd3 mtk的驱动多是以模块加载的方式(module_init():module_exit():)加载到内核中去的:正因为 ...

  5. 基于瑞芯微RV1109 Linux触摸屏GT911驱动调试心得(二)-设备树刷厂商给的触摸屏固件...

    之前调试触摸屏的文章如下: 基于瑞芯微RV1109 Linux触摸屏GT911驱动调试心得_Bruce.yang的嵌入式之旅-CSDN博客 由于之前调触摸屏一直都对不上点,然后厂商又给了我新的驱动代码 ...

  6. MTK开发板设备树的修改---I2C设备 3.18内核

    修改kernel-3.18\drivers\misc\mediatek\mach\mt6797\amt6797_evb_m\dct\dct\codegen.dws目录下的DWS文件,在对应的I2C_C ...

  7. mcp2515 linux 设备树,MCP2515在Hi3521D上的调试

    近期要在板子上要用到SPI接口的mcp2515,hi3521d采用了linux3.18.20的内核,使用了设备树的方式加载驱动.不算复杂,调了2天搞完了. 内核修改 1.注意RESET脚控制,为海思的 ...

  8. AM5728 arm端 spi调试 设备树方式

    一.spi管脚定义的查找 1.硬件的连接 2.根据硬件的连接从芯片手册中查找管脚的定义 根据控制寄存器跳转到相应的管脚定义,查看管脚的复用功能 二.设备树修改 在dra7.dtsi中添加spi的设备地 ...

  9. Mtk android中的设备树,msm8909+android5.1 device tree(dt) 设备树组成和编译

    1.Device tree设备树概述 设备树包含DTC(device treecompiler),DTS(device treesource和DTB(device treeblob).其对应关系如图1 ...

最新文章

  1. go6---slice切片
  2. 【ES6】JS的Set和Map数据结构
  3. 一个MySQL存储过程的模板
  4. inputStream输入流转为String对象(将String对象转为inputStream输入流)
  5. [git] 如何处理push失败的commit
  6. kafka删除队列_没想到 Kafka 还会这样问,学会这些带你轻松搞定大厂面试!
  7. python中递归函数写法_python递归函数用法详解
  8. php里isset的属性,PHP魔术方法__isset()
  9. Python 创建随机mac地址(单播、组播)
  10. Django day 36 支付宝支付,微信推送
  11. c语言中常用符号,C语言中常用的符号.doc
  12. Eclipse—在Eclipse中如何发布创建的JavaWeb工程
  13. 熵权法计算权重原理python实现
  14. 笔记——专访李运华:程序员如何在技术上提升自己
  15. 【360极速浏览器安装axure插件】
  16. 塔尔寺景点门票销售管理系统
  17. Java选出偶数,Java 定义集合存入20个随机数字,通过自定义方法筛选偶数元素,放入新集合,打印输出...
  18. vue页面接收后端传递数值后保留两位小数
  19. 美国华盛顿州立大学计算机排名,华盛顿州立大学计算机科学computer science专业排名第251~300名(2020THE泰晤士高等教育世界大学排名)...
  20. 如何屏蔽UC强制嵌入到你网站页面上的垃圾广告

热门文章

  1. 苹果8wifi找不到服务器,iphone8连不上wifi怎么办?
  2. 中软python编码规范考试_中软国际面试经验
  3. 云帆显示服务器列表获取失败,云帆.apk 0% 的杀毒软件(0/32) 报告发现病毒 - VirSCAN.org-多引擎在线病毒扫描网 v1.02,当前支持 47 款杀毒引擎...
  4. 下雨和见你 ---宋小君
  5. 机械图纸英文标识诠释
  6. 基于张量机器学习模型_什么是基于模型的机器学习?
  7. [sips]搭建opensip:ubuntu+ARM 64位
  8. 计算机应用研究 相对好发一些,传感技术学报期刊好投吗_机械科学与技术录用率高吗_计算机工程与应用被拒还能再投吗...
  9. CMake添加-g编译选项/CMake编译Debug版本
  10. bzoj 5041: LWD的降临