aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorJean-François Moine <moinejf@free.fr>2010-04-02 06:12:42 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-05-19 11:57:35 -0400
commit5624c64803dd7c6da7add5a1880d66dbf2df8dc5 (patch)
tree4c7862324f98c557e066b24c77fabd6f0fb4cba8 /drivers/media
parentc26b12d0646e0f571389a0a990882af3732b26a8 (diff)
V4L/DVB: gspca - vc032x: Change the ov7670 format to YUYV
Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/gspca/vc032x.c737
1 files changed, 482 insertions, 255 deletions
diff --git a/drivers/media/video/gspca/vc032x.c b/drivers/media/video/gspca/vc032x.c
index 7fde1452e4d9..732c3dfe46ff 100644
--- a/drivers/media/video/gspca/vc032x.c
+++ b/drivers/media/video/gspca/vc032x.c
@@ -1971,268 +1971,489 @@ static const u8 ov7660_NoFliker[][4] = {
1971 {} 1971 {}
1972}; 1972};
1973 1973
1974static const u8 ov7670_initVGA_JPG[][4] = { 1974static const u8 ov7670_InitVGA[][4] = {
1975 {0xb3, 0x01, 0x05, 0xcc}, 1975 {0xb3, 0x01, 0x05, 0xcc},
1976 {0x00, 0x00, 0x30, 0xdd}, {0xb0, 0x03, 0x19, 0xcc}, 1976 {0x00, 0x00, 0x30, 0xdd},
1977 {0xb0, 0x03, 0x19, 0xcc},
1978 {0x00, 0x00, 0x10, 0xdd},
1979 {0xb0, 0x04, 0x02, 0xcc},
1977 {0x00, 0x00, 0x10, 0xdd}, 1980 {0x00, 0x00, 0x10, 0xdd},
1978 {0xb0, 0x04, 0x02, 0xcc}, {0x00, 0x00, 0x10, 0xdd}, 1981 {0xb3, 0x00, 0x66, 0xcc},
1979 {0xb3, 0x00, 0x66, 0xcc}, {0xb3, 0x00, 0x67, 0xcc}, 1982 {0xb3, 0x00, 0x67, 0xcc},
1983 {0xb0, 0x16, 0x01, 0xcc},
1980 {0xb3, 0x35, 0xa1, 0xcc}, /* i2c add: 21 */ 1984 {0xb3, 0x35, 0xa1, 0xcc}, /* i2c add: 21 */
1981 {0xb3, 0x34, 0x01, 0xcc}, 1985 {0xb3, 0x34, 0x01, 0xcc},
1982 {0xb3, 0x05, 0x01, 0xcc}, {0xb3, 0x06, 0x01, 0xcc}, 1986 {0xb3, 0x05, 0x01, 0xcc},
1983 {0xb3, 0x08, 0x01, 0xcc}, {0xb3, 0x09, 0x0c, 0xcc}, 1987 {0xb3, 0x06, 0x01, 0xcc},
1984 {0xb3, 0x02, 0x02, 0xcc}, {0xb3, 0x03, 0x1f, 0xcc}, 1988 {0xb3, 0x08, 0x01, 0xcc},
1985 {0xb3, 0x14, 0x00, 0xcc}, {0xb3, 0x15, 0x00, 0xcc}, 1989 {0xb3, 0x09, 0x0c, 0xcc},
1986 {0xb3, 0x16, 0x02, 0xcc}, {0xb3, 0x17, 0x7f, 0xcc}, 1990 {0xb3, 0x02, 0x02, 0xcc},
1987 {0xb3, 0x04, 0x05, 0xcc}, {0xb3, 0x20, 0x00, 0xcc}, 1991 {0xb3, 0x03, 0x1f, 0xcc},
1988 {0xb3, 0x21, 0x00, 0xcc}, {0xb3, 0x22, 0x01, 0xcc}, 1992 {0xb3, 0x14, 0x00, 0xcc},
1989 {0xb3, 0x23, 0xe0, 0xcc}, {0xbc, 0x00, 0x41, 0xcc}, 1993 {0xb3, 0x15, 0x00, 0xcc},
1990 {0xbc, 0x01, 0x01, 0xcc}, {0x00, 0x12, 0x80, 0xaa}, 1994 {0xb3, 0x16, 0x02, 0xcc},
1991 {0x00, 0x00, 0x20, 0xdd}, {0x00, 0x12, 0x00, 0xaa}, 1995 {0xb3, 0x17, 0x7f, 0xcc},
1992 {0x00, 0x11, 0x40, 0xaa}, {0x00, 0x6b, 0x0a, 0xaa}, 1996 {0xb3, 0x04, 0x05, 0xcc},
1993 {0x00, 0x3a, 0x04, 0xaa}, {0x00, 0x40, 0xc0, 0xaa}, 1997 {0xb3, 0x20, 0x00, 0xcc},
1994 {0x00, 0x8c, 0x00, 0xaa}, {0x00, 0x7a, 0x29, 0xaa}, 1998 {0xb3, 0x21, 0x00, 0xcc},
1995 {0x00, 0x7b, 0x0e, 0xaa}, {0x00, 0x7c, 0x1a, 0xaa}, 1999 {0xb3, 0x22, 0x01, 0xcc},
1996 {0x00, 0x7d, 0x31, 0xaa}, {0x00, 0x7e, 0x53, 0xaa}, 2000 {0xb3, 0x23, 0xe0, 0xcc},
1997 {0x00, 0x7f, 0x60, 0xaa}, {0x00, 0x80, 0x6b, 0xaa}, 2001 {0xbc, 0x00, 0x41, 0xcc},
1998 {0x00, 0x81, 0x73, 0xaa}, {0x00, 0x82, 0x7b, 0xaa}, 2002 {0xbc, 0x01, 0x01, 0xcc},
1999 {0x00, 0x83, 0x82, 0xaa}, {0x00, 0x84, 0x89, 0xaa}, 2003 {0x00, 0x12, 0x80, 0xaa},
2000 {0x00, 0x85, 0x96, 0xaa}, {0x00, 0x86, 0xa1, 0xaa}, 2004 {0x00, 0x00, 0x20, 0xdd},
2001 {0x00, 0x87, 0xb7, 0xaa}, {0x00, 0x88, 0xcc, 0xaa}, 2005 {0x00, 0x12, 0x00, 0xaa},
2002 {0x00, 0x89, 0xe1, 0xaa}, {0x00, 0x13, 0xe0, 0xaa}, 2006 {0x00, 0x11, 0x40, 0xaa},
2003 {0x00, 0x00, 0x00, 0xaa}, {0x00, 0x10, 0x00, 0xaa}, 2007 {0x00, 0x6b, 0x0a, 0xaa},
2004 {0x00, 0x0d, 0x40, 0xaa}, {0x00, 0x14, 0x28, 0xaa}, 2008 {0x00, 0x3a, 0x04, 0xaa},
2005 {0x00, 0xa5, 0x05, 0xaa}, {0x00, 0xab, 0x07, 0xaa}, 2009 {0x00, 0x40, 0xc0, 0xaa},
2006 {0x00, 0x24, 0x95, 0xaa}, {0x00, 0x25, 0x33, 0xaa}, 2010 {0x00, 0x8c, 0x00, 0xaa},
2007 {0x00, 0x26, 0xe3, 0xaa}, {0x00, 0x9f, 0x88, 0xaa}, 2011 {0x00, 0x7a, 0x29, 0xaa},
2008 {0x00, 0xa0, 0x78, 0xaa}, {0x00, 0x55, 0x90, 0xaa}, 2012 {0x00, 0x7b, 0x0e, 0xaa},
2009 {0x00, 0xa1, 0x03, 0xaa}, {0x00, 0xa6, 0xe0, 0xaa}, 2013 {0x00, 0x7c, 0x1a, 0xaa},
2010 {0x00, 0xa7, 0xd8, 0xaa}, {0x00, 0xa8, 0xf0, 0xaa}, 2014 {0x00, 0x7d, 0x31, 0xaa},
2011 {0x00, 0xa9, 0x90, 0xaa}, {0x00, 0xaa, 0x14, 0xaa}, 2015 {0x00, 0x7e, 0x53, 0xaa},
2012 {0x00, 0x13, 0xe5, 0xaa}, {0x00, 0x0e, 0x61, 0xaa}, 2016 {0x00, 0x7f, 0x60, 0xaa},
2013 {0x00, 0x0f, 0x4b, 0xaa}, {0x00, 0x16, 0x02, 0xaa}, 2017 {0x00, 0x80, 0x6b, 0xaa},
2018 {0x00, 0x81, 0x73, 0xaa},
2019 {0x00, 0x82, 0x7b, 0xaa},
2020 {0x00, 0x83, 0x82, 0xaa},
2021 {0x00, 0x84, 0x89, 0xaa},
2022 {0x00, 0x85, 0x96, 0xaa},
2023 {0x00, 0x86, 0xa1, 0xaa},
2024 {0x00, 0x87, 0xb7, 0xaa},
2025 {0x00, 0x88, 0xcc, 0xaa},
2026 {0x00, 0x89, 0xe1, 0xaa},
2027 {0x00, 0x13, 0xe0, 0xaa},
2028 {0x00, 0x00, 0x00, 0xaa},
2029 {0x00, 0x10, 0x00, 0xaa},
2030 {0x00, 0x0d, 0x40, 0xaa},
2031 {0x00, 0x14, 0x28, 0xaa},
2032 {0x00, 0xa5, 0x05, 0xaa},
2033 {0x00, 0xab, 0x07, 0xaa},
2034 {0x00, 0x24, 0x95, 0xaa},
2035 {0x00, 0x25, 0x33, 0xaa},
2036 {0x00, 0x26, 0xe3, 0xaa},
2037 {0x00, 0x9f, 0x88, 0xaa},
2038 {0x00, 0xa0, 0x78, 0xaa},
2039 {0x00, 0x55, 0x90, 0xaa},
2040 {0x00, 0xa1, 0x03, 0xaa},
2041 {0x00, 0xa6, 0xe0, 0xaa},
2042 {0x00, 0xa7, 0xd8, 0xaa},
2043 {0x00, 0xa8, 0xf0, 0xaa},
2044 {0x00, 0xa9, 0x90, 0xaa},
2045 {0x00, 0xaa, 0x14, 0xaa},
2046 {0x00, 0x13, 0xe5, 0xaa},
2047 {0x00, 0x0e, 0x61, 0xaa},
2048 {0x00, 0x0f, 0x4b, 0xaa},
2049 {0x00, 0x16, 0x02, 0xaa},
2014 {0x00, 0x1e, 0x07, 0xaa}, /* MVFP */ 2050 {0x00, 0x1e, 0x07, 0xaa}, /* MVFP */
2015 {0x00, 0x21, 0x02, 0xaa}, 2051 {0x00, 0x21, 0x02, 0xaa},
2016 {0x00, 0x22, 0x91, 0xaa}, {0x00, 0x29, 0x07, 0xaa}, 2052 {0x00, 0x22, 0x91, 0xaa},
2017 {0x00, 0x33, 0x0b, 0xaa}, {0x00, 0x35, 0x0b, 0xaa}, 2053 {0x00, 0x29, 0x07, 0xaa},
2018 {0x00, 0x37, 0x1d, 0xaa}, {0x00, 0x38, 0x71, 0xaa}, 2054 {0x00, 0x33, 0x0b, 0xaa},
2019 {0x00, 0x39, 0x2a, 0xaa}, {0x00, 0x3c, 0x78, 0xaa}, 2055 {0x00, 0x35, 0x0b, 0xaa},
2020 {0x00, 0x4d, 0x40, 0xaa}, {0x00, 0x4e, 0x20, 0xaa}, 2056 {0x00, 0x37, 0x1d, 0xaa},
2021 {0x00, 0x74, 0x19, 0xaa}, {0x00, 0x8d, 0x4f, 0xaa}, 2057 {0x00, 0x38, 0x71, 0xaa},
2022 {0x00, 0x8e, 0x00, 0xaa}, {0x00, 0x8f, 0x00, 0xaa}, 2058 {0x00, 0x39, 0x2a, 0xaa},
2023 {0x00, 0x90, 0x00, 0xaa}, {0x00, 0x91, 0x00, 0xaa}, 2059 {0x00, 0x3c, 0x78, 0xaa},
2024 {0x00, 0x96, 0x00, 0xaa}, {0x00, 0x9a, 0x80, 0xaa}, 2060 {0x00, 0x4d, 0x40, 0xaa},
2025 {0x00, 0xb0, 0x84, 0xaa}, {0x00, 0xb1, 0x0c, 0xaa}, 2061 {0x00, 0x4e, 0x20, 0xaa},
2026 {0x00, 0xb2, 0x0e, 0xaa}, {0x00, 0xb3, 0x82, 0xaa}, 2062 {0x00, 0x74, 0x19, 0xaa},
2027 {0x00, 0xb8, 0x0a, 0xaa}, {0x00, 0x43, 0x14, 0xaa}, 2063 {0x00, 0x8d, 0x4f, 0xaa},
2028 {0x00, 0x44, 0xf0, 0xaa}, {0x00, 0x45, 0x45, 0xaa}, 2064 {0x00, 0x8e, 0x00, 0xaa},
2029 {0x00, 0x46, 0x63, 0xaa}, {0x00, 0x47, 0x2d, 0xaa}, 2065 {0x00, 0x8f, 0x00, 0xaa},
2030 {0x00, 0x48, 0x46, 0xaa}, {0x00, 0x59, 0x88, 0xaa}, 2066 {0x00, 0x90, 0x00, 0xaa},
2031 {0x00, 0x5a, 0xa0, 0xaa}, {0x00, 0x5b, 0xc6, 0xaa}, 2067 {0x00, 0x91, 0x00, 0xaa},
2032 {0x00, 0x5c, 0x7d, 0xaa}, {0x00, 0x5d, 0x5f, 0xaa}, 2068 {0x00, 0x96, 0x00, 0xaa},
2033 {0x00, 0x5e, 0x19, 0xaa}, {0x00, 0x6c, 0x0a, 0xaa}, 2069 {0x00, 0x9a, 0x80, 0xaa},
2034 {0x00, 0x6d, 0x55, 0xaa}, {0x00, 0x6e, 0x11, 0xaa}, 2070 {0x00, 0xb0, 0x84, 0xaa},
2035 {0x00, 0x6f, 0x9e, 0xaa}, {0x00, 0x69, 0x00, 0xaa}, 2071 {0x00, 0xb1, 0x0c, 0xaa},
2036 {0x00, 0x6a, 0x40, 0xaa}, {0x00, 0x01, 0x40, 0xaa}, 2072 {0x00, 0xb2, 0x0e, 0xaa},
2037 {0x00, 0x02, 0x40, 0xaa}, {0x00, 0x13, 0xe7, 0xaa}, 2073 {0x00, 0xb3, 0x82, 0xaa},
2038 {0x00, 0x5f, 0xf0, 0xaa}, {0x00, 0x60, 0xf0, 0xaa}, 2074 {0x00, 0xb8, 0x0a, 0xaa},
2039 {0x00, 0x61, 0xf0, 0xaa}, {0x00, 0x27, 0xa0, 0xaa}, 2075 {0x00, 0x43, 0x14, 0xaa},
2040 {0x00, 0x28, 0x80, 0xaa}, {0x00, 0x2c, 0x90, 0xaa}, 2076 {0x00, 0x44, 0xf0, 0xaa},
2041 {0x00, 0x4f, 0x66, 0xaa}, {0x00, 0x50, 0x66, 0xaa}, 2077 {0x00, 0x45, 0x45, 0xaa},
2042 {0x00, 0x51, 0x00, 0xaa}, {0x00, 0x52, 0x22, 0xaa}, 2078 {0x00, 0x46, 0x63, 0xaa},
2043 {0x00, 0x53, 0x5e, 0xaa}, {0x00, 0x54, 0x80, 0xaa}, 2079 {0x00, 0x47, 0x2d, 0xaa},
2044 {0x00, 0x58, 0x9e, 0xaa}, {0x00, 0x41, 0x08, 0xaa}, 2080 {0x00, 0x48, 0x46, 0xaa},
2045 {0x00, 0x3f, 0x00, 0xaa}, {0x00, 0x75, 0x85, 0xaa}, 2081 {0x00, 0x59, 0x88, 0xaa},
2046 {0x00, 0x76, 0xe1, 0xaa}, {0x00, 0x4c, 0x00, 0xaa}, 2082 {0x00, 0x5a, 0xa0, 0xaa},
2047 {0x00, 0x77, 0x0a, 0xaa}, {0x00, 0x3d, 0x88, 0xaa}, 2083 {0x00, 0x5b, 0xc6, 0xaa},
2048 {0x00, 0x4b, 0x09, 0xaa}, {0x00, 0xc9, 0x60, 0xaa}, 2084 {0x00, 0x5c, 0x7d, 0xaa},
2049 {0x00, 0x41, 0x38, 0xaa}, {0x00, 0x62, 0x30, 0xaa}, 2085 {0x00, 0x5d, 0x5f, 0xaa},
2050 {0x00, 0x63, 0x30, 0xaa}, {0x00, 0x64, 0x08, 0xaa}, 2086 {0x00, 0x5e, 0x19, 0xaa},
2051 {0x00, 0x94, 0x07, 0xaa}, {0x00, 0x95, 0x0b, 0xaa}, 2087 {0x00, 0x6c, 0x0a, 0xaa},
2052 {0x00, 0x65, 0x00, 0xaa}, {0x00, 0x66, 0x05, 0xaa}, 2088 {0x00, 0x6d, 0x55, 0xaa},
2053 {0x00, 0x56, 0x50, 0xaa}, {0x00, 0x34, 0x11, 0xaa}, 2089 {0x00, 0x6e, 0x11, 0xaa},
2054 {0x00, 0xa4, 0x88, 0xaa}, {0x00, 0x96, 0x00, 0xaa}, 2090 {0x00, 0x6f, 0x9e, 0xaa},
2055 {0x00, 0x97, 0x30, 0xaa}, {0x00, 0x98, 0x20, 0xaa}, 2091 {0x00, 0x69, 0x00, 0xaa},
2056 {0x00, 0x99, 0x30, 0xaa}, {0x00, 0x9a, 0x84, 0xaa}, 2092 {0x00, 0x6a, 0x40, 0xaa},
2057 {0x00, 0x9b, 0x29, 0xaa}, {0x00, 0x9c, 0x03, 0xaa}, 2093 {0x00, 0x01, 0x40, 0xaa},
2058 {0x00, 0x78, 0x04, 0xaa}, {0x00, 0x79, 0x01, 0xaa}, 2094 {0x00, 0x02, 0x40, 0xaa},
2059 {0x00, 0xc8, 0xf0, 0xaa}, {0x00, 0x79, 0x0f, 0xaa}, 2095 {0x00, 0x13, 0xe7, 0xaa},
2060 {0x00, 0xc8, 0x00, 0xaa}, {0x00, 0x79, 0x10, 0xaa}, 2096 {0x00, 0x5f, 0xf0, 0xaa},
2061 {0x00, 0xc8, 0x7e, 0xaa}, {0x00, 0x79, 0x0a, 0xaa}, 2097 {0x00, 0x60, 0xf0, 0xaa},
2062 {0x00, 0xc8, 0x80, 0xaa}, {0x00, 0x79, 0x0b, 0xaa}, 2098 {0x00, 0x61, 0xf0, 0xaa},
2063 {0x00, 0xc8, 0x01, 0xaa}, {0x00, 0x79, 0x0c, 0xaa}, 2099 {0x00, 0x27, 0xa0, 0xaa},
2064 {0x00, 0xc8, 0x0f, 0xaa}, {0x00, 0x79, 0x0d, 0xaa}, 2100 {0x00, 0x28, 0x80, 0xaa},
2065 {0x00, 0xc8, 0x20, 0xaa}, {0x00, 0x79, 0x09, 0xaa}, 2101 {0x00, 0x2c, 0x90, 0xaa},
2066 {0x00, 0xc8, 0x80, 0xaa}, {0x00, 0x79, 0x02, 0xaa}, 2102 {0x00, 0x4f, 0x66, 0xaa},
2067 {0x00, 0xc8, 0xc0, 0xaa}, {0x00, 0x79, 0x03, 0xaa}, 2103 {0x00, 0x50, 0x66, 0xaa},
2068 {0x00, 0xc8, 0x40, 0xaa}, {0x00, 0x79, 0x05, 0xaa}, 2104 {0x00, 0x51, 0x00, 0xaa},
2069 {0x00, 0xc8, 0x30, 0xaa}, {0x00, 0x79, 0x26, 0xaa}, 2105 {0x00, 0x52, 0x22, 0xaa},
2070 {0x00, 0x11, 0x40, 0xaa}, {0x00, 0x3a, 0x04, 0xaa}, 2106 {0x00, 0x53, 0x5e, 0xaa},
2071 {0x00, 0x12, 0x00, 0xaa}, {0x00, 0x40, 0xc0, 0xaa}, 2107 {0x00, 0x54, 0x80, 0xaa},
2072 {0x00, 0x8c, 0x00, 0xaa}, {0x00, 0x17, 0x14, 0xaa}, 2108 {0x00, 0x58, 0x9e, 0xaa},
2073 {0x00, 0x18, 0x02, 0xaa}, {0x00, 0x32, 0x92, 0xaa}, 2109 {0x00, 0x41, 0x08, 0xaa},
2074 {0x00, 0x19, 0x02, 0xaa}, {0x00, 0x1a, 0x7a, 0xaa}, 2110 {0x00, 0x3f, 0x00, 0xaa},
2075 {0x00, 0x03, 0x0a, 0xaa}, {0x00, 0x0c, 0x00, 0xaa}, 2111 {0x00, 0x75, 0x85, 0xaa},
2076 {0x00, 0x3e, 0x00, 0xaa}, {0x00, 0x70, 0x3a, 0xaa}, 2112 {0x00, 0x76, 0xe1, 0xaa},
2077 {0x00, 0x71, 0x35, 0xaa}, {0x00, 0x72, 0x11, 0xaa}, 2113 {0x00, 0x4c, 0x00, 0xaa},
2078 {0x00, 0x73, 0xf0, 0xaa}, {0x00, 0xa2, 0x02, 0xaa}, 2114 {0x00, 0x77, 0x0a, 0xaa},
2079 {0x00, 0xb1, 0x00, 0xaa}, {0x00, 0xb1, 0x0c, 0xaa}, 2115 {0x00, 0x3d, 0x88, 0xaa},
2116 {0x00, 0x4b, 0x09, 0xaa},
2117 {0x00, 0xc9, 0x60, 0xaa},
2118 {0x00, 0x41, 0x38, 0xaa},
2119 {0x00, 0x62, 0x30, 0xaa},
2120 {0x00, 0x63, 0x30, 0xaa},
2121 {0x00, 0x64, 0x08, 0xaa},
2122 {0x00, 0x94, 0x07, 0xaa},
2123 {0x00, 0x95, 0x0b, 0xaa},
2124 {0x00, 0x65, 0x00, 0xaa},
2125 {0x00, 0x66, 0x05, 0xaa},
2126 {0x00, 0x56, 0x50, 0xaa},
2127 {0x00, 0x34, 0x11, 0xaa},
2128 {0x00, 0xa4, 0x88, 0xaa},
2129 {0x00, 0x96, 0x00, 0xaa},
2130 {0x00, 0x97, 0x30, 0xaa},
2131 {0x00, 0x98, 0x20, 0xaa},
2132 {0x00, 0x99, 0x30, 0xaa},
2133 {0x00, 0x9a, 0x84, 0xaa},
2134 {0x00, 0x9b, 0x29, 0xaa},
2135 {0x00, 0x9c, 0x03, 0xaa},
2136 {0x00, 0x78, 0x04, 0xaa},
2137 {0x00, 0x79, 0x01, 0xaa},
2138 {0x00, 0xc8, 0xf0, 0xaa},
2139 {0x00, 0x79, 0x0f, 0xaa},
2140 {0x00, 0xc8, 0x00, 0xaa},
2141 {0x00, 0x79, 0x10, 0xaa},
2142 {0x00, 0xc8, 0x7e, 0xaa},
2143 {0x00, 0x79, 0x0a, 0xaa},
2144 {0x00, 0xc8, 0x80, 0xaa},
2145 {0x00, 0x79, 0x0b, 0xaa},
2146 {0x00, 0xc8, 0x01, 0xaa},
2147 {0x00, 0x79, 0x0c, 0xaa},
2148 {0x00, 0xc8, 0x0f, 0xaa},
2149 {0x00, 0x79, 0x0d, 0xaa},
2150 {0x00, 0xc8, 0x20, 0xaa},
2151 {0x00, 0x79, 0x09, 0xaa},
2152 {0x00, 0xc8, 0x80, 0xaa},
2153 {0x00, 0x79, 0x02, 0xaa},
2154 {0x00, 0xc8, 0xc0, 0xaa},
2155 {0x00, 0x79, 0x03, 0xaa},
2156 {0x00, 0xc8, 0x40, 0xaa},
2157 {0x00, 0x79, 0x05, 0xaa},
2158 {0x00, 0xc8, 0x30, 0xaa},
2159 {0x00, 0x79, 0x26, 0xaa},
2160 {0x00, 0x11, 0x40, 0xaa},
2161 {0x00, 0x3a, 0x04, 0xaa},
2162 {0x00, 0x12, 0x00, 0xaa},
2163 {0x00, 0x40, 0xc0, 0xaa},
2164 {0x00, 0x8c, 0x00, 0xaa},
2165 {0x00, 0x17, 0x14, 0xaa},
2166 {0x00, 0x18, 0x02, 0xaa},
2167 {0x00, 0x32, 0x92, 0xaa},
2168 {0x00, 0x19, 0x02, 0xaa},
2169 {0x00, 0x1a, 0x7a, 0xaa},
2170 {0x00, 0x03, 0x0a, 0xaa},
2171 {0x00, 0x0c, 0x00, 0xaa},
2172 {0x00, 0x3e, 0x00, 0xaa},
2173 {0x00, 0x70, 0x3a, 0xaa},
2174 {0x00, 0x71, 0x35, 0xaa},
2175 {0x00, 0x72, 0x11, 0xaa},
2176 {0x00, 0x73, 0xf0, 0xaa},
2177 {0x00, 0xa2, 0x02, 0xaa},
2178 {0x00, 0xb1, 0x00, 0xaa},
2179 {0x00, 0xb1, 0x0c, 0xaa},
2080 {0x00, 0x1e, 0x37, 0xaa}, /* MVFP */ 2180 {0x00, 0x1e, 0x37, 0xaa}, /* MVFP */
2081 {0x00, 0xaa, 0x14, 0xaa}, 2181 {0x00, 0xaa, 0x14, 0xaa},
2082 {0x00, 0x24, 0x80, 0xaa}, {0x00, 0x25, 0x74, 0xaa}, 2182 {0x00, 0x24, 0x80, 0xaa},
2083 {0x00, 0x26, 0xd3, 0xaa}, {0x00, 0x0d, 0x00, 0xaa}, 2183 {0x00, 0x25, 0x74, 0xaa},
2084 {0x00, 0x14, 0x18, 0xaa}, {0x00, 0x9d, 0x99, 0xaa}, 2184 {0x00, 0x26, 0xd3, 0xaa},
2085 {0x00, 0x9e, 0x7f, 0xaa}, {0x00, 0x64, 0x08, 0xaa}, 2185 {0x00, 0x0d, 0x00, 0xaa},
2086 {0x00, 0x94, 0x07, 0xaa}, {0x00, 0x95, 0x06, 0xaa}, 2186 {0x00, 0x14, 0x18, 0xaa},
2087 {0x00, 0x66, 0x05, 0xaa}, {0x00, 0x41, 0x08, 0xaa}, 2187 {0x00, 0x9d, 0x99, 0xaa},
2088 {0x00, 0x3f, 0x00, 0xaa}, {0x00, 0x75, 0x07, 0xaa}, 2188 {0x00, 0x9e, 0x7f, 0xaa},
2089 {0x00, 0x76, 0xe1, 0xaa}, {0x00, 0x4c, 0x00, 0xaa}, 2189 {0x00, 0x64, 0x08, 0xaa},
2090 {0x00, 0x77, 0x00, 0xaa}, {0x00, 0x3d, 0xc2, 0xaa}, 2190 {0x00, 0x94, 0x07, 0xaa},
2091 {0x00, 0x4b, 0x09, 0xaa}, {0x00, 0xc9, 0x60, 0xaa}, 2191 {0x00, 0x95, 0x06, 0xaa},
2092 {0x00, 0x41, 0x38, 0xaa}, {0xb6, 0x00, 0x00, 0xcc}, 2192 {0x00, 0x66, 0x05, 0xaa},
2093 {0xb6, 0x03, 0x02, 0xcc}, {0xb6, 0x02, 0x80, 0xcc}, 2193 {0x00, 0x41, 0x08, 0xaa},
2094 {0xb6, 0x05, 0x01, 0xcc}, {0xb6, 0x04, 0xe0, 0xcc}, 2194 {0x00, 0x3f, 0x00, 0xaa},
2095 {0xb6, 0x12, 0xf8, 0xcc}, {0xb6, 0x13, 0x13, 0xcc}, 2195 {0x00, 0x75, 0x07, 0xaa},
2096 {0xb6, 0x18, 0x02, 0xcc}, {0xb6, 0x17, 0x58, 0xcc}, 2196 {0x00, 0x76, 0xe1, 0xaa},
2097 {0xb6, 0x16, 0x00, 0xcc}, {0xb6, 0x22, 0x12, 0xcc}, 2197 {0x00, 0x4c, 0x00, 0xaa},
2098 {0xb6, 0x23, 0x0b, 0xcc}, {0xbf, 0xc0, 0x39, 0xcc}, 2198 {0x00, 0x77, 0x00, 0xaa},
2099 {0xbf, 0xc1, 0x04, 0xcc}, {0xbf, 0xcc, 0x00, 0xcc}, 2199 {0x00, 0x3d, 0xc2, 0xaa},
2100 {0xb3, 0x5c, 0x01, 0xcc}, {0xb3, 0x01, 0x45, 0xcc}, 2200 {0x00, 0x4b, 0x09, 0xaa},
2201 {0x00, 0xc9, 0x60, 0xaa},
2202 {0x00, 0x41, 0x38, 0xaa},
2203 {0xbf, 0xc0, 0x26, 0xcc},
2204 {0xbf, 0xc1, 0x02, 0xcc},
2205 {0xbf, 0xcc, 0x04, 0xcc},
2206 {0xb3, 0x5c, 0x01, 0xcc},
2207 {0xb3, 0x01, 0x45, 0xcc},
2101 {0x00, 0x77, 0x05, 0xaa}, 2208 {0x00, 0x77, 0x05, 0xaa},
2102 {}, 2209 {},
2103}; 2210};
2104 2211
2105static const u8 ov7670_initQVGA_JPG[][4] = { 2212static const u8 ov7670_InitQVGA[][4] = {
2106 {0xb3, 0x01, 0x05, 0xcc}, {0x00, 0x00, 0x30, 0xdd}, 2213 {0xb3, 0x01, 0x05, 0xcc},
2107 {0xb0, 0x03, 0x19, 0xcc}, {0x00, 0x00, 0x10, 0xdd}, 2214 {0x00, 0x00, 0x30, 0xdd},
2108 {0xb0, 0x04, 0x02, 0xcc}, {0x00, 0x00, 0x10, 0xdd}, 2215 {0xb0, 0x03, 0x19, 0xcc},
2109 {0xb3, 0x00, 0x66, 0xcc}, {0xb3, 0x00, 0x67, 0xcc}, 2216 {0x00, 0x00, 0x10, 0xdd},
2110 {0xb3, 0x35, 0xa1, 0xcc}, {0xb3, 0x34, 0x01, 0xcc}, 2217 {0xb0, 0x04, 0x02, 0xcc},
2111 {0xb3, 0x05, 0x01, 0xcc}, {0xb3, 0x06, 0x01, 0xcc}, 2218 {0x00, 0x00, 0x10, 0xdd},
2112 {0xb3, 0x08, 0x01, 0xcc}, {0xb3, 0x09, 0x0c, 0xcc}, 2219 {0xb3, 0x00, 0x66, 0xcc},
2113 {0xb3, 0x02, 0x02, 0xcc}, {0xb3, 0x03, 0x1f, 0xcc}, 2220 {0xb3, 0x00, 0x67, 0xcc},
2114 {0xb3, 0x14, 0x00, 0xcc}, {0xb3, 0x15, 0x00, 0xcc}, 2221 {0xb0, 0x16, 0x01, 0xcc},
2115 {0xb3, 0x16, 0x02, 0xcc}, {0xb3, 0x17, 0x7f, 0xcc}, 2222 {0xb3, 0x35, 0xa1, 0xcc}, /* i2c add: 21 */
2116 {0xb3, 0x04, 0x05, 0xcc}, {0xb3, 0x20, 0x00, 0xcc}, 2223 {0xb3, 0x34, 0x01, 0xcc},
2117 {0xb3, 0x21, 0x00, 0xcc}, {0xb3, 0x22, 0x01, 0xcc}, 2224 {0xb3, 0x05, 0x01, 0xcc},
2118 {0xb3, 0x23, 0xe0, 0xcc}, {0xbc, 0x00, 0xd1, 0xcc}, 2225 {0xb3, 0x06, 0x01, 0xcc},
2119 {0xbc, 0x01, 0x01, 0xcc}, {0x00, 0x12, 0x80, 0xaa}, 2226 {0xb3, 0x08, 0x01, 0xcc},
2120 {0x00, 0x00, 0x20, 0xdd}, {0x00, 0x12, 0x00, 0xaa}, 2227 {0xb3, 0x09, 0x0c, 0xcc},
2121 {0x00, 0x11, 0x40, 0xaa}, {0x00, 0x6b, 0x0a, 0xaa}, 2228 {0xb3, 0x02, 0x02, 0xcc},
2122 {0x00, 0x3a, 0x04, 0xaa}, {0x00, 0x40, 0xc0, 0xaa}, 2229 {0xb3, 0x03, 0x1f, 0xcc},
2123 {0x00, 0x8c, 0x00, 0xaa}, {0x00, 0x7a, 0x29, 0xaa}, 2230 {0xb3, 0x14, 0x00, 0xcc},
2124 {0x00, 0x7b, 0x0e, 0xaa}, {0x00, 0x7c, 0x1a, 0xaa}, 2231 {0xb3, 0x15, 0x00, 0xcc},
2125 {0x00, 0x7d, 0x31, 0xaa}, {0x00, 0x7e, 0x53, 0xaa}, 2232 {0xb3, 0x16, 0x02, 0xcc},
2126 {0x00, 0x7f, 0x60, 0xaa}, {0x00, 0x80, 0x6b, 0xaa}, 2233 {0xb3, 0x17, 0x7f, 0xcc},
2127 {0x00, 0x81, 0x73, 0xaa}, {0x00, 0x82, 0x7b, 0xaa}, 2234 {0xb3, 0x04, 0x05, 0xcc},
2128 {0x00, 0x83, 0x82, 0xaa}, {0x00, 0x84, 0x89, 0xaa}, 2235 {0xb3, 0x20, 0x00, 0xcc},
2129 {0x00, 0x85, 0x96, 0xaa}, {0x00, 0x86, 0xa1, 0xaa}, 2236 {0xb3, 0x21, 0x00, 0xcc},
2130 {0x00, 0x87, 0xb7, 0xaa}, {0x00, 0x88, 0xcc, 0xaa}, 2237 {0xb3, 0x22, 0x01, 0xcc},
2131 {0x00, 0x89, 0xe1, 0xaa}, {0x00, 0x13, 0xe0, 0xaa}, 2238 {0xb3, 0x23, 0xe0, 0xcc},
2132 {0x00, 0x00, 0x00, 0xaa}, {0x00, 0x10, 0x00, 0xaa}, 2239 {0xbc, 0x00, 0xd1, 0xcc},
2133 {0x00, 0x0d, 0x40, 0xaa}, {0x00, 0x14, 0x28, 0xaa}, 2240 {0xbc, 0x01, 0x01, 0xcc},
2134 {0x00, 0xa5, 0x05, 0xaa}, {0x00, 0xab, 0x07, 0xaa}, 2241 {0x00, 0x12, 0x80, 0xaa},
2135 {0x00, 0x24, 0x95, 0xaa}, {0x00, 0x25, 0x33, 0xaa}, 2242 {0x00, 0x00, 0x20, 0xdd},
2136 {0x00, 0x26, 0xe3, 0xaa}, {0x00, 0x9f, 0x88, 0xaa}, 2243 {0x00, 0x12, 0x00, 0xaa},
2137 {0x00, 0xa0, 0x78, 0xaa}, {0x00, 0x55, 0x90, 0xaa}, 2244 {0x00, 0x11, 0x40, 0xaa},
2138 {0x00, 0xa1, 0x03, 0xaa}, {0x00, 0xa6, 0xe0, 0xaa}, 2245 {0x00, 0x6b, 0x0a, 0xaa},
2139 {0x00, 0xa7, 0xd8, 0xaa}, {0x00, 0xa8, 0xf0, 0xaa}, 2246 {0x00, 0x3a, 0x04, 0xaa},
2140 {0x00, 0xa9, 0x90, 0xaa}, {0x00, 0xaa, 0x14, 0xaa}, 2247 {0x00, 0x40, 0xc0, 0xaa},
2141 {0x00, 0x13, 0xe5, 0xaa}, {0x00, 0x0e, 0x61, 0xaa}, 2248 {0x00, 0x8c, 0x00, 0xaa},
2142 {0x00, 0x0f, 0x4b, 0xaa}, {0x00, 0x16, 0x02, 0xaa}, 2249 {0x00, 0x7a, 0x29, 0xaa},
2250 {0x00, 0x7b, 0x0e, 0xaa},
2251 {0x00, 0x7c, 0x1a, 0xaa},
2252 {0x00, 0x7d, 0x31, 0xaa},
2253 {0x00, 0x7e, 0x53, 0xaa},
2254 {0x00, 0x7f, 0x60, 0xaa},
2255 {0x00, 0x80, 0x6b, 0xaa},
2256 {0x00, 0x81, 0x73, 0xaa},
2257 {0x00, 0x82, 0x7b, 0xaa},
2258 {0x00, 0x83, 0x82, 0xaa},
2259 {0x00, 0x84, 0x89, 0xaa},
2260 {0x00, 0x85, 0x96, 0xaa},
2261 {0x00, 0x86, 0xa1, 0xaa},
2262 {0x00, 0x87, 0xb7, 0xaa},
2263 {0x00, 0x88, 0xcc, 0xaa},
2264 {0x00, 0x89, 0xe1, 0xaa},
2265 {0x00, 0x13, 0xe0, 0xaa},
2266 {0x00, 0x00, 0x00, 0xaa},
2267 {0x00, 0x10, 0x00, 0xaa},
2268 {0x00, 0x0d, 0x40, 0xaa},
2269 {0x00, 0x14, 0x28, 0xaa},
2270 {0x00, 0xa5, 0x05, 0xaa},
2271 {0x00, 0xab, 0x07, 0xaa},
2272 {0x00, 0x24, 0x95, 0xaa},
2273 {0x00, 0x25, 0x33, 0xaa},
2274 {0x00, 0x26, 0xe3, 0xaa},
2275 {0x00, 0x9f, 0x88, 0xaa},
2276 {0x00, 0xa0, 0x78, 0xaa},
2277 {0x00, 0x55, 0x90, 0xaa},
2278 {0x00, 0xa1, 0x03, 0xaa},
2279 {0x00, 0xa6, 0xe0, 0xaa},
2280 {0x00, 0xa7, 0xd8, 0xaa},
2281 {0x00, 0xa8, 0xf0, 0xaa},
2282 {0x00, 0xa9, 0x90, 0xaa},
2283 {0x00, 0xaa, 0x14, 0xaa},
2284 {0x00, 0x13, 0xe5, 0xaa},
2285 {0x00, 0x0e, 0x61, 0xaa},
2286 {0x00, 0x0f, 0x4b, 0xaa},
2287 {0x00, 0x16, 0x02, 0xaa},
2143 {0x00, 0x1e, 0x07, 0xaa}, /* MVFP */ 2288 {0x00, 0x1e, 0x07, 0xaa}, /* MVFP */
2144 {0x00, 0x21, 0x02, 0xaa}, 2289 {0x00, 0x21, 0x02, 0xaa},
2145 {0x00, 0x22, 0x91, 0xaa}, {0x00, 0x29, 0x07, 0xaa}, 2290 {0x00, 0x22, 0x91, 0xaa},
2146 {0x00, 0x33, 0x0b, 0xaa}, {0x00, 0x35, 0x0b, 0xaa}, 2291 {0x00, 0x29, 0x07, 0xaa},
2147 {0x00, 0x37, 0x1d, 0xaa}, {0x00, 0x38, 0x71, 0xaa}, 2292 {0x00, 0x33, 0x0b, 0xaa},
2148 {0x00, 0x39, 0x2a, 0xaa}, {0x00, 0x3c, 0x78, 0xaa}, 2293 {0x00, 0x35, 0x0b, 0xaa},
2149 {0x00, 0x4d, 0x40, 0xaa}, {0x00, 0x4e, 0x20, 0xaa}, 2294 {0x00, 0x37, 0x1d, 0xaa},
2150 {0x00, 0x74, 0x19, 0xaa}, {0x00, 0x8d, 0x4f, 0xaa}, 2295 {0x00, 0x38, 0x71, 0xaa},
2151 {0x00, 0x8e, 0x00, 0xaa}, {0x00, 0x8f, 0x00, 0xaa}, 2296 {0x00, 0x39, 0x2a, 0xaa},
2152 {0x00, 0x90, 0x00, 0xaa}, {0x00, 0x91, 0x00, 0xaa}, 2297 {0x00, 0x3c, 0x78, 0xaa},
2153 {0x00, 0x96, 0x00, 0xaa}, {0x00, 0x9a, 0x80, 0xaa}, 2298 {0x00, 0x4d, 0x40, 0xaa},
2154 {0x00, 0xb0, 0x84, 0xaa}, {0x00, 0xb1, 0x0c, 0xaa}, 2299 {0x00, 0x4e, 0x20, 0xaa},
2155 {0x00, 0xb2, 0x0e, 0xaa}, {0x00, 0xb3, 0x82, 0xaa}, 2300 {0x00, 0x74, 0x19, 0xaa},
2156 {0x00, 0xb8, 0x0a, 0xaa}, {0x00, 0x43, 0x14, 0xaa}, 2301 {0x00, 0x8d, 0x4f, 0xaa},
2157 {0x00, 0x44, 0xf0, 0xaa}, {0x00, 0x45, 0x45, 0xaa}, 2302 {0x00, 0x8e, 0x00, 0xaa},
2158 {0x00, 0x46, 0x63, 0xaa}, {0x00, 0x47, 0x2d, 0xaa}, 2303 {0x00, 0x8f, 0x00, 0xaa},
2159 {0x00, 0x48, 0x46, 0xaa}, {0x00, 0x59, 0x88, 0xaa}, 2304 {0x00, 0x90, 0x00, 0xaa},
2160 {0x00, 0x5a, 0xa0, 0xaa}, {0x00, 0x5b, 0xc6, 0xaa}, 2305 {0x00, 0x91, 0x00, 0xaa},
2161 {0x00, 0x5c, 0x7d, 0xaa}, {0x00, 0x5d, 0x5f, 0xaa}, 2306 {0x00, 0x96, 0x00, 0xaa},
2162 {0x00, 0x5e, 0x19, 0xaa}, {0x00, 0x6c, 0x0a, 0xaa}, 2307 {0x00, 0x9a, 0x80, 0xaa},
2163 {0x00, 0x6d, 0x55, 0xaa}, {0x00, 0x6e, 0x11, 0xaa}, 2308 {0x00, 0xb0, 0x84, 0xaa},
2164 {0x00, 0x6f, 0x9e, 0xaa}, {0x00, 0x69, 0x00, 0xaa}, 2309 {0x00, 0xb1, 0x0c, 0xaa},
2165 {0x00, 0x6a, 0x40, 0xaa}, {0x00, 0x01, 0x40, 0xaa}, 2310 {0x00, 0xb2, 0x0e, 0xaa},
2166 {0x00, 0x02, 0x40, 0xaa}, {0x00, 0x13, 0xe7, 0xaa}, 2311 {0x00, 0xb3, 0x82, 0xaa},
2167 {0x00, 0x5f, 0xf0, 0xaa}, {0x00, 0x60, 0xf0, 0xaa}, 2312 {0x00, 0xb8, 0x0a, 0xaa},
2168 {0x00, 0x61, 0xf0, 0xaa}, {0x00, 0x27, 0xa0, 0xaa}, 2313 {0x00, 0x43, 0x14, 0xaa},
2169 {0x00, 0x28, 0x80, 0xaa}, {0x00, 0x2c, 0x90, 0xaa}, 2314 {0x00, 0x44, 0xf0, 0xaa},
2170 {0x00, 0x4f, 0x66, 0xaa}, {0x00, 0x50, 0x66, 0xaa}, 2315 {0x00, 0x45, 0x45, 0xaa},
2171 {0x00, 0x51, 0x00, 0xaa}, {0x00, 0x52, 0x22, 0xaa}, 2316 {0x00, 0x46, 0x63, 0xaa},
2172 {0x00, 0x53, 0x5e, 0xaa}, {0x00, 0x54, 0x80, 0xaa}, 2317 {0x00, 0x47, 0x2d, 0xaa},
2173 {0x00, 0x58, 0x9e, 0xaa}, {0x00, 0x41, 0x08, 0xaa}, 2318 {0x00, 0x48, 0x46, 0xaa},
2174 {0x00, 0x3f, 0x00, 0xaa}, {0x00, 0x75, 0x85, 0xaa}, 2319 {0x00, 0x59, 0x88, 0xaa},
2175 {0x00, 0x76, 0xe1, 0xaa}, {0x00, 0x4c, 0x00, 0xaa}, 2320 {0x00, 0x5a, 0xa0, 0xaa},
2176 {0x00, 0x77, 0x0a, 0xaa}, {0x00, 0x3d, 0x88, 0xaa}, 2321 {0x00, 0x5b, 0xc6, 0xaa},
2177 {0x00, 0x4b, 0x09, 0xaa}, {0x00, 0xc9, 0x60, 0xaa}, 2322 {0x00, 0x5c, 0x7d, 0xaa},
2178 {0x00, 0x41, 0x38, 0xaa}, {0x00, 0x62, 0x30, 0xaa}, 2323 {0x00, 0x5d, 0x5f, 0xaa},
2179 {0x00, 0x63, 0x30, 0xaa}, {0x00, 0x64, 0x08, 0xaa}, 2324 {0x00, 0x5e, 0x19, 0xaa},
2180 {0x00, 0x94, 0x07, 0xaa}, {0x00, 0x95, 0x0b, 0xaa}, 2325 {0x00, 0x6c, 0x0a, 0xaa},
2181 {0x00, 0x65, 0x00, 0xaa}, {0x00, 0x66, 0x05, 0xaa}, 2326 {0x00, 0x6d, 0x55, 0xaa},
2182 {0x00, 0x56, 0x50, 0xaa}, {0x00, 0x34, 0x11, 0xaa}, 2327 {0x00, 0x6e, 0x11, 0xaa},
2183 {0x00, 0xa4, 0x88, 0xaa}, {0x00, 0x96, 0x00, 0xaa}, 2328 {0x00, 0x6f, 0x9e, 0xaa},
2184 {0x00, 0x97, 0x30, 0xaa}, {0x00, 0x98, 0x20, 0xaa}, 2329 {0x00, 0x69, 0x00, 0xaa},
2185 {0x00, 0x99, 0x30, 0xaa}, {0x00, 0x9a, 0x84, 0xaa}, 2330 {0x00, 0x6a, 0x40, 0xaa},
2186 {0x00, 0x9b, 0x29, 0xaa}, {0x00, 0x9c, 0x03, 0xaa}, 2331 {0x00, 0x01, 0x40, 0xaa},
2187 {0x00, 0x78, 0x04, 0xaa}, {0x00, 0x79, 0x01, 0xaa}, 2332 {0x00, 0x02, 0x40, 0xaa},
2188 {0x00, 0xc8, 0xf0, 0xaa}, {0x00, 0x79, 0x0f, 0xaa}, 2333 {0x00, 0x13, 0xe7, 0xaa},
2189 {0x00, 0xc8, 0x00, 0xaa}, {0x00, 0x79, 0x10, 0xaa}, 2334 {0x00, 0x5f, 0xf0, 0xaa},
2190 {0x00, 0xc8, 0x7e, 0xaa}, {0x00, 0x79, 0x0a, 0xaa}, 2335 {0x00, 0x60, 0xf0, 0xaa},
2191 {0x00, 0xc8, 0x80, 0xaa}, {0x00, 0x79, 0x0b, 0xaa}, 2336 {0x00, 0x61, 0xf0, 0xaa},
2192 {0x00, 0xc8, 0x01, 0xaa}, {0x00, 0x79, 0x0c, 0xaa}, 2337 {0x00, 0x27, 0xa0, 0xaa},
2193 {0x00, 0xc8, 0x0f, 0xaa}, {0x00, 0x79, 0x0d, 0xaa}, 2338 {0x00, 0x28, 0x80, 0xaa},
2194 {0x00, 0xc8, 0x20, 0xaa}, {0x00, 0x79, 0x09, 0xaa}, 2339 {0x00, 0x2c, 0x90, 0xaa},
2195 {0x00, 0xc8, 0x80, 0xaa}, {0x00, 0x79, 0x02, 0xaa}, 2340 {0x00, 0x4f, 0x66, 0xaa},
2196 {0x00, 0xc8, 0xc0, 0xaa}, {0x00, 0x79, 0x03, 0xaa}, 2341 {0x00, 0x50, 0x66, 0xaa},
2197 {0x00, 0xc8, 0x40, 0xaa}, {0x00, 0x79, 0x05, 0xaa}, 2342 {0x00, 0x51, 0x00, 0xaa},
2198 {0x00, 0xc8, 0x30, 0xaa}, {0x00, 0x79, 0x26, 0xaa}, 2343 {0x00, 0x52, 0x22, 0xaa},
2199 {0x00, 0x11, 0x40, 0xaa}, {0x00, 0x3a, 0x04, 0xaa}, 2344 {0x00, 0x53, 0x5e, 0xaa},
2200 {0x00, 0x12, 0x00, 0xaa}, {0x00, 0x40, 0xc0, 0xaa}, 2345 {0x00, 0x54, 0x80, 0xaa},
2201 {0x00, 0x8c, 0x00, 0xaa}, {0x00, 0x17, 0x14, 0xaa}, 2346 {0x00, 0x58, 0x9e, 0xaa},
2202 {0x00, 0x18, 0x02, 0xaa}, {0x00, 0x32, 0x92, 0xaa}, 2347 {0x00, 0x41, 0x08, 0xaa},
2203 {0x00, 0x19, 0x02, 0xaa}, {0x00, 0x1a, 0x7a, 0xaa}, 2348 {0x00, 0x3f, 0x00, 0xaa},
2204 {0x00, 0x03, 0x0a, 0xaa}, {0x00, 0x0c, 0x00, 0xaa}, 2349 {0x00, 0x75, 0x85, 0xaa},
2205 {0x00, 0x3e, 0x00, 0xaa}, {0x00, 0x70, 0x3a, 0xaa}, 2350 {0x00, 0x76, 0xe1, 0xaa},
2206 {0x00, 0x71, 0x35, 0xaa}, {0x00, 0x72, 0x11, 0xaa}, 2351 {0x00, 0x4c, 0x00, 0xaa},
2207 {0x00, 0x73, 0xf0, 0xaa}, {0x00, 0xa2, 0x02, 0xaa}, 2352 {0x00, 0x77, 0x0a, 0xaa},
2208 {0x00, 0xb1, 0x00, 0xaa}, {0x00, 0xb1, 0x0c, 0xaa}, 2353 {0x00, 0x3d, 0x88, 0xaa},
2354 {0x00, 0x4b, 0x09, 0xaa},
2355 {0x00, 0xc9, 0x60, 0xaa},
2356 {0x00, 0x41, 0x38, 0xaa},
2357 {0x00, 0x62, 0x30, 0xaa},
2358 {0x00, 0x63, 0x30, 0xaa},
2359 {0x00, 0x64, 0x08, 0xaa},
2360 {0x00, 0x94, 0x07, 0xaa},
2361 {0x00, 0x95, 0x0b, 0xaa},
2362 {0x00, 0x65, 0x00, 0xaa},
2363 {0x00, 0x66, 0x05, 0xaa},
2364 {0x00, 0x56, 0x50, 0xaa},
2365 {0x00, 0x34, 0x11, 0xaa},
2366 {0x00, 0xa4, 0x88, 0xaa},
2367 {0x00, 0x96, 0x00, 0xaa},
2368 {0x00, 0x97, 0x30, 0xaa},
2369 {0x00, 0x98, 0x20, 0xaa},
2370 {0x00, 0x99, 0x30, 0xaa},
2371 {0x00, 0x9a, 0x84, 0xaa},
2372 {0x00, 0x9b, 0x29, 0xaa},
2373 {0x00, 0x9c, 0x03, 0xaa},
2374 {0x00, 0x78, 0x04, 0xaa},
2375 {0x00, 0x79, 0x01, 0xaa},
2376 {0x00, 0xc8, 0xf0, 0xaa},
2377 {0x00, 0x79, 0x0f, 0xaa},
2378 {0x00, 0xc8, 0x00, 0xaa},
2379 {0x00, 0x79, 0x10, 0xaa},
2380 {0x00, 0xc8, 0x7e, 0xaa},
2381 {0x00, 0x79, 0x0a, 0xaa},
2382 {0x00, 0xc8, 0x80, 0xaa},
2383 {0x00, 0x79, 0x0b, 0xaa},
2384 {0x00, 0xc8, 0x01, 0xaa},
2385 {0x00, 0x79, 0x0c, 0xaa},
2386 {0x00, 0xc8, 0x0f, 0xaa},
2387 {0x00, 0x79, 0x0d, 0xaa},
2388 {0x00, 0xc8, 0x20, 0xaa},
2389 {0x00, 0x79, 0x09, 0xaa},
2390 {0x00, 0xc8, 0x80, 0xaa},
2391 {0x00, 0x79, 0x02, 0xaa},
2392 {0x00, 0xc8, 0xc0, 0xaa},
2393 {0x00, 0x79, 0x03, 0xaa},
2394 {0x00, 0xc8, 0x40, 0xaa},
2395 {0x00, 0x79, 0x05, 0xaa},
2396 {0x00, 0xc8, 0x30, 0xaa},
2397 {0x00, 0x79, 0x26, 0xaa},
2398 {0x00, 0x11, 0x40, 0xaa},
2399 {0x00, 0x3a, 0x04, 0xaa},
2400 {0x00, 0x12, 0x00, 0xaa},
2401 {0x00, 0x40, 0xc0, 0xaa},
2402 {0x00, 0x8c, 0x00, 0xaa},
2403 {0x00, 0x17, 0x14, 0xaa},
2404 {0x00, 0x18, 0x02, 0xaa},
2405 {0x00, 0x32, 0x92, 0xaa},
2406 {0x00, 0x19, 0x02, 0xaa},
2407 {0x00, 0x1a, 0x7a, 0xaa},
2408 {0x00, 0x03, 0x0a, 0xaa},
2409 {0x00, 0x0c, 0x00, 0xaa},
2410 {0x00, 0x3e, 0x00, 0xaa},
2411 {0x00, 0x70, 0x3a, 0xaa},
2412 {0x00, 0x71, 0x35, 0xaa},
2413 {0x00, 0x72, 0x11, 0xaa},
2414 {0x00, 0x73, 0xf0, 0xaa},
2415 {0x00, 0xa2, 0x02, 0xaa},
2416 {0x00, 0xb1, 0x00, 0xaa},
2417 {0x00, 0xb1, 0x0c, 0xaa},
2209 {0x00, 0x1e, 0x37, 0xaa}, /* MVFP */ 2418 {0x00, 0x1e, 0x37, 0xaa}, /* MVFP */
2210 {0x00, 0xaa, 0x14, 0xaa}, 2419 {0x00, 0xaa, 0x14, 0xaa},
2211 {0x00, 0x24, 0x80, 0xaa}, {0x00, 0x25, 0x74, 0xaa}, 2420 {0x00, 0x24, 0x80, 0xaa},
2212 {0x00, 0x26, 0xd3, 0xaa}, {0x00, 0x0d, 0x00, 0xaa}, 2421 {0x00, 0x25, 0x74, 0xaa},
2213 {0x00, 0x14, 0x18, 0xaa}, {0x00, 0x9d, 0x99, 0xaa}, 2422 {0x00, 0x26, 0xd3, 0xaa},
2214 {0x00, 0x9e, 0x7f, 0xaa}, {0x00, 0x64, 0x08, 0xaa}, 2423 {0x00, 0x0d, 0x00, 0xaa},
2215 {0x00, 0x94, 0x07, 0xaa}, {0x00, 0x95, 0x06, 0xaa}, 2424 {0x00, 0x14, 0x18, 0xaa},
2216 {0x00, 0x66, 0x05, 0xaa}, {0x00, 0x41, 0x08, 0xaa}, 2425 {0x00, 0x9d, 0x99, 0xaa},
2217 {0x00, 0x3f, 0x00, 0xaa}, {0x00, 0x75, 0x07, 0xaa}, 2426 {0x00, 0x9e, 0x7f, 0xaa},
2218 {0x00, 0x76, 0xe1, 0xaa}, {0x00, 0x4c, 0x00, 0xaa}, 2427 {0x00, 0x64, 0x08, 0xaa},
2219 {0x00, 0x77, 0x00, 0xaa}, {0x00, 0x3d, 0xc2, 0xaa}, 2428 {0x00, 0x94, 0x07, 0xaa},
2220 {0x00, 0x4b, 0x09, 0xaa}, {0x00, 0xc9, 0x60, 0xaa}, 2429 {0x00, 0x95, 0x06, 0xaa},
2221 {0x00, 0x41, 0x38, 0xaa}, {0xb6, 0x00, 0x00, 0xcc}, 2430 {0x00, 0x66, 0x05, 0xaa},
2222 {0xb6, 0x03, 0x01, 0xcc}, {0xb6, 0x02, 0x40, 0xcc}, 2431 {0x00, 0x41, 0x08, 0xaa},
2223 {0xb6, 0x05, 0x00, 0xcc}, {0xb6, 0x04, 0xf0, 0xcc}, 2432 {0x00, 0x3f, 0x00, 0xaa},
2224 {0xb6, 0x12, 0xf8, 0xcc}, {0xb6, 0x13, 0x21, 0xcc}, 2433 {0x00, 0x75, 0x07, 0xaa},
2225 {0xb6, 0x18, 0x00, 0xcc}, {0xb6, 0x17, 0x96, 0xcc}, 2434 {0x00, 0x76, 0xe1, 0xaa},
2226 {0xb6, 0x16, 0x00, 0xcc}, {0xb6, 0x22, 0x12, 0xcc}, 2435 {0x00, 0x4c, 0x00, 0xaa},
2227 {0xb6, 0x23, 0x0b, 0xcc}, {0xbf, 0xc0, 0x39, 0xcc}, 2436 {0x00, 0x77, 0x00, 0xaa},
2228 {0xbf, 0xc1, 0x04, 0xcc}, {0xbf, 0xcc, 0x00, 0xcc}, 2437 {0x00, 0x3d, 0xc2, 0xaa},
2229 {0xbc, 0x02, 0x18, 0xcc}, {0xbc, 0x03, 0x50, 0xcc}, 2438 {0x00, 0x4b, 0x09, 0xaa},
2230 {0xbc, 0x04, 0x18, 0xcc}, {0xbc, 0x05, 0x00, 0xcc}, 2439 {0x00, 0xc9, 0x60, 0xaa},
2231 {0xbc, 0x06, 0x00, 0xcc}, {0xbc, 0x08, 0x30, 0xcc}, 2440 {0x00, 0x41, 0x38, 0xaa},
2232 {0xbc, 0x09, 0x40, 0xcc}, {0xbc, 0x0a, 0x10, 0xcc}, 2441 {0xbc, 0x02, 0x18, 0xcc},
2233 {0xbc, 0x0b, 0x00, 0xcc}, {0xbc, 0x0c, 0x00, 0xcc}, 2442 {0xbc, 0x03, 0x50, 0xcc},
2234 {0xb3, 0x5c, 0x01, 0xcc}, {0xb3, 0x01, 0x45, 0xcc}, 2443 {0xbc, 0x04, 0x18, 0xcc},
2235 {0x00, 0x77, 0x05, 0xaa }, 2444 {0xbc, 0x05, 0x00, 0xcc},
2445 {0xbc, 0x06, 0x00, 0xcc},
2446 {0xbc, 0x08, 0x30, 0xcc},
2447 {0xbc, 0x09, 0x40, 0xcc},
2448 {0xbc, 0x0a, 0x10, 0xcc},
2449 {0xbc, 0x0b, 0x00, 0xcc},
2450 {0xbc, 0x0c, 0x00, 0xcc},
2451 {0xbf, 0xc0, 0x26, 0xcc},
2452 {0xbf, 0xc1, 0x02, 0xcc},
2453 {0xbf, 0xcc, 0x04, 0xcc},
2454 {0xb3, 0x5c, 0x01, 0xcc},
2455 {0xb3, 0x01, 0x45, 0xcc},
2456 {0x00, 0x77, 0x05, 0xaa},
2236 {}, 2457 {},
2237}; 2458};
2238 2459
@@ -3117,6 +3338,10 @@ static int sd_config(struct gspca_dev *gspca_dev,
3117 cam->cam_mode = bi_mode; 3338 cam->cam_mode = bi_mode;
3118 cam->nmodes = ARRAY_SIZE(bi_mode); 3339 cam->nmodes = ARRAY_SIZE(bi_mode);
3119 break; 3340 break;
3341 case SENSOR_OV7670:
3342 cam->cam_mode = bi_mode;
3343 cam->nmodes = ARRAY_SIZE(bi_mode) - 1;
3344 break;
3120 default: 3345 default:
3121 cam->cam_mode = vc0323_mode; 3346 cam->cam_mode = vc0323_mode;
3122 cam->nmodes = ARRAY_SIZE(vc0323_mode) - 1; 3347 cam->nmodes = ARRAY_SIZE(vc0323_mode) - 1;
@@ -3329,14 +3554,6 @@ static int sd_start(struct gspca_dev *gspca_dev)
3329 else 3554 else
3330 init = ov7660_initVGA_data; /* 640x480 */ 3555 init = ov7660_initVGA_data; /* 640x480 */
3331 break; 3556 break;
3332 case SENSOR_OV7670:
3333 /*GammaT = ov7660_gamma; */
3334 /*MatrixT = ov7660_matrix; */
3335 if (mode)
3336 init = ov7670_initQVGA_JPG; /* 320x240 */
3337 else
3338 init = ov7670_initVGA_JPG; /* 640x480 */
3339 break;
3340 case SENSOR_MI0360: 3557 case SENSOR_MI0360:
3341 GammaT = mi1320_gamma; 3558 GammaT = mi1320_gamma;
3342 MatrixT = mi0360_matrix; 3559 MatrixT = mi0360_matrix;
@@ -3373,6 +3590,9 @@ static int sd_start(struct gspca_dev *gspca_dev)
3373 MatrixT = mi1320_matrix; 3590 MatrixT = mi1320_matrix;
3374 init = mi1320_soc_init[mode]; 3591 init = mi1320_soc_init[mode];
3375 break; 3592 break;
3593 case SENSOR_OV7670:
3594 init = mode == 1 ? ov7670_InitVGA : ov7670_InitQVGA;
3595 break;
3376 case SENSOR_PO3130NC: 3596 case SENSOR_PO3130NC:
3377 GammaT = po3130_gamma; 3597 GammaT = po3130_gamma;
3378 MatrixT = po3130_matrix; 3598 MatrixT = po3130_matrix;
@@ -3426,7 +3646,13 @@ static int sd_start(struct gspca_dev *gspca_dev)
3426 sethvflip(gspca_dev); 3646 sethvflip(gspca_dev);
3427 setlightfreq(gspca_dev); 3647 setlightfreq(gspca_dev);
3428 } 3648 }
3429 if (sd->sensor == SENSOR_POxxxx) { 3649 switch (sd->sensor) {
3650 case SENSOR_OV7670:
3651 reg_w(gspca_dev->dev, 0x87, 0xffff, 0xffff);
3652 reg_w(gspca_dev->dev, 0x88, 0xff00, 0xf0f1);
3653 reg_w(gspca_dev->dev, 0xa0, 0x0000, 0xbfff);
3654 break;
3655 case SENSOR_POxxxx:
3430 setcolors(gspca_dev); 3656 setcolors(gspca_dev);
3431 setbrightness(gspca_dev); 3657 setbrightness(gspca_dev);
3432 setcontrast(gspca_dev); 3658 setcontrast(gspca_dev);
@@ -3435,6 +3661,7 @@ static int sd_start(struct gspca_dev *gspca_dev)
3435 msleep(80); 3661 msleep(80);
3436 reg_w(gspca_dev->dev, 0x89, 0xffff, 0xfdff); 3662 reg_w(gspca_dev->dev, 0x89, 0xffff, 0xfdff);
3437 usb_exchange(gspca_dev, poxxxx_init_end_2); 3663 usb_exchange(gspca_dev, poxxxx_init_end_2);
3664 break;
3438 } 3665 }
3439 return 0; 3666 return 0;
3440} 3667}