全志A133 Android 10 前后相同摄像头型号修改记录


【问题】

全志A133 Android 10 使用前后置都为相同的摄像头时,会出现i2c注册失败的问题,从而导致摄像头调试失败,具体log见下所述:

  1. [    4.472993] [c2590_mipi_r]PWR_ON!
  2. [    4.531231] [c2590_mipi_r]sensor_init
  3. [    4.532734] [c2590_mipi_r]V4L2_IDENT_SENSOR = 0x202
  4. [    4.532738] [c2590_mipi_r]sensor_init ok !
  5. [    4.532742] [c2590_mipi_r]PWR_OFF!
  6. [    4.541169] i2c i2c-2: Failed to register i2c client c2590_mipi_f at 0x36 (-16)

运行中会出现:

  1. [   20.851147] [c2590_mipi_r]PWR_ON!
  2. [   20.910241] [c2590_mipi_r]sensor_init
  3. [   20.911581] [c2590_mipi_r]V4L2_IDENT_SENSOR = 0x202
  4. [   20.911586] [c2590_mipi_r]sensor_init ok !
  5. [   20.912813] [c2590_mipi_r]PWR_OFF!
  6. [   20.925117] [VIN_ERR]there is no valid sensor

【解决方法】
1. 在 kernel/linux-4.9/drivers/media/platform/sunxi-vin/modules/sensor/camera.h 中增加:

  1. #define CONFIG_SAME_I2C  

2. 在所有的驱动文件中的probe函数中增加:

  1. #ifdef CONFIG_SAME_I2C  
  2.     info->sensor_i2c_addr = (0x6c >> 1);  
  3. #endif  

以上我踩的坑,记录一下!

全志平台camera.cfg文件的选项内容说明


全志平台采用camera.cfg对摄像头的基本配置项进行配置,在调试过程中,可以通过adb的方式进行简单方便的调试,其具体含义说明如下:

  1. ;-------------------------------------------------------------------------------  
  2. ; 用于camera的配置  
  3. ;  
  4. ; 采用格式:  
  5. key = key_value  
  6. ; 注意: 每个key需要顶格写;  
  7. ; key_value紧跟着key后面的等号后面, 位于同一行中;  
  8. ; key_value限制大小为256字节以内;  
  9. ;  
  10. ;-------------------------------------------------------------------------------  
  11.    
  12. ;-------------------------------------------------------------------------------  
  13. ; exif information of "make" and "model"  
  14. ; exif 信息,用于标识照片的来源及拍照设备名称,一般不用修改。  
  15. ;-------------------------------------------------------------------------------  
  16. key_camera_exif_make = MAKE_A23  
  17. key_camera_exif_model = MODEL_A23  
  18.    
  19. ;-------------------------------------------------------------------------------  
  20. ; 1 for single camera, 2 for double camera  
  21. ;  摄像头数量,1 -- 单摄像头 ;2 -- 双摄像头  
  22. ;-------------------------------------------------------------------------------  
  23. number_of_camera = 1  
  24.    
  25. ;-------------------------------------------------------------------------------  
  26. ; CAMERA_FACING_BACK  
  27. ;  
  28. ; 后置摄像头,一般情况0 表示后置摄像头,当转化摄像头配置的gpio口时,可能为后置。  
  29. ; 具体根据硬件配置。  
  30. ;-------------------------------------------------------------------------------  
  31. camera_id = 0  
  32.    
  33. ;-------------------------------------------------------------------------------  
  34. ; 1 for CAMERA_FACING_FRONT  
  35. ; 0 for CAMERA_FACING_BACK  
  36. ; 摄像头的朝向,0 -- 背对人脸的方向, 1 -- 面对人脸的方向。  
  37. ;-------------------------------------------------------------------------------  
  38. camera_facing = 0  
  39.    
  40. ;-------------------------------------------------------------------------------  
  41. ; 1 for camera without isp(using built-in isp of Axx)  
  42. ; 0 for camera with isp  
  43. ; 是否内置isp , 0 -- 有 1 -- 没有   
  44. ;-------------------------------------------------------------------------------  
  45. use_builtin_isp = 0  
  46.    
  47. ;-------------------------------------------------------------------------------  
  48. ; camera orientation (0, 90, 180, 270)  
  49.    
  50. ; 摄像头旋转方向,一般不做旋转,出现某个摄像头出现方向不对是做调整。  
  51. ;-------------------------------------------------------------------------------  
  52. camera_orientation = 0  
  53.    
  54. ;-------------------------------------------------------------------------------  
  55. ; driver device name  
  56. ; 系统设备名称,一般前后摄像头共用dev/video0;  
  57. ; 检测是否有摄像头设备挂载,可以adb  shell ll dev/ 查看是否有该设备。  
  58. ;-------------------------------------------------------------------------------  
  59. camera_device = /dev/video0  
  60.    
  61. ;-------------------------------------------------------------------------------  
  62. ; device id  
  63. ; for two camera devices with one CSI  
  64. ; 用于区分CSI设备的序号,一般不做修改。  
  65. ;-------------------------------------------------------------------------------  
  66. device_id = 0  
  67. ;------------------------------------------------------  
  68. ; 浏览配置。  
  69. ; used_preview_size -- 是否配置的画面尺寸。 1 -- 是,0 -- 否  
  70. ; key_support_preview_size -- 可以支持的画面尺寸。  
  71. ; key_default_preview_size -- 默认支持的画面尺寸  
  72. ; 不建议做修改  
  73. ;-----------------------------------------------------  
  74. used_preview_size = 1  
  75. key_support_preview_size = 640x480  
  76. key_default_preview_size = 640x480  
  77.    
  78. ;------------------------------------------------------  
  79. ; 拍照配置。  
  80. ; used_picture_size -- 是否配置的画面尺寸。 1 -- 是,0 -- 否  
  81. ; key_support_picture_size -- 可以支持的画面尺寸。  
  82. ; key_default_picture_size -- 默认支持的画面尺寸  
  83. ;-----------------------------------------------------  
  84. used_picture_size = 1  
  85. key_support_picture_size = 1600x1200,800x600  
  86. key_default_picture_size = 1600x1200  
  87.    
  88. ;------------------------------------------------------  
  89. ; 闪光灯配置。  
  90. ; used_flash_mode -- 是否使用闪光灯。 1 -- 是,0 -- 否  
  91. ; key_support_flash_mode -- 可以支持的闪光灯的配置项目,在页面上显示一般为。on -- 开启, off -- 关闭  
  92. ; key_default_flash_mode -- 默认闪光灯配置  
  93. ;-----------------------------------------------------  
  94. used_flash_mode = 1  
  95. key_support_flash_mode = on,off  
  96. key_default_flash_mode = on  
  97.    
  98. ;------------------------------------------------------  
  99. ; 颜色特效配置。  
  100. ; used_color_effect -- 是否使用颜色特效 。1 -- 是,0 -- 否  
  101. ; key_support_color_effect -- 可以支持的颜色特效的配置项目,在页面上显示一般为。  
  102. ; none -- 无; mono -- 单色; negative -- 底片模式 ; sepia -- 棕褐色;aqua -- 浅绿色  
  103. ; key_default_color_effect -- 默认颜色特效配置 none  
  104. ;-----------------------------------------------------  
  105.    
  106. used_color_effect=1  
  107. key_support_color_effect = none,mono,negative,sepia,aqua  
  108. key_default_color_effect = none  
  109.    
  110. ;------------------------------------------------------  
  111. ; 帧频率配置。  
  112. ; used_frame_rate -- 是否使用帧频率 。1 -- 是,0 -- 否  
  113. ; key_support_frame_rate -- 可以支持的帧频率 ;一般为20~25,根据摄像头的情况配置  
  114. ; key_support_frame_rate -- 默认帧频率   
  115. ;-----------------------------------------------------  
  116.    
  117. used_frame_rate = 1  
  118. key_support_frame_rate = 25  
  119. key_default_frame_rate = 25  
  120. ;------------------------------------------------------  
  121. ; 聚焦模式配置。  
  122. ; used_focus_mode -- 是否使用聚焦模式 。1 -- 是,0 -- 否  
  123. ; key_support_focus_mode -- 可以支持的聚焦模式;  
  124. ; auto -- 自动 ; infinity -- 远焦距模式 ;macro -- 微距 ; fixed -- 定焦 ; continuous-video -- 视频自动连续对焦; continuous-picture -- 图片自动连续对焦  
  125. ; key_default_focus_mode -- 默认聚焦模式  
  126. ; 聚焦模式需要摄像头支持  
  127. ;-----------------------------------------------------  
  128. used_focus_mode = 0  
  129. key_support_focus_mode = auto,infinity,macro,fixed,continuous-video,continuous-picture  
  130. key_default_focus_mode = auto  
  131.    
  132. ;------------------------------------------------------  
  133. ; 场景模式配置。  
  134. ; used_scene_mode -- 是否使用场景模式 。1 -- 是,0 -- 否  
  135. ; key_support_scene_mode -- 可以支持的场景模式;  
  136. ; auto -- 自动 ; portrait -- 人物模式;landscape --  风景 ;night -- 夜景;night-portrait -- 夜景人物;  
  137. ;theatre -- 室内;beach -- 户外;snow -- 雪景; sunset -- 黄昏; steadyphoto -- 防抖 ;fireworks -- 强光;  
  138. ;sports -- 运动模式; party -- 聚会; candlelight -- 灯光;barcode -- 条形码  
  139. ; key_default_scene_mode -- 默认场景模式 -- auto  
  140. ; 场景模式需要摄像头支持,翻译不一定准确,请核对相应的专业词汇。  
  141. ;-----------------------------------------------------  
  142.    
  143. used_scene_mode = 0  
  144. key_support_scene_mode = auto,portrait,landscape,night,night-portrait,theatre,beach,snow,sunset,steadyphoto,fireworks,sports,party,candlelight,barcode  
  145. key_default_scene_mode = auto  
  146.    
  147. ;------------------------------------------------------  
  148. ; 白平衡配置。  
  149. ; used_white_balance -- 是否使用白平衡 。1 -- 是,0 -- 否  
  150. ; key_support_white_balance -- 可以支持的白平衡配置。  
  151. ; auto -- 自动 ;incandescent -- 白炽灯   fluorescent  -- 荧光  
  152. ;warm-fluorescent -- 荧光   daylight -- 日光 ;cloudy-daylight -- 阴天  
  153. ; key_default_white_balance -- 默认白平衡 -- auto  
  154. ;-----------------------------------------------------  
  155. used_white_balance = 1  
  156. key_support_white_balance = auto,incandescent,fluorescent,warm-fluorescent,daylight,cloudy-daylight  
  157. key_default_white_balance = auto  
  158.    
  159. ;------------------------------------------------------  
  160. ; 曝光值配置。  
  161. ; used_scene_mode -- 是否使用曝光值 1 -- 是,0 -- 否  
  162. ; key_max_exposure_compensation --  最大曝光值  
  163. ;key_min_exposure_compensation -- 最小曝光值  
  164. ; key_step_exposure_compensation -- 步进值  
  165. ;key_default_exposure_compensation -- 默认曝光值  
  166. ;-----------------------------------------------------  
  167.    
  168. used_exposure_compensation = 1  
  169. key_max_exposure_compensation = 3  
  170. key_min_exposure_compensation = -3  
  171. key_step_exposure_compensation = 1  
  172. key_default_exposure_compensation = 0  
  173.    
  174. ;-------------------------------------------------------------------------------  

以上为个人总结,若有谬误,还请指出。

全志A23音频配置操作说明 -- 修改工具版


  1. 用DragonFace-A23.exe工具打开*.img文件后,选择:高级设置>>修改系统配置。

  2. 在打开的sysconfig1.lhs文件中,使用ctrl + F 查找 audio0 。

  3. 找到audio0所在位置的配置属性,按照需求修改如下参数:

    1. audio_used        = 1            ;AudioCodec是否使用,1—使用,0—不使用  
    2. audio_hp_ldo      = "none"   ; 独立电源控制配置,一般置为:none  
    3. headphone_vol     = 0x3b     ;耳机音量极值=< 0x3f,63级  
    4. cap_vol           = 0x1          ;录音音量:0x0--0db,0x1--24db,0x2--27db,0x3--30db,0x4--33db,0x5--36db,0x6--39db,0x7--42db         
    5. digital_vol       = 0x3          ;差分输出时用于调节波形失真导致的问题(0x2~0x6)。  
    6. pa_single_vol     = 0x3b         ;单喇叭音量极值=< 0x3f,63级;1.5db/step。  
    7. pa_double_used    = 0        ;差分与单通信号配置,0-为差分,1-为单通  
    8. pa_double_vol     = 0x3b     ;双喇叭音量极值=< 0x3f,63级;1.5db/step。  
    9. headphone_direct_used   = 1      ;耳机直驱与交驱选择:0-为交驱,1-为直驱  
    10. audio_pa_ctrl = port:PH09 ; 喇叭的gpio控制  
  4. 说明:关于单喇叭与双喇叭及差分,单通的关系。

    • 采用差分时,一般HPL和HPR时输出差分信号,需要同时接到AP的IN+和IN-,若此时采用短接的方式可能导致没有音频输出。
    • 采用单端时,左右声道是分开输出,需要采用短接的方式将左右声道信号混合输出,若此时未短接可能导致声道信号缺失。