ov1063x_regs.h 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703
  1. /*
  2. * OmniVision OV1063X Camera Driver
  3. *
  4. * Copyright (C) 2015 Texas Instruments Inc.
  5. *
  6. * This program is free software; you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License version 2 as
  8. * published by the Free Software Foundation.
  9. *
  10. */
  11. struct ov1063x_reg {
  12. u16 reg;
  13. u8 val;
  14. };
  15. static const struct ov1063x_reg ov1063x_regs_default[] = {
  16. /* Register configuration for full resolution : 1280x720 */
  17. {0x103, 0x1}, /** Software Reset */
  18. {0x301b, 0xff}, /** System Control Clock Reset #1 */
  19. {0x301c, 0xff}, /** System Control Clock Reset #2 */
  20. {0x301a, 0xff}, /** System Control Clock Reset #0 */
  21. {0x300c, 0x61}, /** Serial Camera Control Bus ID */
  22. {0x300c, 0x61},
  23. {0x300c, 0x61},
  24. {0x300c, 0x61},
  25. {0x300c, 0x61},
  26. {0x300c, 0x61},
  27. {0x300c, 0x61},
  28. {0x300c, 0x61},
  29. {0x300c, 0x61},
  30. {0x300c, 0x61},
  31. {0x300c, 0x61},
  32. {0x300c, 0x61},
  33. {0x300c, 0x61},
  34. {0x300c, 0x61},
  35. {0x300c, 0x61},
  36. {0x300c, 0x61},
  37. {0x300c, 0x61},
  38. {0x300c, 0x61},
  39. {0x300c, 0x61},
  40. {0x300c, 0x61},
  41. {0x300c, 0x61},
  42. {0x300c, 0x61},
  43. {0x300c, 0x61},
  44. {0x3021, 0x3}, /** System Control Misc */
  45. {0x3011, 0x2},
  46. {0x6900, 0xc},
  47. {0x6901, 0x1},
  48. {0x3033, 0x8}, /** System clock/4 */
  49. {0x3503, 0x10}, /** AEC Delay enabled */
  50. {0x302d, 0x2f}, /** Power Down Control */
  51. {0x3025, 0x3}, /** Debug Control enabled */
  52. /*
  53. * FPS is computed as:
  54. * XVCLK = 9MHz
  55. * preDivide = {/1,/1.5,/2,/3,/4,/5,/6,/7}
  56. * decided based on (0x3004[6:4].
  57. * numerator = (0x3003[5:0] * XVCLK)/preDivide)
  58. * denominator = (2 * (1+0x3004[2:0]))
  59. * FPS = numerator/denominator.
  60. */
  61. /* {0x3003, 0x1B}, */ /* fps = 30fps. */
  62. /* {0x3004, 0x03}, */
  63. {0x3003, 0x20}, /* fps = 15fps. */
  64. {0x3004, 0x3},
  65. {0x3005, 0x20},
  66. {0x3006, 0x91},
  67. {0x3600, 0x74},
  68. {0x3601, 0x2b},
  69. {0x3612, 0x0},
  70. {0x3611, 0x67},
  71. {0x3633, 0xba},
  72. {0x3602, 0x2f},
  73. {0x3603, 0x0},
  74. {0x3630, 0xa8},
  75. {0x3631, 0x16},
  76. {0x3714, 0x10},
  77. {0x371d, 0x1},
  78. {0x4300, 0x3A}, /* UYVY mode */
  79. {0x3007, 0x1},
  80. /*
  81. * RAW mode and Pixel CLK selct.
  82. * 0x3024[0] = 1 :: System CLK (0x3003,0x3004)
  83. * 0x3024[0] = 0 :: secondary CLK (0x3005,0x3006)
  84. */
  85. {0x3024, 0x1},
  86. {0x3020, 0xb},
  87. {0x3702, 0xd},
  88. {0x3703, 0x20},
  89. {0x3704, 0x15},
  90. {0x3709, 0x28},
  91. {0x370d, 0x0},
  92. {0x3712, 0x0},
  93. {0x3713, 0x20},
  94. {0x3715, 0x4},
  95. {0x381d, 0x40},
  96. {0x381c, 0x0},
  97. {0x3824, 0x10},
  98. {0x3815, 0x8c},
  99. {0x3804, 0x5},
  100. {0x3805, 0x1f},
  101. {0x3800, 0x0},
  102. {0x3801, 0x0},
  103. {0x3806, 0x3},
  104. {0x3807, 0x1},
  105. {0x3802, 0x0},
  106. {0x3803, 0x2e},
  107. {0x3808, 0x5},
  108. {0x3809, 0x0},
  109. {0x380a, 0x2},
  110. {0x380b, 0xd0},
  111. {0x380c, 0x6},
  112. {0x380d, 0xf6}, /* 1280x720 */
  113. {0x380e, 0x2},
  114. {0x380f, 0xec}, /* 1280x720 */
  115. {0x3811, 0x8},
  116. {0x381f, 0xc},
  117. {0x3621, 0x63},
  118. {0x5005, 0x8},
  119. {0x56d5, 0x0},
  120. {0x56d6, 0x80},
  121. {0x56d7, 0x0},
  122. {0x56d8, 0x0},
  123. {0x56d9, 0x0},
  124. {0x56da, 0x80},
  125. {0x56db, 0x0},
  126. {0x56dc, 0x0},
  127. {0x56e8, 0x0},
  128. {0x56e9, 0x7f},
  129. {0x56ea, 0x0},
  130. {0x56eb, 0x7f},
  131. {0x5100, 0x0},
  132. {0x5101, 0x80},
  133. {0x5102, 0x0},
  134. {0x5103, 0x80},
  135. {0x5104, 0x0},
  136. {0x5105, 0x80},
  137. {0x5106, 0x0},
  138. {0x5107, 0x80},
  139. {0x5108, 0x0},
  140. {0x5109, 0x0},
  141. {0x510a, 0x0},
  142. {0x510b, 0x0},
  143. {0x510c, 0x0},
  144. {0x510d, 0x0},
  145. {0x510e, 0x0},
  146. {0x510f, 0x0},
  147. {0x5110, 0x0},
  148. {0x5111, 0x80},
  149. {0x5112, 0x0},
  150. {0x5113, 0x80},
  151. {0x5114, 0x0},
  152. {0x5115, 0x80},
  153. {0x5116, 0x0},
  154. {0x5117, 0x80},
  155. {0x5118, 0x0},
  156. {0x5119, 0x0},
  157. {0x511a, 0x0},
  158. {0x511b, 0x0},
  159. {0x511c, 0x0},
  160. {0x511d, 0x0},
  161. {0x511e, 0x0},
  162. {0x511f, 0x0},
  163. {0x56d0, 0x0},
  164. {0x5006, 0x24},
  165. {0x5608, 0x0},
  166. {0x52d7, 0x6},
  167. {0x528d, 0x8},
  168. {0x5293, 0x12},
  169. {0x52d3, 0x12},
  170. {0x5288, 0x6},
  171. {0x5289, 0x20},
  172. {0x52c8, 0x6},
  173. {0x52c9, 0x20},
  174. {0x52cd, 0x4},
  175. {0x5381, 0x0},
  176. {0x5382, 0xff},
  177. {0x5589, 0x76},
  178. {0x558a, 0x47},
  179. {0x558b, 0xef},
  180. {0x558c, 0xc9},
  181. {0x558d, 0x49},
  182. {0x558e, 0x30},
  183. {0x558f, 0x67},
  184. {0x5590, 0x3f},
  185. {0x5591, 0xf0},
  186. {0x5592, 0x10},
  187. {0x55a2, 0x6d},
  188. {0x55a3, 0x55},
  189. {0x55a4, 0xc3},
  190. {0x55a5, 0xb5},
  191. {0x55a6, 0x43},
  192. {0x55a7, 0x38},
  193. {0x55a8, 0x5f},
  194. {0x55a9, 0x4b},
  195. {0x55aa, 0xf0},
  196. {0x55ab, 0x10},
  197. {0x5581, 0x52},
  198. {0x5300, 0x1},
  199. {0x5301, 0x0},
  200. {0x5302, 0x0},
  201. {0x5303, 0xe},
  202. {0x5304, 0x0},
  203. {0x5305, 0xe},
  204. {0x5306, 0x0},
  205. {0x5307, 0x36},
  206. {0x5308, 0x0},
  207. {0x5309, 0xd9},
  208. {0x530a, 0x0},
  209. {0x530b, 0xf},
  210. {0x530c, 0x0},
  211. {0x530d, 0x2c},
  212. {0x530e, 0x0},
  213. {0x530f, 0x59},
  214. {0x5310, 0x0},
  215. {0x5311, 0x7b},
  216. {0x5312, 0x0},
  217. {0x5313, 0x22},
  218. {0x5314, 0x0},
  219. {0x5315, 0xd5},
  220. {0x5316, 0x0},
  221. {0x5317, 0x13},
  222. {0x5318, 0x0},
  223. {0x5319, 0x18},
  224. {0x531a, 0x0},
  225. {0x531b, 0x26},
  226. {0x531c, 0x0},
  227. {0x531d, 0xdc},
  228. {0x531e, 0x0},
  229. {0x531f, 0x2},
  230. {0x5320, 0x0},
  231. {0x5321, 0x24},
  232. {0x5322, 0x0},
  233. {0x5323, 0x56},
  234. {0x5324, 0x0},
  235. {0x5325, 0x85},
  236. {0x5326, 0x0},
  237. {0x5327, 0x20},
  238. {0x5609, 0x1},
  239. {0x560a, 0x40},
  240. {0x560b, 0x1},
  241. {0x560c, 0x40},
  242. {0x560d, 0x0},
  243. {0x560e, 0xfa},
  244. {0x560f, 0x0},
  245. {0x5610, 0xfa},
  246. {0x5611, 0x2},
  247. {0x5612, 0x80},
  248. {0x5613, 0x2},
  249. {0x5614, 0x80},
  250. {0x5615, 0x1},
  251. {0x5616, 0x2c},
  252. {0x5617, 0x1},
  253. {0x5618, 0x2c},
  254. {0x563b, 0x1},
  255. {0x563c, 0x1},
  256. {0x563d, 0x1},
  257. {0x563e, 0x1},
  258. {0x563f, 0x3},
  259. {0x5640, 0x3},
  260. {0x5641, 0x3},
  261. {0x5642, 0x5},
  262. {0x5643, 0x9},
  263. {0x5644, 0x5},
  264. {0x5645, 0x5},
  265. {0x5646, 0x5},
  266. {0x5647, 0x5},
  267. {0x5651, 0x0},
  268. {0x5652, 0x80},
  269. {0x521a, 0x1},
  270. {0x521b, 0x3},
  271. {0x521c, 0x6},
  272. {0x521d, 0xa},
  273. {0x521e, 0xe},
  274. {0x521f, 0x12},
  275. {0x5220, 0x16},
  276. {0x5223, 0x2},
  277. {0x5225, 0x4},
  278. {0x5227, 0x8},
  279. {0x5229, 0xc},
  280. {0x522b, 0x12},
  281. {0x522d, 0x18},
  282. {0x522f, 0x1e},
  283. {0x5241, 0x4},
  284. {0x5242, 0x1},
  285. {0x5243, 0x3},
  286. {0x5244, 0x6},
  287. {0x5245, 0xa},
  288. {0x5246, 0xe},
  289. {0x5247, 0x12},
  290. {0x5248, 0x16},
  291. {0x524a, 0x3},
  292. {0x524c, 0x4},
  293. {0x524e, 0x8},
  294. {0x5250, 0xc},
  295. {0x5252, 0x12},
  296. {0x5254, 0x18},
  297. {0x5256, 0x1e},
  298. {0x4605, 0x00}, /* 8-bit YUV mode. */
  299. {0x4606, 0x7},
  300. {0x4607, 0x71},
  301. {0x460a, 0x2},
  302. {0x460b, 0x70},
  303. {0x460c, 0x0},
  304. {0x4620, 0xe},
  305. {0x4700, 0x4},
  306. {0x4701, 0x01},
  307. /* {0x4702, 0x1}, */
  308. {0x4702, 0x00}, /* 01 */
  309. {0x4703, 0x00},
  310. {0x4704, 0x00}, /* 01 */
  311. /*
  312. * Non-overlapping HSYNC-VSYNC.
  313. * Therefore do not set the VSYNC delay registers.
  314. */
  315. {0x4705, 0x00}, /* Vsync delay high byte */
  316. {0x4706, 0x00}, /* Vsync delay middle byte */
  317. {0x4707, 0x00}, /* Vsync delay low byte{0x4708, 0x1}, */
  318. /* {0x4709, 0x50}, */
  319. {0x4004, 0x8},
  320. {0x4005, 0x18},
  321. {0x4001, 0x4},
  322. {0x4050, 0x20},
  323. {0x4051, 0x22},
  324. {0x4057, 0x9c},
  325. {0x405a, 0x0},
  326. {0x4202, 0x2},
  327. {0x3023, 0x10},
  328. {0x100, 0x1},
  329. {0x100, 0x1},
  330. {0x6f0e, 0x0},
  331. {0x6f0f, 0x0},
  332. {0x460e, 0x8},
  333. {0x460f, 0x1},
  334. {0x4610, 0x0},
  335. {0x4611, 0x1},
  336. {0x4612, 0x0},
  337. {0x4613, 0x1},
  338. {0x4605, 0x00},
  339. {0x4608, 0x0},
  340. {0x4609, 0x8},
  341. {0x6804, 0x0},
  342. {0x6805, 0x6},
  343. {0x6806, 0x0},
  344. {0x5120, 0x0},
  345. {0x3510, 0x0},
  346. {0x3504, 0x0},
  347. {0x6800, 0x0},
  348. {0x6f0d, 0x0},
  349. {0x5000, 0xff},
  350. {0x5001, 0xbf},
  351. {0x5002, 0xfe},
  352. {0x503d, 0x0},
  353. /* {0x503e, 0x00}, */
  354. {0xc450, 0x1},
  355. {0xc452, 0x4},
  356. {0xc453, 0x0},
  357. {0xc454, 0x0},
  358. {0xc455, 0x0},
  359. {0xc456, 0x0},
  360. {0xc457, 0x0},
  361. {0xc458, 0x0},
  362. {0xc459, 0x0},
  363. {0xc45b, 0x0},
  364. {0xc45c, 0x0},
  365. {0xc45d, 0x0},
  366. {0xc45e, 0x0},
  367. {0xc45f, 0x0},
  368. {0xc460, 0x0},
  369. {0xc461, 0x1},
  370. {0xc462, 0x1},
  371. {0xc464, 0x88},
  372. {0xc465, 0x0},
  373. {0xc466, 0x8a},
  374. {0xc467, 0x0},
  375. {0xc468, 0x86},
  376. {0xc469, 0x0},
  377. {0xc46a, 0x40},
  378. {0xc46b, 0x50},
  379. {0xc46c, 0x30},
  380. {0xc46d, 0x28},
  381. {0xc46e, 0x60},
  382. {0xc46f, 0x40},
  383. {0xc47c, 0x1},
  384. {0xc47d, 0x38},
  385. {0xc47e, 0x0},
  386. {0xc47f, 0x0},
  387. {0xc480, 0x0},
  388. {0xc481, 0xff},
  389. {0xc482, 0x0},
  390. {0xc483, 0x40},
  391. {0xc484, 0x0},
  392. {0xc485, 0x18},
  393. {0xc486, 0x0},
  394. {0xc487, 0x18},
  395. {0xc488, 0x2e},
  396. {0xc489, 0x80},
  397. {0xc48a, 0x2e},
  398. {0xc48b, 0x80},
  399. {0xc48c, 0x0},
  400. {0xc48d, 0x4},
  401. {0xc48e, 0x0},
  402. {0xc48f, 0x4},
  403. {0xc490, 0x7},
  404. {0xc492, 0x20},
  405. {0xc493, 0x8},
  406. {0xc498, 0x2},
  407. {0xc499, 0x0},
  408. {0xc49a, 0x2},
  409. {0xc49b, 0x0},
  410. {0xc49c, 0x2},
  411. {0xc49d, 0x0},
  412. {0xc49e, 0x2},
  413. {0xc49f, 0x60},
  414. {0xc4a0, 0x4},
  415. {0xc4a1, 0x0},
  416. {0xc4a2, 0x6},
  417. {0xc4a3, 0x0},
  418. {0xc4a4, 0x0},
  419. {0xc4a5, 0x10},
  420. {0xc4a6, 0x0},
  421. {0xc4a7, 0x40},
  422. {0xc4a8, 0x0},
  423. {0xc4a9, 0x80},
  424. {0xc4aa, 0xd},
  425. {0xc4ab, 0x0},
  426. {0xc4ac, 0xf},
  427. {0xc4ad, 0xc0},
  428. {0xc4b4, 0x1},
  429. {0xc4b5, 0x1},
  430. {0xc4b6, 0x0},
  431. {0xc4b7, 0x1},
  432. {0xc4b8, 0x0},
  433. {0xc4b9, 0x1},
  434. {0xc4ba, 0x1},
  435. {0xc4bb, 0x0},
  436. {0xc4be, 0x2},
  437. {0xc4bf, 0x33},
  438. {0xc4c8, 0x3},
  439. {0xc4c9, 0xd0},
  440. {0xc4ca, 0xe},
  441. {0xc4cb, 0x0},
  442. {0xc4cc, 0xe},
  443. {0xc4cd, 0x51},
  444. {0xc4ce, 0xe},
  445. {0xc4cf, 0x51},
  446. {0xc4d0, 0x4},
  447. {0xc4d1, 0x80},
  448. {0xc4e0, 0x4},
  449. {0xc4e1, 0x2},
  450. {0xc4e2, 0x1},
  451. {0xc4e4, 0x10},
  452. {0xc4e5, 0x20},
  453. {0xc4e6, 0x30},
  454. {0xc4e7, 0x40},
  455. {0xc4e8, 0x50},
  456. {0xc4e9, 0x60},
  457. {0xc4ea, 0x70},
  458. {0xc4eb, 0x80},
  459. {0xc4ec, 0x90},
  460. {0xc4ed, 0xa0},
  461. {0xc4ee, 0xb0},
  462. {0xc4ef, 0xc0},
  463. {0xc4f0, 0xd0},
  464. {0xc4f1, 0xe0},
  465. {0xc4f2, 0xf0},
  466. {0xc4f3, 0x80},
  467. {0xc4f4, 0x0},
  468. {0xc4f5, 0x20},
  469. {0xc4f6, 0x2},
  470. {0xc4f7, 0x0},
  471. {0xc4f8, 0x4},
  472. {0xc4f9, 0xb},
  473. {0xc4fa, 0x0},
  474. {0xc4fb, 0x1},
  475. {0xc4fc, 0x1},
  476. {0xc4fd, 0x1},
  477. {0xc4fe, 0x4},
  478. {0xc4ff, 0x2},
  479. {0xc500, 0x68},
  480. {0xc501, 0x74},
  481. {0xc502, 0x70},
  482. {0xc503, 0x80},
  483. {0xc504, 0x5},
  484. {0xc505, 0x80},
  485. {0xc506, 0x3},
  486. {0xc507, 0x80},
  487. {0xc508, 0x1},
  488. {0xc509, 0xc0},
  489. {0xc50a, 0x1},
  490. {0xc50b, 0xa0},
  491. {0xc50c, 0x1},
  492. {0xc50d, 0x2c},
  493. {0xc50e, 0x1},
  494. {0xc50f, 0xa},
  495. {0xc510, 0x0},
  496. {0xc511, 0x0},
  497. {0xc512, 0xe5},
  498. {0xc513, 0x14},
  499. {0xc514, 0x4},
  500. {0xc515, 0x0},
  501. {0xc518, 0x3},
  502. {0xc519, 0x48},
  503. {0xc51a, 0x7},
  504. {0xc51b, 0x70},
  505. {0xc2e0, 0x0},
  506. {0xc2e1, 0x51},
  507. {0xc2e2, 0x0},
  508. {0xc2e3, 0xd6},
  509. {0xc2e4, 0x1},
  510. {0xc2e5, 0x5e},
  511. {0xc2e9, 0x1},
  512. {0xc2ea, 0x7a},
  513. {0xc2eb, 0x90},
  514. {0xc2ed, 0x1},
  515. {0xc2ee, 0x7a},
  516. {0xc2ef, 0x64},
  517. {0xc308, 0x0},
  518. {0xc309, 0x0},
  519. {0xc30a, 0x0},
  520. {0xc30c, 0x0},
  521. {0xc30d, 0x1},
  522. {0xc30e, 0x0},
  523. {0xc30f, 0x0},
  524. {0xc310, 0x1},
  525. {0xc311, 0x60},
  526. {0xc312, 0xff},
  527. {0xc313, 0x8},
  528. {0xc314, 0x1},
  529. {0xc315, 0x7f},
  530. {0xc316, 0xff},
  531. {0xc317, 0xb},
  532. {0xc318, 0x0},
  533. {0xc319, 0xc},
  534. {0xc31a, 0x0},
  535. {0xc31b, 0xe0},
  536. {0xc31c, 0x0},
  537. {0xc31d, 0x14},
  538. {0xc31e, 0x0},
  539. {0xc31f, 0xc5},
  540. {0xc320, 0xff},
  541. {0xc321, 0x4b},
  542. {0xc322, 0xff},
  543. {0xc323, 0xf0},
  544. {0xc324, 0xff},
  545. {0xc325, 0xe8},
  546. {0xc326, 0x0},
  547. {0xc327, 0x46},
  548. {0xc328, 0xff},
  549. {0xc329, 0xd2},
  550. {0xc32a, 0xff},
  551. {0xc32b, 0xe4},
  552. {0xc32c, 0xff},
  553. {0xc32d, 0xbb},
  554. {0xc32e, 0x0},
  555. {0xc32f, 0x61},
  556. {0xc330, 0xff},
  557. {0xc331, 0xf9},
  558. {0xc332, 0x0},
  559. {0xc333, 0xd9},
  560. {0xc334, 0x0},
  561. {0xc335, 0x2e},
  562. {0xc336, 0x0},
  563. {0xc337, 0xb1},
  564. {0xc338, 0xff},
  565. {0xc339, 0x64},
  566. {0xc33a, 0xff},
  567. {0xc33b, 0xeb},
  568. {0xc33c, 0xff},
  569. {0xc33d, 0xe8},
  570. {0xc33e, 0x0},
  571. {0xc33f, 0x48},
  572. {0xc340, 0xff},
  573. {0xc341, 0xd0},
  574. {0xc342, 0xff},
  575. {0xc343, 0xed},
  576. {0xc344, 0xff},
  577. {0xc345, 0xad},
  578. {0xc346, 0x0},
  579. {0xc347, 0x66},
  580. {0xc348, 0x1},
  581. {0xc349, 0x0},
  582. {0x6700, 0x4},
  583. {0x6701, 0x7b},
  584. {0x6702, 0xfd},
  585. {0x6703, 0xf9},
  586. {0x6704, 0x3d},
  587. {0x6705, 0x71},
  588. /*
  589. * 0x6706[3:0] :: XVCLK
  590. * 0x6706[3:0] :: 0 = 6MHz
  591. * 0x6706[3:0] :: 1 = 9MHz
  592. * 0x6706[3:0] :: 8 = 24MHz
  593. * 0x6706[3:0] :: 9 = 27MHz
  594. */
  595. {0x6706, 0x71},
  596. {0x6708, 0x5},
  597. {0x3822, 0x50},
  598. {0x6f06, 0x6f},
  599. {0x6f07, 0x0},
  600. {0x6f0a, 0x6f},
  601. {0x6f0b, 0x0},
  602. {0x6f00, 0x3},
  603. {0x3042, 0xf0},
  604. {0x3042, 0xf0},
  605. {0x3042, 0xf0},
  606. {0x3042, 0xf0},
  607. {0x3042, 0xf0},
  608. {0x3042, 0xf0},
  609. {0x3042, 0xf0},
  610. {0x3042, 0xf0},
  611. {0x3042, 0xf0},
  612. {0x3042, 0xf0},
  613. {0x3042, 0xf0},
  614. {0x3042, 0xf0},
  615. {0x3042, 0xf0},
  616. {0x3042, 0xf0},
  617. {0x3042, 0xf0},
  618. {0x3042, 0xf0},
  619. {0x3042, 0xf0},
  620. {0x3042, 0xf0},
  621. {0x3042, 0xf0},
  622. {0x3042, 0xf0},
  623. {0x3042, 0xf0},
  624. {0x3042, 0xf0},
  625. {0x3042, 0xf0},
  626. {0x3042, 0xf0},
  627. {0x3042, 0xf0},
  628. {0x3042, 0xf0},
  629. {0x301b, 0xf0},
  630. {0x301c, 0xf0},
  631. {0x301a, 0xf0},
  632. };
  633. static const struct ov1063x_reg ov1063x_regs_change_mode[] = {
  634. { 0x301b, 0xff }, { 0x301c, 0xff }, { 0x301a, 0xff }, { 0x5005, 0x08 },
  635. { 0x3007, 0x01 }, { 0x381c, 0x00 }, { 0x381f, 0x0C }, { 0x4001, 0x04 },
  636. { 0x4004, 0x08 }, { 0x4050, 0x20 }, { 0x4051, 0x22 }, { 0x6e47, 0x0C },
  637. { 0x4610, 0x05 }, { 0x4613, 0x10 },
  638. };
  639. static const struct ov1063x_reg ov1063x_regs_bt656[] = {
  640. { 0x4700, 0x02 }, { 0x4302, 0x03 }, { 0x4303, 0xf8 }, { 0x4304, 0x00 },
  641. { 0x4305, 0x08 }, { 0x4306, 0x03 }, { 0x4307, 0xf8 }, { 0x4308, 0x00 },
  642. { 0x4309, 0x08 },
  643. };
  644. static const struct ov1063x_reg ov1063x_regs_bt656_10bit[] = {
  645. { 0x4700, 0x02 }, { 0x4302, 0x03 }, { 0x4303, 0xfe }, { 0x4304, 0x00 },
  646. { 0x4305, 0x02 }, { 0x4306, 0x03 }, { 0x4307, 0xfe }, { 0x4308, 0x00 },
  647. { 0x4309, 0x02 },
  648. };
  649. static const struct ov1063x_reg ov1063x_regs_vert_sub_sample[] = {
  650. { 0x381f, 0x06 }, { 0x4001, 0x02 }, { 0x4004, 0x02 }, { 0x4050, 0x10 },
  651. { 0x4051, 0x11 }, { 0x6e47, 0x06 }, { 0x4610, 0x03 }, { 0x4613, 0x0a },
  652. };
  653. static const struct ov1063x_reg ov1063x_regs_enable[] = {
  654. { 0x3042, 0xf0 }, { 0x3042, 0xf0 }, { 0x3042, 0xf0 }, { 0x3042, 0xf0 },
  655. { 0x3042, 0xf0 }, { 0x3042, 0xf0 }, { 0x3042, 0xf0 }, { 0x3042, 0xf0 },
  656. { 0x3042, 0xf0 }, { 0x3042, 0xf0 }, { 0x3042, 0xf0 }, { 0x3042, 0xf0 },
  657. { 0x3042, 0xf0 }, { 0x3042, 0xf0 }, { 0x3042, 0xf0 }, { 0x3042, 0xf0 },
  658. { 0x3042, 0xf0 }, { 0x3042, 0xf0 }, { 0x3042, 0xf0 }, { 0x3042, 0xf0 },
  659. { 0x3042, 0xf0 }, { 0x3042, 0xf0 }, { 0x3042, 0xf0 }, { 0x3042, 0xf0 },
  660. { 0x3042, 0xf0 }, { 0x3042, 0xf0 }, { 0x301b, 0xf0 }, { 0x301c, 0xf0 },
  661. { 0x301a, 0xf0 },
  662. };
  663. /*
  664. * Datasheet highlight the following sequence to enable and disable
  665. * Test Pattern mode i.e. colobar
  666. */
  667. static const struct ov1063x_reg ov1063x_regs_colorbar_enable[] = {
  668. {0x5120, 0x01}, {0x56d0, 0x01}, {0x5300, 0x01}, {0x5301, 0x00},
  669. {0x5302, 0x00}, {0x5303, 0x00}, {0x5304, 0x00}, {0x5305, 0x00},
  670. {0x5306, 0x00}, {0x5307, 0x00}, {0x5308, 0x01}, {0x5309, 0x00},
  671. {0x530a, 0x00}, {0x530b, 0x00}, {0x530c, 0x00}, {0x530d, 0x00},
  672. {0x530e, 0x00}, {0x530f, 0x00}, {0x5310, 0x01}, {0x5311, 0x00},
  673. {0x5312, 0x00}, {0x5313, 0x00}, {0x5314, 0x01}, {0x5315, 0x00},
  674. {0x5316, 0x00}, {0x5317, 0x00}, {0x5318, 0x00}, {0x5319, 0x00},
  675. {0x531a, 0x00}, {0x531b, 0x00}, {0x531c, 0x01}, {0x531d, 0x00},
  676. {0x531e, 0x00}, {0x531f, 0x00}, {0x5320, 0x00}, {0x5321, 0x00},
  677. {0x5322, 0x00}, {0x5323, 0x00}, {0x5324, 0x01}, {0x5325, 0x00},
  678. {0x5326, 0x00}, {0x5327, 0x00}, {0xc2ea, 0x80}, {0xc2eb, 0x80},
  679. {0x5000, 0x79}, {0x503d, 0x80},
  680. };
  681. static const struct ov1063x_reg ov1063x_regs_colorbar_disable[] = {
  682. {0x503d, 0x00}, {0x5120, 0x00}, {0x56d0, 0x00}, {0x5300, 0x01},
  683. {0x5301, 0x00}, {0x5302, 0x00}, {0x5303, 0x0e}, {0x5304, 0x00},
  684. {0x5305, 0x0e}, {0x5306, 0x00}, {0x5307, 0x36}, {0x5308, 0x00},
  685. {0x5309, 0xd9}, {0x530a, 0x00}, {0x530b, 0x0f}, {0x530c, 0x00},
  686. {0x530d, 0x2c}, {0x530e, 0x00}, {0x530f, 0x59}, {0x5310, 0x00},
  687. {0x5311, 0x7b}, {0x5312, 0x00}, {0x5313, 0x22}, {0x5314, 0x00},
  688. {0x5315, 0xd5}, {0x5316, 0x00}, {0x5317, 0x13}, {0x5318, 0x00},
  689. {0x5319, 0x18}, {0x531a, 0x00}, {0x531b, 0x26}, {0x531c, 0x00},
  690. {0x531d, 0xdc}, {0x531e, 0x00}, {0x531f, 0x02}, {0x5320, 0x00},
  691. {0x5321, 0x24}, {0x5322, 0x00}, {0x5323, 0x56}, {0x5324, 0x00},
  692. {0x5325, 0x85}, {0x5326, 0x00}, {0x5327, 0x20}, {0xc2ea, 0x7a},
  693. {0xc2eb, 0x90}, {0x5000, 0xff},
  694. };