📄 spca508_init.h
字号:
/* * SPCA508 chip based cameras initialization data * */#ifndef SPCA508_INIT_H#define SPCA508_INIT_H/* Frame packet header offsets for the spca508 */#define SPCA508_OFFSET_TYPE 1#define SPCA508_OFFSET_COMPRESS 2#define SPCA508_OFFSET_FRAMSEQ 8#define SPCA508_OFFSET_WIN1LUM 11#define SPCA508_OFFSET_DATA 37#define SPCA508_SNAPBIT 0x20#define SPCA508_SNAPCTRL 0x40/*************** I2c ****************/#define SPCA508_INDEX_I2C_BASE 0x8800/* Initialization data: this is the first set-up data written to the device (before the open data). */static __u16 spca508_init_data[][3]=#define IGN(x) /* nothing */{ /* line URB req, value, index */ /* 22 1 */ /* READ { 0, 0x0 IGN(URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:), 0x00 } -> 0000: 12 01 10 01 00 00 00 08 33 07 10 01 00 00 01 02 0010: 00 01 */ /* 44 2 */ /* READ { 0, 0x0 IGN(URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:), 0x00 } -> 0000: 09 02 89 00 01 01 00 80 32 09 04 00 00 01 ff 00 0010: 00 00 07 05 81 01 00 00 01 09 04 00 01 01 ff 00 0020: 00 00 07 05 81 01 80 00 01 09 04 00 02 01 ff 00 0030: 00 00 07 05 81 01 80 01 01 09 04 00 03 01 ff 00 */ /* 68 3 */ /* READ { 0, 0x0 IGN(URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:), 0x00 } -> 0000: 09 02 89 00 01 01 00 80 32 09 04 00 00 01 ff 00 0010: 00 00 07 05 81 01 00 00 01 09 04 00 01 01 ff 00 0020: 00 00 07 05 81 01 80 00 01 09 04 00 02 01 ff 00 0030: 00 00 07 05 81 01 80 01 01 09 04 00 03 01 ff 00 0040: 00 00 07 05 81 01 00 02 01 09 04 00 04 01 ff 00 0050: 00 00 07 05 81 01 80 02 01 09 04 00 05 01 ff 00 0060: 00 00 07 05 81 01 00 03 01 09 04 00 06 01 ff 00 0070: 00 00 07 05 81 01 80 03 01 09 04 00 07 01 ff 00 0080: 00 00 07 05 81 01 ff 03 01 */ /* 104 4 */ /* UNKNOWN DIRECTION (URB_FUNCTION_SELECT_CONFIGURATION:)*/ /* 44274 1804 */ { 0, 0x0000, 0x870b }, // /* 44299 1805 */ { 0, 0x0020, 0x8112 }, // Video drop enable, ISO streaming disable /* 44324 1806 */ { 0, 0x0003, 0x8111 }, // Reset compression & memory /* 44349 1807 */ { 0, 0x0000, 0x8110 }, // Disable all outputs /* 44372 1808 */ /* READ { 0, 0x0000, 0x8114 } -> 0000: 00 */ /* 44398 1809 */ { 0, 0x0000, 0x8114 }, // SW GPIO data /* 44423 1810 */ { 0, 0x0008, 0x8110 }, // Enable charge pump output /* 44527 1811 */ { 0, 0x0002, 0x8116 }, // 200 kHz pump clock /* 44555 1812 */ /* UNKNOWN DIRECTION (URB_FUNCTION_SELECT_INTERFACE:)*/ /* 44590 1813 */ { 0, 0x0003, 0x8111 }, // Reset compression & memory /* 44615 1814 */ { 0, 0x0000, 0x8111 }, // Normal mode (not reset) /* 44640 1815 */ { 0, 0x0098, 0x8110 }, // Enable charge pump output, sync.serial,external 2x clock /* 44665 1816 */ { 0, 0x000d, 0x8114 }, // SW GPIO data /* 44690 1817 */ { 0, 0x0002, 0x8116 }, // 200 kHz pump clock /* 44715 1818 */ { 0, 0x0020, 0x8112 }, // Video drop enable, ISO streaming disable // --------------------------------------- /* 44740 1819 */ { 0, 0x000f, 0x8402 }, // memory bank /* 44765 1820 */ { 0, 0x0000, 0x8403 }, // ... address // --------------------------------------- // 0x88__ is Synchronous Serial Interface. // TBD: This table could be expressed more compactly // using spca508_write_i2c_vector(). // TBD: Should see if the values in spca50x_i2c_data // would work with the VQ110 instead of the values // below. /* 44790 1821 */ { 0, 0x00c0, 0x8804 }, // SSI slave addr /* 44815 1822 */ { 0, 0x0008, 0x8802 }, // 375 Khz SSI clock /* 44838 1823 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 44862 1824 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 44888 1825 */ { 0, 0x0008, 0x8802 }, // 375 Khz SSI clock /* 44913 1826 */ { 0, 0x0012, 0x8801 }, // SSI reg addr /* 44938 1827 */ { 0, 0x0080, 0x8800 }, // SSI data to write /* 44961 1828 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 44985 1829 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 45009 1830 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 45035 1831 */ { 0, 0x0008, 0x8802 }, // 375 Khz SSI clock /* 45060 1832 */ { 0, 0x0012, 0x8801 }, // SSI reg addr /* 45085 1833 */ { 0, 0x0000, 0x8800 }, // SSI data to write /* 45108 1834 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 45132 1835 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 45156 1836 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 45182 1837 */ { 0, 0x0008, 0x8802 }, // 375 Khz SSI clock /* 45207 1838 */ { 0, 0x0011, 0x8801 }, // SSI reg addr /* 45232 1839 */ { 0, 0x0040, 0x8800 }, // SSI data to write /* 45255 1840 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 45279 1841 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 45303 1842 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 45329 1843 */ { 0, 0x0008, 0x8802 }, /* 45354 1844 */ { 0, 0x0013, 0x8801 }, /* 45379 1845 */ { 0, 0x0000, 0x8800 }, /* 45402 1846 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 45426 1847 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 45450 1848 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 45476 1849 */ { 0, 0x0008, 0x8802 }, /* 45501 1850 */ { 0, 0x0014, 0x8801 }, /* 45526 1851 */ { 0, 0x0000, 0x8800 }, /* 45549 1852 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 45573 1853 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 45597 1854 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 45623 1855 */ { 0, 0x0008, 0x8802 }, /* 45648 1856 */ { 0, 0x0015, 0x8801 }, /* 45673 1857 */ { 0, 0x0001, 0x8800 }, /* 45696 1858 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 45720 1859 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 45744 1860 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 45770 1861 */ { 0, 0x0008, 0x8802 }, /* 45795 1862 */ { 0, 0x0016, 0x8801 }, /* 45820 1863 */ { 0, 0x0003, 0x8800 }, /* 45843 1864 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 45867 1865 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 45891 1866 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 45917 1867 */ { 0, 0x0008, 0x8802 }, /* 45942 1868 */ { 0, 0x0017, 0x8801 }, /* 45967 1869 */ { 0, 0x0036, 0x8800 }, /* 45990 1870 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 46014 1871 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 46038 1872 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 46064 1873 */ { 0, 0x0008, 0x8802 }, /* 46089 1874 */ { 0, 0x0018, 0x8801 }, /* 46114 1875 */ { 0, 0x00ec, 0x8800 }, /* 46137 1876 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 46161 1877 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 46185 1878 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 46211 1879 */ { 0, 0x0008, 0x8802 }, /* 46236 1880 */ { 0, 0x001a, 0x8801 }, /* 46261 1881 */ { 0, 0x0094, 0x8800 }, /* 46284 1882 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 46308 1883 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 46332 1884 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 46358 1885 */ { 0, 0x0008, 0x8802 }, /* 46383 1886 */ { 0, 0x001b, 0x8801 }, /* 46408 1887 */ { 0, 0x0000, 0x8800 }, /* 46431 1888 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 46455 1889 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 46479 1890 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 46505 1891 */ { 0, 0x0008, 0x8802 }, /* 46530 1892 */ { 0, 0x0027, 0x8801 }, /* 46555 1893 */ { 0, 0x00a2, 0x8800 }, /* 46578 1894 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 46602 1895 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 46626 1896 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 46652 1897 */ { 0, 0x0008, 0x8802 }, /* 46677 1898 */ { 0, 0x0028, 0x8801 }, /* 46702 1899 */ { 0, 0x0040, 0x8800 }, /* 46725 1900 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 46749 1901 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 46773 1902 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 46799 1903 */ { 0, 0x0008, 0x8802 }, /* 46824 1904 */ { 0, 0x002a, 0x8801 }, /* 46849 1905 */ { 0, 0x0084, 0x8800 }, /* 46872 1906 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 46896 1907 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 46920 1908 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 46946 1909 */ { 0, 0x0008, 0x8802 }, /* 46971 1910 */ { 0, 0x002b, 0x8801 }, /* 46996 1911 */ { 0, 0x00a8, 0x8800 }, /* 47019 1912 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 47043 1913 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 47067 1914 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 47093 1915 */ { 0, 0x0008, 0x8802 }, /* 47118 1916 */ { 0, 0x002c, 0x8801 }, /* 47143 1917 */ { 0, 0x00fe, 0x8800 }, /* 47166 1918 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 47190 1919 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 47214 1920 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 47240 1921 */ { 0, 0x0008, 0x8802 }, /* 47265 1922 */ { 0, 0x002d, 0x8801 }, /* 47290 1923 */ { 0, 0x0003, 0x8800 }, /* 47313 1924 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 47337 1925 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 47361 1926 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 47387 1927 */ { 0, 0x0008, 0x8802 }, /* 47412 1928 */ { 0, 0x0038, 0x8801 }, /* 47437 1929 */ { 0, 0x0083, 0x8800 }, /* 47460 1930 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 47484 1931 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 47508 1932 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 47534 1933 */ { 0, 0x0008, 0x8802 }, /* 47559 1934 */ { 0, 0x0033, 0x8801 }, /* 47584 1935 */ { 0, 0x0081, 0x8800 }, /* 47607 1936 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 47631 1937 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 47655 1938 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 47681 1939 */ { 0, 0x0008, 0x8802 }, /* 47706 1940 */ { 0, 0x0034, 0x8801 }, /* 47731 1941 */ { 0, 0x004a, 0x8800 }, /* 47754 1942 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 47778 1943 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 47802 1944 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 47828 1945 */ { 0, 0x0008, 0x8802 }, /* 47853 1946 */ { 0, 0x0039, 0x8801 }, /* 47878 1947 */ { 0, 0x0000, 0x8800 }, /* 47901 1948 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 47925 1949 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 47949 1950 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 47975 1951 */ { 0, 0x0008, 0x8802 }, /* 48000 1952 */ { 0, 0x0010, 0x8801 }, /* 48025 1953 */ { 0, 0x00a8, 0x8800 }, /* 48048 1954 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 48072 1955 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 48096 1956 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 48122 1957 */ { 0, 0x0008, 0x8802 }, /* 48147 1958 */ { 0, 0x0006, 0x8801 }, /* 48172 1959 */ { 0, 0x0058, 0x8800 }, /* 48195 1960 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 48219 1961 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 48243 1962 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 48269 1963 */ { 0, 0x0008, 0x8802 }, /* 48294 1964 */ { 0, 0x0000, 0x8801 }, /* 48319 1965 */ { 0, 0x0004, 0x8800 }, /* 48342 1966 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 48366 1967 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 48390 1968 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 48416 1969 */ { 0, 0x0008, 0x8802 }, /* 48441 1970 */ { 0, 0x0040, 0x8801 }, /* 48466 1971 */ { 0, 0x0080, 0x8800 }, /* 48489 1972 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 48513 1973 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 48537 1974 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 48563 1975 */ { 0, 0x0008, 0x8802 }, /* 48588 1976 */ { 0, 0x0041, 0x8801 }, /* 48613 1977 */ { 0, 0x000c, 0x8800 }, /* 48636 1978 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 48660 1979 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 48684 1980 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 48710 1981 */ { 0, 0x0008, 0x8802 }, /* 48735 1982 */ { 0, 0x0042, 0x8801 }, /* 48760 1983 */ { 0, 0x000c, 0x8800 }, /* 48783 1984 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 48807 1985 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 48831 1986 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 48857 1987 */ { 0, 0x0008, 0x8802 }, /* 48882 1988 */ { 0, 0x0043, 0x8801 }, /* 48907 1989 */ { 0, 0x0028, 0x8800 }, /* 48930 1990 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 48954 1991 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 48978 1992 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 49004 1993 */ { 0, 0x0008, 0x8802 }, /* 49029 1994 */ { 0, 0x0044, 0x8801 }, /* 49054 1995 */ { 0, 0x0080, 0x8800 }, /* 49077 1996 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 49101 1997 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 49125 1998 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 49151 1999 */ { 0, 0x0008, 0x8802 }, /* 49176 2000 */ { 0, 0x0045, 0x8801 }, /* 49201 2001 */ { 0, 0x0020, 0x8800 }, /* 49224 2002 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 49248 2003 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 49272 2004 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 49298 2005 */ { 0, 0x0008, 0x8802 }, /* 49323 2006 */ { 0, 0x0046, 0x8801 }, /* 49348 2007 */ { 0, 0x0020, 0x8800 }, /* 49371 2008 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 49395 2009 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 49419 2010 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 49445 2011 */ { 0, 0x0008, 0x8802 }, /* 49470 2012 */ { 0, 0x0047, 0x8801 }, /* 49495 2013 */ { 0, 0x0080, 0x8800 }, /* 49518 2014 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 49542 2015 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 49566 2016 */ /* READ { 0, 0x0001, 0x8802 } -> 0000: 08 */ /* 49592 2017 */ { 0, 0x0008, 0x8802 }, /* 49617 2018 */ { 0, 0x0048, 0x8801 }, /* 49642 2019 */ { 0, 0x004c, 0x8800 }, /* 49665 2020 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 49689 2021 */ /* READ { 0, 0x0001, 0x8803 } -> 0000: 00 */ /* 49713 2022 */ /* READ { 0, 0x0001, 0x8802 } ->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -