/*
-o* Driver for MT9M001 CMOS Image Sensor from Micron
+ * Driver for MT9M001 CMOS Image Sensor from Micron
*
* Copyright (C) 2008, Guennadi Liakhovetski <kernel@pengutronix.de>
*
{0x332e, 0x04},
{0x332f, 0x06},
{0x3331, 0x03},
+#ifdef CONFIG_RK29_NEWTON
+ {0x307c, 0x10}, // flip && mirror ,for newton
+ {0x3090, 0xc0},
+#else
+
//{0x307c, 0x13}, // flip && mirror
{0x307c, 0x11}, // flip && mirror ,by FAE.
- {0x3090, 0xc8},
+ {0x3090, 0xc8},
+#endif
+
#else
//640 480 ;XGA->XGA;;
{0x3012, 0x10},
{0x3010, 0x20},
{0x3011, 0x01},
{0x304c, 0x81},
- //{0x307c, 0x13}, // flip && mirror
- {0x307c, 0x11}, // flip && mirror, by FAE.
- {0x3090, 0xc8},
#else
//[Sensor.YUV.2048x1536] XGA->QXGA
{0x3027, 0x0c},
{0x302a, 0x06},
{0x302b, 0x20},
- {0x3075, 0x44},
- //{0x307C, 0x13}, // by FAE.
+ {0x3075, 0x44},
{0x300d, 0x00},
{0x30d7, 0x10},
{0x3069, 0x44},
{0x3011, 0x01},
{0x304c, 0x81},
- //{0x307c, 0x13},// flip && mirror
- {0x307c, 0x11},// flip && mirror , by FAE.
- {0x3090, 0xc8},
{0x0000 ,0x00}
};
{0x308a, 0x04},
{0x308b, 0xb0},
{0x304c, 0x81},//56Mhz PCLK output
- //{0x307c, 0x13}, // flip && mirror
- {0x307c, 0x11}, // flip && mirror, by FAE.
- {0x3090, 0xc8},
{0x0000 ,0x00},
};
{0x308a, 0x04},
{0x308b, 0xb0},
{0x304c, 0x81},//56Mhz PCLK output
- //{0x307c, 0x13}, // flip && mirror, by FAE.
- {0x307c, 0x11},
- {0x3090, 0xc8},
{0x0000 ,0x00},
};
{0x308a, 0x03},
{0x308b, 0xc0},
{0x304c, 0x81},//56Mhz PCLK output
- //{0x307c, 0x13}, // flip && mirror
- {0x307c, 0x11}, // by FAE.
- {0x3090, 0xc8},
{0x0000 ,0x00},
};
{0x308a, 0x03},
{0x308b, 0xc0},
{0x304c, 0x81},//56Mhz PCLK output
- //{0x307c, 0x13}, // flip && mirror
- {0x307c, 0x11}, // by FAE.
- {0x3090, 0xc8},
+
{0x0000 ,0x00},
};
static struct reginfo *sensor_sxga[2] = {
{0x308a, 0x03},
{0x308b, 0x00},
{0x304c, 0x82},//28Mhz PCLK output
- //{0x307c, 0x13}, // flip && mirror
- {0x307c, 0x11},// by FAE.
- {0x3090, 0xc8},
+
{0x0000 ,0x00},
};
{0x308a, 0x03},
{0x308b, 0x00},
{0x304c, 0x82},//28Mhz PCLK output
- //{0x307c, 0x13}, // flip && mirror
- {0x307c, 0x11}, // by FAE.
- {0x3090, 0xc8},
{0x0000 ,0x00},
};
{0x308b, 0x58},
{0x304c, 0x83},//28Mhz PCLK output
- //{0x307c, 0x13}, // flip && mirror
- {0x307c, 0x11}, // flip && mirror, by FAE.
- {0x3090, 0xc8},
{0x0000 ,0x00},
};
static struct reginfo sensor_svga_capture[] =
{0x308b, 0x58},
{0x304c, 0x82},//28Mhz PCLK output
- //{0x307c, 0x13}, // flip && mirror
- {0x307c, 0x11}, // flip && mirror, by FAE.
- {0x3090, 0xc8},
{0x0000 ,0x00},
};
static struct reginfo * sensor_svga[2] = {
{0x308a, 0x01},
{0x308b, 0xe4},// 0xe0, by FAE.
{0x304c, 0x84}, //0x83, by FAE.
- //{0x307c, 0x13}, // flip && mirror
- {0x307c, 0x11}, // flip && mirror, by FAE.
- {0x3090, 0xc8},
+
// by FAE.
//AWB short
// {0x33a7, 0x60},
{0x308a, 0x01},
{0x308b, 0xe0},
{0x304c, 0x82},//14Mhz PCLK output 84
- //{0x307c, 0x13}, // flip && mirror
- {0x307c, 0x11},// by FAE.
- {0x3090, 0xc8},
{0x0000 ,0x00},
};
{0x308b, 0x24},
{0x304c, 0x85}, //89
#endif
- //{0x307c, 0x13}, // flip && mirror
- {0x307c, 0x11}, // flip && mirror, by FAE.
- {0x3090, 0xc8},
{0x0000 ,0x00},
};
{0x308a, 0x01},
{0x308b, 0x20},
{0x304c, 0x84},//14Mhz PCLK output
- //{0x307c, 0x13}, // flip && mirror
- {0x307c, 0x11},//by FAE.
- {0x3090, 0xc8},
{0x0000 ,0x00},
};
{0x308a, 0x00},
{0x308b, 0xf0},
{0x304c, 0x89},//14Mhz PCLK output
- //{0x307c, 0x13}, // flip && mirror
- {0x307c, 0x11}, // by FAE.
- {0x3090, 0xc8},
{0x0000 ,0x00},
};
{0x308b, 0xf0},
{0x304c, 0x84},//14Mhz PCLK output
- //{0x307c, 0x13}, // flip && mirror
- {0x307c, 0x11},// by FAE.
- {0x3090, 0xc8},
{0x0000 ,0x00},
};
static struct reginfo *sensor_qvga[2] = {
{0x308a, 0x00},
{0x308b, 0x90},
{0x304c, 0x82},//14Mhz PCLK output 89
- //{0x307c, 0x13}, // flip && mirror
- {0x307c, 0x11},// by FAE.
- {0x3090, 0xc8},
+
{0x0000 ,0x00},
};
static struct reginfo sensor_qcif_capture[] =
{0x308b, 0x90},
{0x304c, 0x84},//14Mhz PCLK output
- //{0x307c, 0x13}, // flip && mirror
- {0x307c, 0x11}, // by FAE.
- {0x3090, 0xc8},
{0x0000 ,0x00},
};
static struct reginfo *sensor_qcif[2] = {