rk312x : cif : cif driver v0.0x1.6

This commit is contained in:
zyc
2014-09-15 18:19:44 +08:00
parent 8da569e3a7
commit 179a335ede
21 changed files with 941 additions and 2327 deletions

View File

@@ -212,7 +212,7 @@
#define nt99340_I2C_ADDR 0x76
#define sp0718_I2C_ADDR 0x42
#define sp0838_I2C_ADDR INVALID_VALUE
#define sp0838_I2C_ADDR 0x30
#define sp0a19_I2C_ADDR 0x7a
#define sp1628_I2C_ADDR 0x78
#define sp2518_I2C_ADDR 0x60

View File

@@ -15,57 +15,5 @@ menu "rockchip camera sensor interface driver"
tristate "rk30_camera_oneframe"
depends on ROCKCHIP_CAMERA_SENSOR_INTERFACE
default y
config GC0307
tristate "gc0307,support"
config GC0308
tristate "gc0308,support"
config GC0309
tristate "gc0309,support"
config GC0328
tristate "gc0328,support"
config GC0329
tristate "gc0329,support"
default y
config GC2015
tristate "gc2015,support"
config GC2035
tristate "gc2035,support"
config GT2005
tristate "gt2005,support"
config HM2057
tristate "hm2057,support"
config HM5065
tristate "hm5065,support"
config MT9P111
tristate "mt9p111,support"
config NT99160_2WAY
tristate "nt99160_2way,support"
config NT99240_2WAY
tristate "nt99240_2way,support"
config OV2659
tristate "ov2659,support"
default y
config OV5640
tristate "ov5640,support"
config SP2518
tristate "sp2518,support"
endmenu

View File

@@ -1,33 +1,18 @@
obj-$(CONFIG_RK30_CAMERA_ONEFRAME) += rk30_camera_oneframe.o generic_sensor.o
obj-$(CONFIG_GC0307) += gc0307.o
obj-$(CONFIG_GC0308) += gc0308.o
obj-$(CONFIG_GC0309) += gc0309.o
obj-$(CONFIG_GC0328) += gc0328.o
obj-$(CONFIG_GC0329) += gc0329.o
obj-$(CONFIG_GC2015) += gc2015.o
obj-$(CONFIG_GC2035) += gc2035.o
obj-$(CONFIG_GT2005) += gt2005.o
obj-$(CONFIG_HM2057) += hm2057.o
obj-$(CONFIG_HM5065) += hm5065.o
obj-$(CONFIG_MT9P111) += mt9p111.o
obj-$(CONFIG_MT9T111) += mt9t111.o
obj-$(CONFIG_NT99160_2WAY) += nt99160_2way.o
obj-$(CONFIG_NT99240_2WAY) += nt99240_2way.o
obj-$(CONFIG_OV2659) += ov2659.o
obj-$(CONFIG_OV5640) += ov5640.o
obj-$(CONFIG_SP2518) += sp2518.o
obj-$(CONFIG_RK30_CAMERA_ONEFRAME) += rk30_camera_oneframe.o generic_sensor.o \
gc0307.o \
gc0308.o \
gc0309.o \
gc0328.o \
gc0329.o \
gc2015.o \
gc2035.o \
gt2005.o \
hm2057.o \
hm5065.o \
mt9p111.o \
nt99160_2way.o \
nt99240_2way.o \
ov2659.o \
ov5640.o \
sp0838.o \
sp2518.o

View File

@@ -24,7 +24,7 @@ module_param(debug, int, S_IRUGO|S_IWUSR);
#define SENSOR_ID 0x99
#define SENSOR_BUS_PARAM (V4L2_MBUS_MASTER |\
V4L2_MBUS_PCLK_SAMPLE_RISING|V4L2_MBUS_HSYNC_ACTIVE_HIGH| V4L2_MBUS_VSYNC_ACTIVE_LOW|\
V4L2_MBUS_DATA_ACTIVE_HIGH | SOCAM_DATAWIDTH_8 |SOCAM_MCLK_24MHZ)
V4L2_MBUS_DATA_ACTIVE_HIGH |SOCAM_MCLK_24MHZ)
#define SENSOR_PREVIEW_W 640
#define SENSOR_PREVIEW_H 480
#define SENSOR_PREVIEW_FPS 15000 // 15fps

View File

@@ -24,7 +24,7 @@ module_param(debug, int, S_IRUGO|S_IWUSR);
#define SENSOR_ID 0x9b
#define SENSOR_BUS_PARAM (V4L2_MBUS_MASTER |\
V4L2_MBUS_PCLK_SAMPLE_RISING|V4L2_MBUS_HSYNC_ACTIVE_HIGH| V4L2_MBUS_VSYNC_ACTIVE_LOW|\
V4L2_MBUS_DATA_ACTIVE_HIGH | SOCAM_DATAWIDTH_8 |SOCAM_MCLK_24MHZ)
V4L2_MBUS_DATA_ACTIVE_HIGH |SOCAM_MCLK_24MHZ)
#define SENSOR_PREVIEW_W 640
#define SENSOR_PREVIEW_H 480
#define SENSOR_PREVIEW_FPS 15000 // 15fps

View File

@@ -24,7 +24,7 @@ module_param(debug, int, S_IRUGO|S_IWUSR);
#define SENSOR_ID 0xa0
#define SENSOR_BUS_PARAM (V4L2_MBUS_MASTER |\
V4L2_MBUS_PCLK_SAMPLE_RISING|V4L2_MBUS_HSYNC_ACTIVE_HIGH| V4L2_MBUS_VSYNC_ACTIVE_HIGH|\
V4L2_MBUS_DATA_ACTIVE_HIGH | SOCAM_DATAWIDTH_8 |SOCAM_MCLK_24MHZ)
V4L2_MBUS_DATA_ACTIVE_HIGH |SOCAM_MCLK_24MHZ)
#define SENSOR_PREVIEW_W 640
#define SENSOR_PREVIEW_H 480
#define SENSOR_PREVIEW_FPS 15000 // 15fps

View File

@@ -22,7 +22,7 @@ module_param(debug, int, S_IRUGO|S_IWUSR);
#define SENSOR_ID 0x9d
#define SENSOR_BUS_PARAM (V4L2_MBUS_MASTER |\
V4L2_MBUS_PCLK_SAMPLE_RISING|V4L2_MBUS_HSYNC_ACTIVE_HIGH| V4L2_MBUS_VSYNC_ACTIVE_LOW|\
V4L2_MBUS_DATA_ACTIVE_HIGH | SOCAM_DATAWIDTH_8 |SOCAM_MCLK_24MHZ)
V4L2_MBUS_DATA_ACTIVE_HIGH |SOCAM_MCLK_24MHZ)
#define SENSOR_PREVIEW_W 640
#define SENSOR_PREVIEW_H 480
#define SENSOR_PREVIEW_FPS 15000 // 15fps

View File

@@ -24,7 +24,7 @@ module_param(debug, int, S_IRUGO|S_IWUSR);
#define SENSOR_ID 0xc0
#define SENSOR_BUS_PARAM (V4L2_MBUS_MASTER |\
V4L2_MBUS_PCLK_SAMPLE_RISING|V4L2_MBUS_HSYNC_ACTIVE_HIGH| V4L2_MBUS_VSYNC_ACTIVE_HIGH|\
V4L2_MBUS_DATA_ACTIVE_HIGH | SOCAM_DATAWIDTH_8 |SOCAM_MCLK_24MHZ)
V4L2_MBUS_DATA_ACTIVE_HIGH |SOCAM_MCLK_24MHZ)
#define SENSOR_PREVIEW_W 640
#define SENSOR_PREVIEW_H 480
#define SENSOR_PREVIEW_FPS 15000 // 15fps

View File

@@ -24,7 +24,7 @@ module_param(debug, int, S_IRUGO|S_IWUSR);
#define SENSOR_ID 0x2005
#define SENSOR_BUS_PARAM (V4L2_MBUS_MASTER |\
V4L2_MBUS_PCLK_SAMPLE_RISING|V4L2_MBUS_HSYNC_ACTIVE_HIGH| V4L2_MBUS_VSYNC_ACTIVE_LOW|\
V4L2_MBUS_DATA_ACTIVE_HIGH | SOCAM_DATAWIDTH_8 |SOCAM_MCLK_24MHZ)
V4L2_MBUS_DATA_ACTIVE_HIGH |SOCAM_MCLK_24MHZ)
#define SENSOR_PREVIEW_W 800
#define SENSOR_PREVIEW_H 600
#define SENSOR_PREVIEW_FPS 15000 // 15fps

View File

@@ -24,7 +24,7 @@ module_param(debug, int, S_IRUGO|S_IWUSR);
#define SENSOR_ID 0x2035
#define SENSOR_BUS_PARAM (V4L2_MBUS_MASTER |\
V4L2_MBUS_PCLK_SAMPLE_RISING|V4L2_MBUS_HSYNC_ACTIVE_HIGH| V4L2_MBUS_VSYNC_ACTIVE_HIGH|\
V4L2_MBUS_DATA_ACTIVE_HIGH | SOCAM_DATAWIDTH_8 |SOCAM_MCLK_24MHZ)
V4L2_MBUS_DATA_ACTIVE_HIGH |SOCAM_MCLK_24MHZ)
#define SENSOR_PREVIEW_W 800
#define SENSOR_PREVIEW_H 600
#define SENSOR_PREVIEW_FPS 15000 // 15fps

View File

@@ -21,7 +21,7 @@ module_param(debug, int, S_IRUGO|S_IWUSR);
#define SENSOR_ID 0x5138
#define SENSOR_BUS_PARAM (V4L2_MBUS_MASTER |\
V4L2_MBUS_PCLK_SAMPLE_RISING|V4L2_MBUS_HSYNC_ACTIVE_HIGH| V4L2_MBUS_VSYNC_ACTIVE_HIGH|\
V4L2_MBUS_DATA_ACTIVE_HIGH | SOCAM_DATAWIDTH_8 |SOCAM_MCLK_24MHZ)
V4L2_MBUS_DATA_ACTIVE_HIGH |SOCAM_MCLK_24MHZ)
#define SENSOR_PREVIEW_W 640
#define SENSOR_PREVIEW_H 480
#define SENSOR_PREVIEW_FPS 15000 // 15fps

View File

@@ -26,7 +26,7 @@ module_param(debug, int, S_IRUGO|S_IWUSR);
#define SENSOR_ID 0x2056
#define SENSOR_BUS_PARAM (V4L2_MBUS_MASTER |\
V4L2_MBUS_PCLK_SAMPLE_RISING|V4L2_MBUS_HSYNC_ACTIVE_HIGH| V4L2_MBUS_VSYNC_ACTIVE_LOW|\
V4L2_MBUS_DATA_ACTIVE_HIGH | SOCAM_DATAWIDTH_8 |SOCAM_MCLK_24MHZ)
V4L2_MBUS_DATA_ACTIVE_HIGH |SOCAM_MCLK_24MHZ)
#define SENSOR_PREVIEW_W 800
#define SENSOR_PREVIEW_H 600
#define SENSOR_PREVIEW_FPS 15000 // 15fps

View File

@@ -23,7 +23,7 @@ module_param(debug, int, S_IRUGO|S_IWUSR);
#define SENSOR_ID 0x039E
#define SENSOR_BUS_PARAM (V4L2_MBUS_MASTER |\
V4L2_MBUS_PCLK_SAMPLE_RISING|V4L2_MBUS_HSYNC_ACTIVE_HIGH| V4L2_MBUS_VSYNC_ACTIVE_LOW|\
V4L2_MBUS_DATA_ACTIVE_HIGH | SOCAM_DATAWIDTH_8 |SOCAM_MCLK_24MHZ)
V4L2_MBUS_DATA_ACTIVE_HIGH |SOCAM_MCLK_24MHZ)
#define SENSOR_PREVIEW_W 800
#define SENSOR_PREVIEW_H 600
#define SENSOR_PREVIEW_FPS 15000 // 15fps

View File

@@ -22,7 +22,7 @@ module_param(debug, int, S_IRUGO|S_IWUSR);
#define SENSOR_ID 0x00
#define SENSOR_BUS_PARAM (V4L2_MBUS_MASTER |\
V4L2_MBUS_PCLK_SAMPLE_RISING|V4L2_MBUS_HSYNC_ACTIVE_HIGH| V4L2_MBUS_VSYNC_ACTIVE_HIGH|\
V4L2_MBUS_DATA_ACTIVE_HIGH | SOCAM_DATAWIDTH_8 |SOCAM_MCLK_24MHZ)
V4L2_MBUS_DATA_ACTIVE_HIGH |SOCAM_MCLK_24MHZ)
#define SENSOR_PREVIEW_W 576
#define SENSOR_PREVIEW_H 432
#define SENSOR_PREVIEW_FPS 15000 // 15fps

View File

@@ -24,7 +24,7 @@ module_param(debug, int, S_IRUGO|S_IWUSR);
#define SENSOR_ID 0x1600
#define SENSOR_BUS_PARAM (V4L2_MBUS_MASTER |\
V4L2_MBUS_PCLK_SAMPLE_RISING|V4L2_MBUS_HSYNC_ACTIVE_HIGH| V4L2_MBUS_VSYNC_ACTIVE_HIGH|\
V4L2_MBUS_DATA_ACTIVE_HIGH | SOCAM_DATAWIDTH_8 |SOCAM_MCLK_24MHZ)
V4L2_MBUS_DATA_ACTIVE_HIGH |SOCAM_MCLK_24MHZ)
#define SENSOR_PREVIEW_W 800
#define SENSOR_PREVIEW_H 600

View File

@@ -22,7 +22,7 @@ module_param(debug, int, S_IRUGO|S_IWUSR);
#define SENSOR_ID 0x2400
#define SENSOR_BUS_PARAM (V4L2_MBUS_MASTER |\
V4L2_MBUS_PCLK_SAMPLE_RISING|V4L2_MBUS_HSYNC_ACTIVE_HIGH| V4L2_MBUS_VSYNC_ACTIVE_HIGH|\
V4L2_MBUS_DATA_ACTIVE_HIGH | SOCAM_DATAWIDTH_8 |SOCAM_MCLK_24MHZ)
V4L2_MBUS_DATA_ACTIVE_HIGH |SOCAM_MCLK_24MHZ)
#define SENSOR_PREVIEW_W 800
#define SENSOR_PREVIEW_H 600
#define SENSOR_PREVIEW_FPS 15000 // 15fps

View File

@@ -23,7 +23,7 @@ module_param(debug, int, S_IRUGO|S_IWUSR);
#define SENSOR_ID 0x2656
#define SENSOR_BUS_PARAM (V4L2_MBUS_MASTER |\
V4L2_MBUS_PCLK_SAMPLE_RISING|V4L2_MBUS_HSYNC_ACTIVE_HIGH| V4L2_MBUS_VSYNC_ACTIVE_LOW|\
V4L2_MBUS_DATA_ACTIVE_HIGH | SOCAM_DATAWIDTH_8 |SOCAM_MCLK_24MHZ)
V4L2_MBUS_DATA_ACTIVE_HIGH |SOCAM_MCLK_24MHZ)
#define SENSOR_PREVIEW_W 800
#define SENSOR_PREVIEW_H 600
#define SENSOR_PREVIEW_FPS 15000 // 15fps

View File

@@ -25,7 +25,7 @@ module_param(debug, int, S_IRUGO|S_IWUSR);
#define SENSOR_ID 0x5640
#define SENSOR_BUS_PARAM (V4L2_MBUS_MASTER |\
V4L2_MBUS_PCLK_SAMPLE_RISING|V4L2_MBUS_HSYNC_ACTIVE_HIGH| V4L2_MBUS_VSYNC_ACTIVE_LOW|\
V4L2_MBUS_DATA_ACTIVE_HIGH | SOCAM_DATAWIDTH_8 |SOCAM_MCLK_24MHZ)
V4L2_MBUS_DATA_ACTIVE_HIGH |SOCAM_MCLK_24MHZ)
#define SENSOR_PREVIEW_W 800
#define SENSOR_PREVIEW_H 600
#define SENSOR_PREVIEW_FPS 15000 // 15fps

View File

@@ -266,8 +266,10 @@ static u32 DISABLE_INVERT_PCLK_CIF1;
1. When cif was at work, the aclk is closed ,may cause bus abnormal ,so sleep 100ms before close aclk
*v0.1.5:
1. Improve the code to support all configuration.reset,af,flash...
*v0.1.6:
1. Delete SOCAM_DATAWIDTH_8 in SENSOR_BUS_PARAM parameters,it conflict with V4L2_MBUS_PCLK_SAMPLE_FALLING.
*/
#define RK_CAM_VERSION_CODE KERNEL_VERSION(0, 1, 0x5)
#define RK_CAM_VERSION_CODE KERNEL_VERSION(0, 1, 0x6)
static int version = RK_CAM_VERSION_CODE;
module_param(version, int, S_IRUGO);

File diff suppressed because it is too large Load Diff

View File

@@ -24,7 +24,7 @@ module_param(debug, int, S_IRUGO|S_IWUSR);
#define SENSOR_ID 0x53
#define SENSOR_BUS_PARAM (V4L2_MBUS_MASTER |\
V4L2_MBUS_PCLK_SAMPLE_RISING|V4L2_MBUS_HSYNC_ACTIVE_HIGH| V4L2_MBUS_VSYNC_ACTIVE_HIGH|\
V4L2_MBUS_DATA_ACTIVE_HIGH | SOCAM_DATAWIDTH_8 |SOCAM_MCLK_24MHZ)
V4L2_MBUS_DATA_ACTIVE_HIGH |SOCAM_MCLK_24MHZ)
#define SENSOR_PREVIEW_W 800
#define SENSOR_PREVIEW_H 600
#define SENSOR_PREVIEW_FPS 15000 // 15fps