ap0100at_ds移植步骤

这篇博客详细记录了将ap0100at_ds传感器驱动移植到Linux内核3.4版以及Android设备的过程。涉及到修改相机列表文件camera_list.c,更新驱动文件ap0100at_ds.c的描述,以及在Android设备的init.sun7i.rc中替换加载的相机模块。通过对lichee目录和android目录的git状态和差异分析,展示了移植的步骤和变更内容。
摘要由CSDN通过智能技术生成
一,lichee目录

#git status -s


 M linux-3.4/drivers/media/video/sunxi_csi/camera_detector/camera_list.c
 M linux-3.4/drivers/media/video/sunxi_csi/device/ap0100at_ds.c
 M tools/pack/chips/sun7i/configs/android/wing-mc_v80c/sys_config.fex
 
#git diff


diff --git a/linux-3.4/drivers/media/video/sunxi_csi/camera_detector/camera_list.c b/linux-3.4/drivers/media/video/sunxi_csi/camera_detector/camera_list.c
index 2339c8e..800b785 100755
--- a/linux-3.4/drivers/media/video/sunxi_csi/camera_detector/camera_list.c
+++ b/linux-3.4/drivers/media/video/sunxi_csi/camera_detector/camera_list.c
@@ -2337,7 +2337,7 @@ __camera_list_t camera_list[MAX_CAMERA_LIST_ITEM] = {
     CAMERA_LIST_ITEM_INIT(ov5640,        2, 1, 0x78, 1, 0, 0, 1, 1, 0),
     CAMERA_LIST_ITEM_INIT(gc2015,        1, 1, 0x60, 1, 0, 0, 1, 1, 0),
     CAMERA_LIST_ITEM_INIT(ov2643,        1, 1, 0x60, 1, 0, 0, 1, 1, 0),
-    CAMERA_LIST_ITEM_INIT(ap0100at_ds,        1, 1, 0x60, 1, 0, 0, 1, 1, 0),
+    CAMERA_LIST_ITEM_INIT(ap0100at_ds,   1, 1, 0x60, 1, 0, 0, 1, 1, 0),
     CAMERA_LIST_ITEM_INIT(gc0329,        1, 1, 0x62, 1, 0, 0, 1, 1, 0),
     CAMERA_LIST_ITEM_INIT(gc0309,        1, 1, 0x42, 1, 0, 0, 1, 1, 0),
     CAMERA_LIST_ITEM_INIT(tvp5150,       1, 1, 0xb8, 1, 0, 0, 1, 1, 0),
diff --git a/linux-3.4/drivers/media/video/sunxi_csi/device/ap0100at_ds.c b/linux-3.4/drivers/media/video/sunxi_csi/device/ap0100at_ds.c
index b0ba30a..90efd82 100755
--- a/linux-3.4/drivers/media/video/sunxi_csi/device/ap0100at_ds.c
+++ b/linux-3.4/drivers/media/video/sunxi_csi/device/ap0100at_ds.c
@@ -21,7 +21,7 @@
 #include "../include/sunxi_dev_csi.h"
 
 MODULE_AUTHOR("raymonxiu");
-MODULE_DESCRIPTION("A low-level driver for GalaxyCore OV2643 sensors");
+MODULE_DESCRIPTION("A low-level driver for cmos sensors");
 MODULE_LICENSE("GPL");
 
 //for internel driver debug
@@ -2308,7 +2308,8 @@ static int sensor_remove(struct i2c_client *client)
 }
 
 static const struct i2c_device_id sensor_id[] = {
- { "ov2643", 0 },
+    //{ "ov2643", 0 },
+ { "ap0100at_ds", 0 },
  { }
 };
 MODULE_DEVICE_TABLE(i2c, sensor_id);
@@ -2317,7 +2318,8 @@ MODULE_DEVICE_TABLE(i2c, sensor_id);
 static struct i2c_driver sensor_driver = {
  .driver = {
  .owner = THIS_MODULE,
- .name = "ov2643",
+ //.name = "ov2643",
+ .name = "ap0100at_ds",
  },
  .probe = sensor_probe,
  .remove = sensor_remove,
diff --git a/tools/pack/chips/sun7i/configs/android/wing-mc_v80c/sys_config.fex b/tools/pack/chips/sun7i/configs/android/wing-mc_v80c/sys_config.fex
index 6aef803..3a7dabd 100755
--- a/tools/pack/chips/sun7i/configs/android/wing-mc_v80c/sys_config.fex
+++ b/tools/pack/chips/sun7i/configs/android/wing-mc_v80c/sys_config.fex
@@ -685,7 +685,8 @@ mt9d112                 = 0
 ;ov5640                  = 1
 ov5640                  = 0
 gc2015                  = 0
-ov2643                  = 1
+ov2643                  = 0
+ap0100at_ds             = 1
 gc0329                  = 0
 gc0309                  = 0
 tvp5150                 = 0
@@ -716,7 +717,8 @@ csi_used                 =1
 csi_dev_qty         = 1
 csi_stby_mode       = 0
 
-csi_mname           = "ov2643"
+;csi_mname           = "ov2643"
+csi_mname           = "ap0100at_ds"
 csi_twi_id          = 1
 csi_twi_addr        = 0x60
 csi_if              = 0

二,android目录

#git status -s


 M device/softwinner/wing-mc_v80c/init.sun7i.rc


#git diff


diff --git a/device/softwinner/wing-mc_v80c/init.sun7i.rc b/device/softwinner/wing-mc_v80c/init.sun7i.rc
index 42ea2e2..241cb5e 100755
--- a/device/softwinner/wing-mc_v80c/init.sun7i.rc
+++ b/device/softwinner/wing-mc_v80c/init.sun7i.rc
@@ -84,7 +84,8 @@ on boot
     # insmod_modules camera
     insmod /system/vendor/modules/s5k4ec.ko
     #insmod /system/vendor/modules/ov5640.ko
-    insmod /system/vendor/modules/ov2643.ko
+    #insmod /system/vendor/modules/ov2643.ko
+    insmod /system/vendor/modules/ap0100at_ds.ko
     insmod /system/vendor/modules/sunxi_csi0.ko
 



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值