camera:add ov2659 720p
authorddl <ddl@rockchip.com>
Sat, 1 Jan 2011 13:35:58 +0000 (21:35 +0800)
committerddl <ddl@rockchip.com>
Sat, 1 Jan 2011 13:35:58 +0000 (21:35 +0800)
drivers/media/video/ov2659.c [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 73afccc..2833d76
@@ -156,7 +156,7 @@ static struct reginfo sensor_init_data[] =
        {0x370a, 0x52},
        {0x4608, 0x00},
        {0x4609, 0x80},
-       {0x4300, 0x30},
+       {0x4300, 0x32},
        {0x5086, 0x02},
        {0x5000, 0xfb},
        {0x5001, 0x1f},
@@ -267,6 +267,173 @@ static struct reginfo sensor_init_data[] =
        {0x0000, 0x00}
 };
 
+/* 1280x720 */
+static struct reginfo sensor_720p[]=
+{
+       {0x0103, 0x01   },
+       {0x3000, 0x0f   },
+       {0x3001, 0xff   },
+       {0x3002, 0xff   },
+       {0x0100, 0x01   },
+       {0x3633, 0x3d   },
+       {0x3620, 0x02   },
+       {0x3631, 0x11   },
+       {0x3612, 0x04   },
+       {0x3630, 0x20   },
+       {0x4702, 0x02   },
+       {0x370c, 0x34   },
+       {0x3004, 0x10   },
+       {0x3005, 0x24   },
+       {0x3800, 0x00   },
+       {0x3801, 0xa0   },
+       {0x3802, 0x00   },
+       {0x3803, 0xf0   },
+       {0x3804, 0x05   },
+       {0x3805, 0xbf   },
+       {0x3806, 0x03   },
+       {0x3807, 0xcb   },
+       {0x3808, 0x05   },
+       {0x3809, 0x00   },
+       {0x380a, 0x02   },
+       {0x380b, 0xd0   },
+       {0x380c, 0x06   },
+       {0x380d, 0x4c   },
+       {0x380e, 0x02   },
+       {0x380f, 0xe8   },
+       {0x3811, 0x10   },
+       {0x3813, 0x06   },
+       {0x3814, 0x11   },
+       {0x3815, 0x11   },
+       {0x3a02, 0x02   },
+       {0x3a03, 0xe8   },
+       {0x3a08, 0x00   },
+       {0x3a09, 0x6f   },
+       {0x3a0a, 0x00   },
+       {0x3a0b, 0x5d   },
+       {0x3a0d, 0x08   },
+       {0x3a0e, 0x06   },
+       {0x3a14, 0x02   },
+       {0x3a15, 0x9a   },
+       {0x3623, 0x02   },
+       {0x3634, 0x44   },
+       {0x3701, 0x41   },
+       {0x3702, 0x30   },
+       {0x3703, 0x48   },
+       {0x3704, 0x48   },
+       {0x3705, 0x18   },
+       {0x3820, 0x80   },
+       {0x3821, 0x00   },
+       {0x370a, 0x12   },
+       {0x4608, 0x00   },
+       {0x4609, 0x80   },
+       {0x4300, 0x32   },
+       {0x5086, 0x02   },
+       {0x5000, 0xfb   },
+       {0x5001, 0x1f   },
+       {0x5002, 0x00   },
+       {0x5025, 0x0e   },
+       {0x5026, 0x18   },
+       {0x5027, 0x34   },
+       {0x5028, 0x4c   },
+       {0x5029, 0x62   },
+       {0x502a, 0x74   },
+       {0x502b, 0x85   },
+       {0x502c, 0x92   },
+       {0x502d, 0x9e   },
+       {0x502e, 0xb2   },
+       {0x502f, 0xc0   },
+       {0x5030, 0xcc   },
+       {0x5031, 0xe0   },
+       {0x5032, 0xee   },
+       {0x5033, 0xf6   },
+       {0x5034, 0x11   },
+       {0x5070, 0x1c   },
+       {0x5071, 0x5b   },
+       {0x5072, 0x05   },
+       {0x5073, 0x20   },
+       {0x5074, 0x94   },
+       {0x5075, 0xb4   },
+       {0x5076, 0xb4   },
+       {0x5077, 0xaf   },
+       {0x5078, 0x05   },
+       {0x5079, 0x98   },
+       {0x507a, 0x21   },
+       {0x5035, 0x6a   },
+       {0x5036, 0x11   },
+       {0x5037, 0x92   },
+       {0x5038, 0x21   },
+       {0x5039, 0xe1   },
+       {0x503a, 0x01   },
+       {0x503c, 0x05   },
+       {0x503d, 0x08   },
+       {0x503e, 0x08   },
+       {0x503f, 0x64   },
+       {0x5040, 0x58   },
+       {0x5041, 0x2a   },
+       {0x5042, 0xc5   },
+       {0x5043, 0x2e   },
+       {0x5044, 0x3a   },
+       {0x5045, 0x3c   },
+       {0x5046, 0x44   },
+       {0x5047, 0xf8   },
+       {0x5048, 0x08   },
+       {0x5049, 0x70   },
+       {0x504a, 0xf0   },
+       {0x504b, 0xf0   },
+       {0x500c, 0x03   },
+       {0x500d, 0x20   },
+       {0x500e, 0x02   },
+       {0x500f, 0x5c   },
+       {0x5010, 0x48   },
+       {0x5011, 0x00   },
+       {0x5012, 0x66   },
+       {0x5013, 0x03   },
+       {0x5014, 0x30   },
+       {0x5015, 0x02   },
+       {0x5016, 0x7c   },
+       {0x5017, 0x40   },
+       {0x5018, 0x00   },
+       {0x5019, 0x66   },
+       {0x501a, 0x03   },
+       {0x501b, 0x10   },
+       {0x501c, 0x02   },
+       {0x501d, 0x7c   },
+       {0x501e, 0x3a   },
+       {0x501f, 0x00   },
+       {0x5020, 0x66   },
+       {0x506e, 0x44   },
+       {0x5064, 0x08   },
+       {0x5065, 0x10   },
+       {0x5066, 0x12   },
+       {0x5067, 0x02   },
+       {0x506c, 0x08   },
+       {0x506d, 0x10   },
+       {0x506f, 0xa6   },
+       {0x5068, 0x08   },
+       {0x5069, 0x10   },
+       {0x506a, 0x04   },
+       {0x506b, 0x12   },
+       {0x507e, 0x40   },
+       {0x507f, 0x20   },
+       {0x507b, 0x02   },
+       {0x507a, 0x01   },
+       {0x5084, 0x0c   },
+       {0x5085, 0x3e   },
+       {0x5005, 0x80   },
+       {0x3a0f, 0x30   },
+       {0x3a10, 0x28   },
+       {0x3a1b, 0x32   },
+       {0x3a1e, 0x26   },
+       {0x3a11, 0x60   },
+       {0x3a1f, 0x14   },
+       {0x5060, 0x69   },
+       {0x5061, 0x7d   },
+       {0x5062, 0x7d   },
+       {0x5063, 0x69   },
+       {0x0000 ,0x00}
+
+};
+
 /* 1600X1200 UXGA */
 static struct reginfo sensor_uxga[] =
 {
@@ -1472,6 +1639,12 @@ static int sensor_s_fmt(struct v4l2_subdev *sd, struct v4l2_format *f)
         set_w = 800;
         set_h = 600;
     }
+    else if (((set_w <= 1280) && (set_h <= 720)) && sensor_720p[0].reg)
+    {
+        winseqe_set_addr = sensor_720p;
+        set_w = 1280;
+        set_h = 720;
+    }
     else if (((set_w <= 1280) && (set_h <= 1024)) && sensor_sxga[0].reg)
     {
         winseqe_set_addr = sensor_sxga;